Erreurs d'adresse de livraison Paypal

12

J'essaie de tester ma boutique avec PayPal Sandbox . J'obtiens 2 erreurs différentes dans 2 situations différentes.
1. Tout fonctionne bien jusqu'à la fin de la commande dans PayPal. Ensuite, obtenez un message:

Nous sommes désolés, PayPal n'autorise pas les résidents des États-Unis à expédier des achats vers (n'importe où)

2. la deuxième situation est quand je change alors mon adresse d'expédition d'acheteur aux USA. J'obtiens l'erreur suivante, sur la première page de paypal:

Impossible de traiter le paiement. Veuillez contacter le marchand, car l'adresse de livraison fournie par le marchand n'est pas valide et le marchand a demandé que votre commande soit expédiée à cette adresse.

J'ai découvert ici que cela semble être un problème pour beaucoup. À partir d' ici, j'ai découvert qu'il y avait quelque chose à voir avec la méthode address_override et il est suggéré ici de la désactiver.
Existe-t-il un moyen de le désactiver dans Magento? Est-il sûr de l'éteindre? Pourquoi est-il là en premier lieu? ou quelles autres solutions existe-t-il? :

J'ai trouvé la méthode address_override dans magento à

\ app \ code \ core \ Mage \ Paypal \ Model \ Api \ Standard.php line: 238 $ request ['address_override'] = 1;

Changé en «0» et maintenant le sandbox paypal fonctionne. Plus d'erreurs. Mais comment puis-je faire cela sans changer les fichiers core de magento? et est-ce sûr?

ruuter
la source
1
Je voudrais signaler quelque chose de plus aux autres qui souffrent des tests Paypal. Je l'ai fait fonctionner après avoir désactivé address_override, mais j'ai ensuite été bloqué sur le statut de «Paiement Review» dans paypal. Il s'avère que vous devez avoir la même devise dans les paramètres Magento que dans le compte sandbox Paypal. Sinon, paypal ne déclenche jamais IPN pour terminer la commande.
ruuter

Réponses:

7

Vous pouvez effectuer les opérations suivantes si vous ne souhaitez pas modifier les fichiers principaux:

  1. Créez des dossiers Mage/Paypal/Model/Apisous/app/code/local/
  2. Copiez le fichier Standard.phpdepuis/app/code/core/Mage/Paypal/Model/Api
  3. Collez le fichier Standard.phpdans/app/code/local/Mage/Paypal/Model/Api
  4. Changer la ligne 238 de
$ request ['address_override'] = 1;

à

$ request ['address_override'] = 0;
Omar Faruk Sharif
la source
7

Le address_overrideparamètre est là pour définir l'adresse de livraison que votre boutique Magento envoie à Paypal comme adresse de livraison au lieu de l'adresse de livraison du client enregistrée à côté de Paypal.

Si address_overrideest défini sur 1, ce qui est le cas dans Magento, Paypal validera l'adresse de livraison. Si le paramètre est défini sur 0, il ne le serait pas. Assurez-vous donc que vous envoyez une adresse valide et bien formatée à Paypal.

J'ai rencontré ce problème en raison d'une valeur "d'état" manquante. Paypal n'accepte que les abréviations d'État telles que «CA» pour «Californie». Pour les autres pays, les états peuvent ne pas être disponibles dans votre installation Magento par défaut, par exemple pour le Mexique.

Avez-vous personnalisé des champs d'adresse de livraison lors de votre paiement?

correspond
la source
2

Découvrez ces réponses Stack Overflow:
/programming/5978153
/programming/11281543

Fondamentalement, un moyen rapide et sale consiste à copier l'intégralité du fichier dans votre app/code/local/Magemonde, mais ce serait encore mieux pour les mises à niveau si vous pouviez surcharger uniquement la seule fonction.

De plus, si ce n'est pas déjà fait, veuillez utiliser Github pour le contrôle de version. Cela m'a sauvé plus d'une fois! Vous pouvez suivre facilement toutes les modifications, même si vous êtes mauvais et que vous modifiez les fichiers principaux.

Chris K
la source
Je suis surpris qu'il n'y ait pas de meilleure façon de faire cela, sans parler de l'étrangeté de ce problème existant dans Magento en premier lieu. Il devrait y avoir une option en back-end si de telles erreurs semblent être courantes depuis un certain temps maintenant. Je suppose que je vais utiliser l'approche du fichier local sale, car écrire un nouveau module car il semble un peu trop pour le moment :) je vais creuser plus profondément ... tnx de toute façon!
ruuter
Je ne suis plus surpris par tout ce que fait Magento.
Chris K
1
cela ne semble pas prometteur: /
ruuter