Próbuję przetestować mój sklep za pomocą PayPal Sandbox . Otrzymuję 2 różne błędy w 2 różnych sytuacjach.
1. Wszystko działa dobrze, aż do sfinalizowania zamówienia w PayPal. Następnie otrzymaj wiadomość:
Przepraszamy, PayPal nie zezwala mieszkańcom Stanów Zjednoczonych na wysyłanie zakupów do (nigdzie)
2. Druga sytuacja to zmiana adresu wysyłki kupującego na US. Na pierwszej stronie w paypal pojawia się następujący błąd:
Nie można przetworzyć płatności. Skontaktuj się ze sprzedawcą, ponieważ podany przez niego adres wysyłki jest nieprawidłowy, a sprzedawca zażądał, aby Twoje zamówienie zostało wysłane na ten adres.
Dowiedziałem się tutaj , że dla wielu to problem. Od tutaj okazało się, że jest coś zrobić z address_override metody i tu proponuje, aby go wyłączyć.
Czy istnieje sposób, aby to wyłączyć w Magento? Czy można to bezpiecznie wyłączyć? Dlaczego w ogóle istnieje? lub jakie są inne rozwiązania? :
Znalazłem metodę adres_przekonania w magento pod adresem
\ app \ code \ core \ Mage \ Paypal \ Model \ Api \ Standard.php wiersz: 238 $ request ['address_override'] = 1;
Zmieniono na „0” i teraz działa piaskownica paypal. Żadnych błędów. Ale jak mogę to zrobić bez zmiany plików rdzenia Magento? i czy to jest bezpieczne?
źródło
Odpowiedzi:
Jeśli nie chcesz zmieniać podstawowych plików, możesz wykonać następujące czynności:
Mage/Paypal/Model/Api
pod/app/code/local/
Standard.php
z/app/code/core/Mage/Paypal/Model/Api
Standard.php
do/app/code/local/Mage/Paypal/Model/Api
do
źródło
Ten
address_override
parametr służy do ustawienia adresu wysyłki wysyłanego przez sklep Magento do Paypal jako adresu wysyłki zamiast adresu wysyłki klienta zapisanego po stronie Paypal.Jeśli
address_override
ustawione na1
, co ma miejsce w Magento, Paypal zweryfikuje adres wysyłki. Jeśli parametr jest ustawiony na0
, prawdopodobnie nie. Upewnij się więc, że wysyłasz prawidłowy i dobrze sformatowany adres do Paypal.Natrafiłem na ten problem z powodu braku wartości „stanu”. Paypal akceptuje tylko skróty stanowe, takie jak „CA” dla „California”. W innych krajach stany mogą być domyślnie niedostępne w instalacji Magento, np. W Meksyku.
Czy w kasie dostosowałeś jakieś pola adresu wysyłki?
źródło
Sprawdź odpowiedzi na przepełnienie stosu:
/programming/5978153
/programming/11281543
Zasadniczo szybkim i brudnym sposobem jest skopiowanie całego pliku do swojego
app/code/local/Mage
świata, ale byłoby jeszcze lepiej w przypadku aktualizacji, gdybyś mógł przeciążyć tylko jedną samotną funkcję.Jeśli nie, skorzystaj z Github do kontroli wersji. Uratowało mnie to nie raz! Możesz łatwo śledzić wszystkie zmiany, nawet jeśli jesteś zły i edytujesz podstawowe pliki.
źródło