【问题标题】:PayPal Express Checkout - Sale vs. PaymentPayPal Express Checkout - 销售与付款
【发布时间】:2018-08-25 19:41:04
【问题描述】:

至少可以说,我发现 PayPal 开发文档令人困惑。 Express Checkout 有 3 种不同的操作:

Authorization
Order
Sale

使用客户端 api,我设置了单个项目的简单 sale。现在我想在服务器端验证此销售是否已完全完成; Express Checkout 文档说我应该使用对 payment 的 API 调用来执行此操作 (https://developer.paypal.com/docs/integration/direct/express-checkout/show-payment-details/)

为什么我不使用对sale 的API 调用,或者这也是一种选择?在此示例中,salepayment 之间有什么区别?当买家购买我的单品时,是否有salepayment都可以查询?

https://developer.paypal.com/docs/api/payments/#sale_get

提前致谢。

【问题讨论】:

    标签: paypal express-checkout


    【解决方案1】:

    paymentsaleauthorizationorder 的父对象,这意味着无论何时创建支付意图(无论是saleauthorizationorder),您都可以通过父payment_id获取详细信息。

    也就是说,在这一步Show payment details to buyer你宁愿调用/v1/payments/payment/{payment_id}而不是/v1/payments/sale/{sale_id}的原因是,此时你还没有executed the payment,你赢了直到那时在 API 响应中才能看到 sale_id。 (所以这一步只是为了在您的买家点击下订单并执行付款之前在页面中显示付款详细信息

    在其他情况下,假设您已经执行了付款并从响应中获得了 sale_id,您绝对可以通过对 /v1/payments/sale/{sale_id} 进行 GET 调用来验证这一点,尽管您还有其他方法可以获得通过webhooksIPN 与PayPal 异步发送付款详细信息。

    【讨论】:

    • 谢谢,这对解决问题很有帮助。不过,关于支付/端点的一个问题,如果你想看一下,在这里创建了一个新问题:stackoverflow.com/questions/49411807/…
    • 看起来 v2 API 已经完全重新设计了,它总是关于顺序:所有收费都从 order create 开始,然后是 approve by user throw browser,然后是 captureauthorize。 PayPal总是让事情变得混乱而无法清楚地描述。好吧,关于 Payment 的原则仍然有些东西,但看起来就像 authorization Order 的一些东西
    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 2018-08-05
    • 2010-12-03
    • 2013-07-16
    • 2021-01-20
    • 2017-08-18
    • 2016-01-02
    • 2017-09-02
    相关资源
    最近更新 更多