Paypal Adaptive API 返回带有 token 的 URL 映射

标签 paypal paypal-sandbox paypal-ipn paypal-adaptive-payments

我一直在尝试通过使用 Paypal Adaptive API 来解决以下问题。我已将 Paypal Adaptive 链式支付 API 与我的网站集成。当用户点击“pay with paypal”按钮时,会转到paypal网站进行支付。我的问题从这里开始

  • Paypal返回到我的returnURL,但返回后我如何绑定(bind)原始请求付款。 returnURL 是一个 HTTP GET,没有来自 paypal 的查询参数。
  • 如果我想使用 IPN,这将不允许我在本地 Windows 网络服务器中进行测试,因为它不支持本地主机或 127.0.0.1。我什至尝试获取面向公众的 IP 并尝试在我的路由器中进行端口转发,丝毫没有动摇

现在,我希望能够在用户成功付款后将各种付款信息放入我的数据库中,但我没有适当的方法在投入生产之前在开发中做到这一点

我很惊讶像 paypal 这样一家市值十亿美元的公司可以将这样无用的代码交付给开发人员进行集成

我也在看这个答案,Adaptive Payments Paypal : return url without data? . Paypal 的人说

When the user returns the returnUrl endpoint, you make a call for the PaymentDetails API and check the status and proceed.

好吧,问题是调用 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"

关于Paypal Adaptive API 返回带有 token 的 URL 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17377373/

相关文章:

php - Paypal 按钮添加到购物车

ruby - 如何生成 PayPal 请求付款并发送发票?

Paypal小额支付设置

paypal - 如何制作 Paypal 按钮字段 'Required' ?

paypal - 如何在不手动支付的情况下测试 doExpressCheckout 和 getExpressCheckoutDetails?

cakephp Paypal 组件?

javascript - 使用单页应用程序(Angular)在上下文结帐中使用 PayPal

php - PayPal 成功交易未记录在仪表板(沙盒)中

PayPal IPN 通知和成功 URL 参数

paypal - 新的 PayPal 沙盒,在沙盒 "Test Site"UI 中输入 IPN url 的位置