我一直在尝试使用Paypal Adaptive API解决以下问题。我已将Paypal Adaptive链式支付API与我的网站集成。当用户点击“pay with paypal”按钮时,需要向paypal网站付款。我的问题从这里开始
现在,我希望能够在用户成功付款时将各种付款信息列入我的数据库,并且在投入生产之前我没有正确的方法在开发中进行
我很惊讶像paypal这样的十亿美元公司可以为开发人员提供如此无用的代码来整合
我也看到了这个答案,Adaptive Payments Paypal : return url without data?。来自paypal的人说
当用户返回returnUrl端点时,您调用PaymentDetails API并检查状态并继续。
问题是拨打PaymentDetails,我需要paytoken。我怎样才能从回归中获得收益?就像现在一样,返回URL没有任何查询参数。
答案 0 :(得分: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¤cyCode=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"