PayKey 使用 Paypal 自适应付款的工作流程

Posted

技术标签:

【中文标题】PayKey 使用 Paypal 自适应付款的工作流程【英文标题】:Workflow with PayKey using Paypal Adaptive Payment 【发布时间】:2012-02-18 01:41:14 【问题描述】:

我正在尝试使用新的 Paypal API(自适应支付)实现支付系统。

到目前为止,我有这个工作流程:

向 Paypal 发送请求:AdaptivePayments/Pay 这会创建一个支付请求,并返回一个有效期为 3 小时的 payKey (source) 现在,我等待贝宝通过 IPN 向我发送请求。到时候,我会带上pay_key 使用这个pay_key,我会拨打AdaptivePayments/PaymentDetails了解支付状态。

但我想知道,如果超过 3 小时,我该怎么办? (比如退款?)

那么确定的方法是什么?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

好吧,我会在阅读后回答自己。

不要使用调用AdaptivePayments/Pay时给出的payKey,其他的解决方法是使用trackingId。

方法如下:

第一步,您创建一个AdaptivePayments/Pay 并指定一个 trackingId(必须是唯一的):


  "actionType":"PAY",
  "currencyCode":"USD",
  "receiverList":"receiver":["amount":"1.00","email":"seller_1288085303_biz@gmail.com"],
  "returnUrl":"http://apigee.com/console/-1/handlePaypalReturn",
  "cancelUrl":"http://apigee.com/console/-1/handlePaypalCancel?",
  "trackingId":"abcde-12345-unique-of-course",
  "ipnNotificationUrl":"http://apigee.com/console/-1/ipn",
  "requestEnvelope":"errorLanguage":"en_US", "detailLevel":"ReturnAll"

作为响应,您将获得将买家重定向到的 payKey,以便进行付款。

然后,在此付款的整个演变过程中,您将收到您的 IPN 网址(此处为“http://apigee.com/console/-1/ipn”)的通知。

当您在此地址收到 (POST) 请求时,请检查 paypal 的有效性,您将在参数中获得 trackingId。检查此 trackingId 是否存在,然后使用该 trackingId 询问 AdaptivePayments/PaymentDetails,如下所示:


 "trackingId":"put here",
 "requestEnvelope":"errorLanguage":"en_US", "detailLevel":"ReturnAll"

您将获得完整详细的付款状态作为回报。

现在,您可以完成更新数据库、致电买家等工作:)

对我有什么帮助:

Pay API Operation PaymentDetails API Operation IPN Variable Reference Apigee Paypal console

【讨论】:

不错的一个! Paypal 文档非常复杂,很难理解这个过程。

以上是关于PayKey 使用 Paypal 自适应付款的工作流程的主要内容,如果未能解决你的问题,请参考以下文章

在 Rails 上的 Paypal 自适应付款给了错误的成功

使用 Codeigniter 的 Paypal 拆分付款/自适应付款。如何?

付款前检查资金是不是充足(Paypal 自适应付款)

如何使用 PayPal 向商家请求和发送付款(自适应付款?)

PayPal 自适应付款登录失败

如何使用 Paypal Adeptive 获取 paykey 并在结帐时成功结帐?