Я провел большую часть дня, занимаясь этой проблемой, поэтому любая помощь приветствуется.
Я использую ActiveMerchant со шлюзом active_paypal_adaptive_payment, и у меня возникают некоторые проблемы. Во-первых, у меня нет идентификатора приложения, и я не знаю, где его взять. Мне интересно, моя ли это проблема.
Моя цель — отправить деньги со счета PayPal одного пользователя на счет другого с помощью Adaptive API. Я отладил до такой степени, что я уверен, что ActiveMerchant Gateway создает правильный XML:
<?xml version="1.0" encoding="UTF-8"?>
<PayRequest>
<requestEnvelope>
<detailLevel>ReturnAll</detailLevel>
<errorLanguage>en_US</errorLanguage>
</requestEnvelope>
<actionType>PAY</actionType>
<cancelUrl>http://localhost:3000/.../</cancelUrl>
<returnUrl>http://localhost:3000/.../</returnUrl>
<ipnNotificationUrl>http://localhost:3000/.../</ipnNotificationUrl>
<currencyCode>USD</currencyCode>
<receiverList>
<receiver>
<email>[email protected]</email>
<amount>100.0</amount>
</receiver>
</receiverList>
<reverseAllParallelPaymentsOnError>false</reverseAllParallelPaymentsOnError>
</PayRequest>
PayPal отвечает:
response_rash: !ruby/hash:Hashie::Rash
response_envelope: !ruby/hash:Hashie::Rash
timestamp: '2012-05-28T15:02:43.381-07:00'
ack: Success
correlation_id: 881baf8e93444
build: '2945555'
pay_key: AP-879734246V2339109
payment_exec_status: CREATED
Затем я перенаправляю пользователя на правильную страницу PayPal. Пользователь входит в систему, просматривает свою информацию, а затем нажимает «Оплатить», и в этот момент он сталкивается с этой ошибкой:
Ваш платеж не может быть завершен. Вернитесь на участвующий веб-сайт и повторите попытку.
Я даже загрузил в промежуточную среду, чтобы увидеть, срабатывает ли IPN, но это не так, я предполагаю, что это связано с тем, что платеж никогда не был завершен. Я хотел бы видеть, что происходит на стороне PayPal, но я не думаю, что они предлагают какие-либо инструменты для этого.
Кто-нибудь видел подобную ошибку? Любые советы относительно того, куда двигаться дальше?
cancelUrl
,returnUrl
иipnNotificationUrl
должны бытьlocalhost
? Кажется, легко совершить ошибку... - person sarnold   schedule 29.05.2012