PayKey 使用 PayPal 自适应支付的工作流程

问题描述 投票:0回答:1

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

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

  • 向 PayPal 发送请求:
    AdaptivePayments/Pay
  • 这将创建一个 Pay 请求,并返回一个有效期为 3 小时的 payKey(source
  • 现在,我等待 paypal 通过 IPN 向我发送请求。什么时候,我会得到pay_key
  • 使用这个pay_key,我会打电话给
    AdaptivePayments/PaymentDetails
    来了解付款状态。

但是我在想,超过3个小时怎么办? (比如退款?)

那有什么办法呢?

paypal paypal-adaptive-payments paykey
1个回答
11
投票

好吧,我会在阅读一些内容后回答自己。

不使用调用

AdaptivePayments/Pay
时给出的payKey,其他解决方案是使用trackingId。

方法如下:

第一步,您创建一个

AdaptivePayments/Pay
并指定一个trackingId(必须是唯一的):

{
  "actionType":"PAY",
  "currencyCode":"USD",
  "receiverList":{"receiver":[{"amount":"1.00","email":"[email protected]"}]},
  "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 url(此处为“http://apigee.com/console/-1/ipn”)的通知。

当您在此地址收到(POST)请求时,检查对贝宝的有效性,您将在参数中获得

trackingId
。检查此 trackingId 是否存在,然后像这样使用该 trackingId 询问
AdaptivePayments/PaymentDetails

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

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

现在,你要做的工作是更新你的数据库,打电话给你的买家等等:)

什么对我有帮助:

© www.soinside.com 2019 - 2024. All rights reserved.