贝宝 API 延迟支付可变金额

Posted

技术标签:

【中文标题】贝宝 API 延迟支付可变金额【英文标题】:paypal API delay disbursement with variable amount of money 【发布时间】:2020-06-12 02:42:36 【问题描述】:

我看到https://developer.paypal.com/docs/archive/adaptive-payments/ht-ap-basicChainedPayment-curl-etc/ 和https://developer.paypal.com/docs/commerce-platform/payment/delayed-disbursement/ 和https://developer.paypal.com/docs/commerce-platform/payment/checkout/ 在用户下订单后尝试处理付款,但就我而言,我需要:

用户根据预设金额批准。意思是,他们会在网站上停留一定的时间,当他们点击“结束”按钮时,需要计算总金额,并自动从他们那里取走,就像优步一样,它会在乘车后自动向某人收费结束了。

如何使用 paypal API 获得此功能?好像只有在用户批准了一定金额的订单后才能处理,但是如何自动从他们那里收取可变金额呢?

【问题讨论】:

【参考方案1】:

您可以使用intent: 'AUTHORIZE', 创建 v2/orders 付款。买家批准订单后,您调用 API 对其进行授权。稍后,当需要为您的(可能较少的)可变金额进行支付时,您​​可以调用 API 来获取该金额。

以下是三个服务器端 API 调用:

    https://developer.paypal.com/docs/api/orders/v2/#orders_create https://developer.paypal.com/docs/api/orders/v2/#orders_authorize https://developer.paypal.com/docs/api/orders/v2/#orders_capture

而且,这里是前两个步骤所需的客户端 UI 的演示模式:https://developer.paypal.com/demo/checkout/#/pattern/server

(在第二个 fetch() XHR 中,您将进行授权而不是直接进行捕获,因为您需要此中间步骤。您的捕获稍后进行。)

【讨论】:

很有趣,那么用户需要批准的金额是否比将要获得的金额大得多?意思是,假设网站是每分钟 1 美元,我不知道他们会打开多少分钟,那么我是否必须首先向他们收取 200 美元的费用,从而将最大值设置为 200 分钟? 授权不是收费,但是是的,您的最终捕获必须在初始授权金额的 115% 的默认容差范围内。 那么就不可能完成优步的工作吗,这意味着当有人为优步叫车时,他们不需要授权 6000 美元的费用,例如(如果有人开车穿越国家),之后收费。使用 paypal API 是不可能的吗? 这需要为“参考交易”启用 PayPal 企业帐户,才能创建账单协议。您可以通过paypal.com/us/smarthelp/contact-us 联系 PayPal 的业务支持,说明业务需求并申请此参考交易功能,该功能仅适用于部分企业。

以上是关于贝宝 API 延迟支付可变金额的主要内容,如果未能解决你的问题,请参考以下文章

贝宝智能支付按钮动态支付金额

Paypal 自适应延迟链式支​​付

如何使用自适应贝宝 API 退还部分金额

如何将要支付的总金额发送到贝宝

我们如何使用贝宝支付流来拆分金额

更改贝宝定期付款帐户每月支付的金额