【问题标题】:Paypal Express Checkout API: can DoExpressCheckoutPayment fail?Paypal Express Checkout API:DoExpressCheckoutPayment 会失败吗?
【发布时间】:2012-05-30 16:50:07
【问题描述】:

我即将将Paypal Express Checkout 集成到在线食品订购系统中。我目前对流程的看法如下:

  • SetExpressCheckout 被调用,客户被重定向到带有令牌的 Paypal。
  • 客户批准付款后,他会被重定向到等待页面,同时将订单发送到餐厅。
  • 收到餐厅回复后,会发生以下情况:
    • 如果订单被批准,则调用DoExpressCheckoutPayment并完成支付;
    • 如果订单被拒绝,付款永远不会完成。

这让我想知道,DoExpressCheckoutPayment 是否有可能失败,并且由于任何原因无法提取资金?因为在我的情况下,取消已经发送到餐厅的订单为时已晚。

我应该改用PAYMENTACTION=Authorization,然后获取/取消授权吗?由于资金可以保留3天,而我只需要几分钟的时间来做决定,这看起来有点矫枉过正。

【问题讨论】:

    标签: paypal express-checkout


    【解决方案1】:

    是的,DoExpressCheckoutPayment API 调用肯定会失败。
    您应该在 SetExpressCheckout 和 DoExpressCheckoutPayment API 调用中设置 PAYMENTACTION=Authorization,并且 - 一旦餐厅确认订单 - 调用 DoCapture API 以从授权中获取资金。
    资金兑付期限为 3 天,授权期限最长为 29 天。

    还有;设计失败。保持一个后备。以防万一 DoCapture 确实 失败。它不应该,但你永远不知道。因此,请仔细检查 DoCapture API 响应中的“PAYMENTSTATUS”是否为“已完成”且“TRANSACTIONID”是否为空。

    【讨论】:

    • 谢谢,这回答了我的问题!
    猜你喜欢
    • 2016-03-15
    • 2016-05-06
    • 2012-06-13
    • 2012-02-09
    • 2013-03-15
    • 2016-06-21
    • 2018-12-13
    • 2017-12-28
    • 2014-12-15
    相关资源
    最近更新 更多