Paypal Express签出API:DoExpressCheckoutPayment会失败吗?

Paypal Express签出API:DoExpressCheckoutPayment会失败吗?,paypal,express-checkout,Paypal,Express Checkout,我将要集成到一个在线食品订购系统中。我目前对流程的看法如下: SetExpressCheckout被调用,客户将使用令牌重定向到Paypal 一旦客户批准付款,他将被重定向到等待页面,同时订单将被发送到餐厅 收到餐厅回复后,发生以下情况: 如果订单已批准,则调用DoExpressCheckoutPayment并完成付款 如果订单被拒绝,付款将永远无法完成 这让我想知道,DoExpressCheckoutPayment是否有可能失败,并且由于任何原因无法提取资金?因为就我而言,取消已经送到

我将要集成到一个在线食品订购系统中。我目前对流程的看法如下:

  • SetExpressCheckout
    被调用,客户将使用令牌重定向到Paypal
  • 一旦客户批准付款,他将被重定向到等待页面,同时订单将被发送到餐厅
  • 收到餐厅回复后,发生以下情况:
    • 如果订单已批准,则调用DoExpressCheckoutPayment并完成付款
    • 如果订单被拒绝,付款将永远无法完成
这让我想知道,
DoExpressCheckoutPayment
是否有可能失败,并且由于任何原因无法提取资金?因为就我而言,取消已经送到餐厅的订单已经太晚了


我是否应该改为使用
PAYMENTACTION=Authorization
,然后捕获/取消授权?由于资金可以持有3天,而我只需要几分钟时间来做出决定,这看起来有点过头了。

是的,DoExpressCheckoutPayment API调用肯定会失败。
您应该在SetExpressCheckout和DoExpressCheckoutPayment API调用中设置PAYMENTACTION=Authorization,并在餐厅确认订单后调用DoCapture API从授权中获取资金。
资金兑现期为3天,授权有效期为29天


还有,;设计失败。保持后退。以防文档捕获失败。不应该,但你永远不知道。因此,请仔细检查DoCapture API响应中的“PAYMENTSTATUS”是否为“Completed”,以及“TRANSACTIONID”是否为空。

谢谢,这回答了我的问题!