Paypal Adaptive API使用令牌返回URL映射

Abd*_*mad 0 paypal paypal-sandbox paypal-ipn paypal-adaptive-payments

我一直在尝试使用Paypal Adaptive API解决以下问题.我已将Paypal Adaptive链式支付API与我的网站集成.当用户点击"pay with paypal"按钮时,需要向paypal网站付款.我的问题从这里开始

  • Paypal返回我的returnURL,但如何在返回后绑定原始付款请求.returnURL是一个HTTP GET,没有来自paypal的查询参数.
  • 如果我想使用IPN,这不允许我在本地windows webserver中测试,因为它不支持localhost或127.0.0.1.我甚至尝试让我的公众面对IP并试图将端口转发放在我的路由器中,并没有让步

现在,我希望能够在用户成功付款时将各种付款信息列入我的数据库,并且在投入生产之前我没有正确的方法在开发中进行

我很惊讶像paypal这样的十亿美元公司可以为开发人员提供这样一个无用的代码来集成

我也看看这个答案,Adaptive Payments Paypal:没有数据的返回网址?.来自paypal的人说

当用户返回returnUrl端点时,您调用PaymentDetails API并检查状态并继续.

好吧问题是拨打PaymentDetails,我需要paytoken.我怎样才能从回归中获得收益?就像现在一样,返回URL没有任何查询参数.

Pra*_*een 7

在你returnUrl刚刚追加payKey=${payKey}

例如,如果您的returnUrl是example.com/return.html?myparameter=value- 它将成为example.com/return.html?myparameter=value&payKey=${payKey}
PayPal将替换${payKey}为实际的PayKey.因为它是一个url,你需要url编码returnUrl的值 - 所以上面的url变成了example.com%2Freturn.html%3Fmyparameter%3Dvalue%26payKey%3D%24%7BpayKey%7D

这是一个示例curl命令

curl -s --insecure -H "X-Paypal-Security-Userid: XXX" -H "X-Paypal-Security-Password: XXX" -H "X-Paypal-Security-Signature: XXX" -H "X-Paypal-Request-Data-Format: NV" -H "X-Paypal-Response-Data-Format: NV" -H "X-Paypal-Application-Id: APP-80W284485P519543T" https://svcs.sandbox.paypal.com/AdaptivePayments/Pay -d "requestEnvelope.errorLanguage=en_US&clientDetails.ipAddress=127.0.0.1&clientDetails.deviceId=mydevice&clientDetails.applicationId=PreApprovalNvpDemo&cancelUrl=http%3A%2F%2Flocalhost%2Fcancel.html&currencyCode=USD&actionType=PAY&receiverList.receiver(0).email=pd_1265515509_biz@yahoo.com&&receiverList.receiver(0).amount=100.00&feesPayer=EACHRECEIVER&memo=SimplePay&returnUrl=http%3A%2F%2Flocalhost%2Freturn.html%3FpayKey%3D%24%7BpayKey%7D"
Run Code Online (Sandbox Code Playgroud)