Я не мог работать над моим проектом около 1 месяца. Теперь у меня есть время, чтобы вернуться к нему. Я заметил, что paypal внесли некоторые изменения.
До моего временного выхода из этого проекта я смог отправить платежи, используя paypal api. Но теперь, когда я использую тот же код, я получаю следующее сообщение:
Не удалось выполнить вызов API предварительного одобрения. Подробное сообщение об ошибке: ресивер находится в стране, которая не включена для получения платежей. Код ошибки: 580022Error Severity: ErrorError Домен: PLATFORMError Категория: Приложение
Я в Великобритании, и мой файл paypalplaform.php совсем не изменился. Единственное, что я изменил, это атрибут api с новыми учетными данными, которые мне были предоставлены:
$PROXY_HOST = '127.0.0.1'; $PROXY_PORT = '808'; $Env = "sandbox"; $API_UserName = "new-facilitator_api-email-goes-here"; $API_Password = "password-goes-here"; $API_Signature = "sig-goes-here"; // AppID is preset for sandbox use // If your application goes live, you will be assigned a value for the live environment by PayPal as part of the live onboarding process $API_AppID = "APP-80W284485P519543T"; $API_Endpoint = ""; if ($Env == "sandbox") { $API_Endpoint = "https://svcs.sandbox.paypal.com/AdaptivePayments"; } else { $API_Endpoint = "https://svcs.paypal.com/AdaptivePayments"; }
Почему это больше не работает? Я не ошибаюсь в файле apache error.log.
Проблема заключается в использовании Sandbox AppID, который вы используете: APP-80W284485P519543T.
Мы знаем об этой проблеме и работаем над ее устранением. Я сообщу вам, как только это будет исправлено.
Тем временем вы сможете возобновить тестирование с помощью счетов в США.
Я наконец получил ответ от PayPal, который выглядит многообещающим:
Ответ через электронную почту (xxxx)
Дорогой xxxxx,
меня зовут xxxxx из Merchant Technical Services
Это известная проблема, с которой я тесно сотрудничаю с нашими инженерами,
Приносим извинения за причиненные неудобства.С уважением,
хххххх
Техническая поддержка продавца
PayPal, компания eBay