2

我在 Ruby on Rails 应用程序中通过 ActiveMerchant gem 使用快速结帐 API。整个授权和捕获流程在 3 小时内完成即可正常工作。但在那之后我的令牌过期了,我失去了交易。即使授权和捕获文档说授权有效期为 3 天(至少根据https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/howto_admin_authcapture)。

那么,如何在令牌过期后捕获交易呢?

4

1 回答 1

3

你不应该传递你的令牌。您应该遵循以下流程。

  1. 进行 SetExpressCheckout API 调用并将付款操作设置为授权 (A)
  2. 取回令牌
  3. 使用令牌将买家重定向到 PayPal 以登录并同意付款
  4. 买家被重定向回您的网站,并返回令牌和付款人 ID
  5. 然后,您可以使用令牌执行 GetExpressCheckoutDetails API 调用。(此步骤是可选的)
  6. 然后执行 DoExpressCheckoutPayment API,在其中传递令牌并将支付操作设置为授权 (A)

然后完成 Express Checkout 授权。

现在,您将在一两天后返回并执行您的 DoCapture API,您将在其中发送之前从 DoExpressCheckoutPayment API 返回的交易 ID。您不会在这里再次发送令牌。完成 DoCapture 后,资金应显示在您的帐户中。

于 2013-06-21T19:25:02.100 回答