Paypal自适应API返回带有令牌的URL映射



我一直在尝试通过使用Paypal自适应API来解决以下问题。我已经集成了贝宝自适应链支付API与我的网站。当用户点击"用贝宝支付"按钮时,它会进入贝宝网站进行支付。我的问题从这里开始

  • Paypal返回到我的returnURL,但我如何在返回后绑定原始付款请求。returnURL是一个HTTP GET,没有来自贝宝的查询参数
  • 如果我想使用IPN,这将不允许我在本地windows Web服务器中进行测试,因为它不支持localhost或127.0.0.1。我甚至试图获得面向公众的IP,并尝试在路由器中设置端口转发,但丝毫没有改变

现在,当用户成功付款时,我想能够将各种付款信息表入我的数据库,而在投入生产之前,我没有适当的方法在开发中这样做

像贝宝这样一家价值数十亿美元的公司竟然能向开发人员提供如此无用的代码来集成,我对此感到非常惊讶

我也看到了这个答案,自适应支付贝宝:返回没有数据的url。贝宝的人说

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

问题是调用PaymentDetails,我需要paytoken。如何从returnurl获取paytoken?现在,返回URL没有任何查询参数。

returnUrl中只需附加payKey=${payKey}

例如,如果您的returnUrl是example.com/return.html?myparameter=value,它将变为example.com/return.html?myparameter=value&payKey=${payKey}
PayPal将用实际的PayKey替换${payKey}。由于这是一个url,您需要对returnUrl的值进行url编码,因此上面的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"

相关内容

  • 没有找到相关文章

最新更新