Ошибки адреса доставки Paypal


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

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

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

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

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

Я нашел метод address_override в magento по адресу

\app\code\core\Mage\Paypal\Model\Api\Standard.php строка: 238 $запрос['адрес_перехода'] = 1;

Изменил его на '0' и теперь песочница PayPal работает. Больше никаких ошибок. Но как я могу это сделать без изменения основных файлов magento? и безопасно ли это?

Author: ruuter, 2013-03-06

3 answers

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

  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;
 7
Author: Omar Faruk Sharif, 2016-11-29 02:15:17

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

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

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

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

 7
Author: mattsches, 2013-03-21 12:03:02

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

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

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

 2
Author: Chris K, 2017-05-23 12:37:13