Цепной платеж не может быть завершен
Я хотел бы думать, что я просто упускаю что-то очевидное здесь, но я не могу получить цепочечный платеж для завершения (используяPHP SDK в песочнице). Я могу получить успешный ответ, и когда я перенаправляю пользователя в PayPal, детали транзакции отображаются нормально, но когда пользователь пытается завершить платеж, он получает страшную ошибку:
Ваш платеж не может быть завершен. Пожалуйста, вернитесь на сайт участника и попробуйте снова.
Что расстраивает, так это то, что я сбросил данные запроса, которые отправляются, и сравнил их с данными впример, приведенный в документации и подправил мою просьбу, пока они фактически не были идентичны, и до сих пор нет кубиков Я также не вижу никаких данных ни в одном из аккаунтов, чтобы указать, что платеж был предпринят, ожидался или не прошел.
Это то, что отправляется:
requestEnvelope.errorLanguage=en_US
&clientDetails.ipAddress=127.0.0.1
&clientDetails.applicationId=APP-80W284485P519543T
&actionType=PAY
&cancelUrl=http%3A%2F%2Fdomain.com%2Fpaypal%2Fcancel
¤cyCode=USD
&feesPayer=EACHRECEIVER
&memo=Test+Payment
&receiverList.receiver(0).amount=3.25
&receiverList.receiver(0).email=merchant%40domain.com
&receiverList.receiver(0).primary=1
&receiverList.receiver(1).amount=1.5
&receiverList.receiver(1).email=seller%40domain.com
&senderEmail=buyer%40domain.com
&returnUrl=http%3A%2F%2Fdomain.com%2Fpaypal%2Freturn
И ответ выглядит хорошо для меня:
PayPal\Types\AP\PayResponse Object
(
[responseEnvelope] => PayPal\Types\Common\ResponseEnvelope Object
(
[timestamp] => 2013-07-28T23:25:52.676-07:00
[ack] => Success
[correlationId] => bf1ba2c8a50d4
[build] => 6941298
)
[payKey] => AP-XXXXXXXXXXXXXXXXC
[paymentExecStatus] => CREATED
[payErrorList] =>
[paymentInfoList] =>
[sender] =>
[defaultFundingPlan] =>
[warningDataList] =>
[error] =>
)
Я также попытался установить тип действия на PAY_PRIMARY, так как я указываю основного получателя, и в любом случае это то, что мне нужно.
ОБНОВИТЬ: Поскольку я до сих пор не получил ответ на тикет, который я открыл с PayPal по этому поводу, и никто не прокомментировал этот вопрос, я провел дополнительное тестирование. Если я генерирую такой же запрос с помощью проводника API, транзакция завершается нормально. Ноточно такой же запрос не удается через API. Я проверил (скопировав и вставив сгенерированные заголовки и тело запроса), чтотолько Различия между запросом, генерируемым API Explorer и кодом SDK, заключаются в следующем:
Заголовки, созданные проводником, имеют пробел между именем и значениямиAPI Explorer не включает идентификатор приложенияМой вызов APIделает включите идентификатор приложения в заголовок и тело запросаВызов API SDK по-прежнему не работает, если я удаляю ссылку на идентификатор приложения, которая была добавлена в начале для решения этой проблемы.
Я не понимаю, почему платеж, сгенерированный SDK (который предоставляется PayPal), не завершается, но точный вызов работает нормально, когда проводник вызывает его. Любая помощь или совет будут оценены.