Вопрос

Я пытаюсь проверить свой магазин с PayPal SandboxАнкет Я получаю 2 разных ошибки в 2 разных ситуациях.
1. Все работает нормально до завершения заказа в PayPal. Затем получите сообщение:

Извините, PayPal не позволяет жителям Соединенных Штатов отправлять покупки (где угодно)

2. Вторая ситуация - это когда я затем меняю свой адрес доставки покупателя. Я получаю следующую ошибку, на первой странице в PayPal:

Невозможно обработать оплату. Пожалуйста, свяжитесь с продавцом, так как адрес доставки, предоставленный продавцом, недействителен, и торговец попросил, чтобы ваш заказ был отправлен на этот адрес.

Я узнал форму здесь, что это кажется проблемой для многих. Из здесь Я узнал, что есть какое -то отношение к address_override Метод и здесь предлагается выключить его.
Есть ли способ выключить его в Magento? Безопасно ли это отключить? Почему это на первом месте? или какие еще решения есть? :

Я нашел метод address_override в Magento в

app code core mage paypal model api standard.php строка: 238 $ request ['address_override'] = 1;

Изменил это на '0' А теперь Paypal Sandbox работает. Больше нет ошибок. Но как я могу сделать это без изменения файлов Magento Core? И это безопасно?

Это было полезно?

Решение

Вы можете сделать следующее, если не хотите менять основные файлы:

  1. Создайте папки Mage/Paypal/Model/Api под /app/code/local/
  2. Скопируйте файл Standard.php из /app/code/core/Mage/Paypal/Model/Api
  3. Вставьте файл Standard.php к /app/code/local/Mage/Paypal/Model/Api
  4. Изменить линию 238 из
$request['address_override'] = 1;

к

$request['address_override'] = 0;

Другие советы

А address_override Параметр для установки адреса доставки, который ваш магазин Magento отправляет в PayPal в качестве адреса доставки вместо адреса доставки клиента, сохраненного на стороне PayPal.

Если address_override установлен на 1, что имеет место в Magento, затем PayPal подтвердит адрес доставки. Если параметр установлен на 0, предположительно, нет. Поэтому убедитесь, что вы отправляете действительный и хорошо форматированный адрес PayPal.

Я столкнулся с этой проблемой из -за отсутствующего значения «состояния». PayPal принимает только государственные сокращения, такие как «CA» для «Калифорнии». Для других стран штаты могут быть недоступны в вашей установке Magento по умолчанию, например, для Мексики.

Вы настраивали какие -либо поля адреса доставки при оформлении заказа?

Проверьте эти ответы на переполнение стека:
https://stackoverflow.com/questions/5978153
https://stackoverflow.com/questions/11281543

По сути, быстрый и грязный способ - скопировать весь файл на ваш app/code/local/Mage Мир, но был бы еще лучше для обновлений, если бы вы могли перегрузить только одну одиночную функцию.

Кроме того, если нет, пожалуйста, используйте GitHub для контроля версий. Это спасло меня не раз! Вы можете легко отслеживать все изменения, даже если вы плохие и редактируете основные файлы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top