PayPal Adaptive Payments - 将后端和客户端的付款分开

PayPal Adaptive Payments - Separating Payment across back end and client

我正在使用 PayPays 自适应支付进行链式支付处理。我可以通过调用 https://svcs.paypal.com/AdaptivePayments/Preapproval.

成功获得预批准密钥

我的理解是,在完成付款请求时 (https://svcs.paypal.com/AdaptivePayments/Pay),您可以添加参数 &preapprovalkey=PA-a891asnk 来进行隐式授权,并防止用户必须输入其凭据和付款会自动完成。

我的问题是:'Pay'进程可以拆分吗?换句话说,我有一个服务器进程,它已经具有创建接收者和金额的逻辑,它调用 'pay' 和 returns 一个 paymentKey。如果还没有预先批准,这个 paymentKey 将被传递到重定向中,用户将输入他们的凭据。我可以保留此服务器进程,然后通过 paymentKey 和 preapprovalKey 回调 PayPal 并进行隐式授权吗?

当我尝试这个时,验证失败,提示 receiverList 不能为 null。我以为 paymentKey 会有这个细节,我可以 "approve" 使用我的预批准密钥。

我知道很多人会问为什么我不想在一次通话中使用它,但我想在各方之间保持匿名,并让该逻辑保留在服务器上并希望客户端只做最后的 "approval"

可能吗?

它的工作方式是您调用预批准,以便您的付款人可以创建预批准配置文件。您可以将该预批准 ID 与该用户的详细信息一起存储在您的系统中。

为该用户提交延迟的链式付款时,您可以调用包含预批准 ID 的付款 API 并将操作设置为 PAY_PRIMARY。这就是它延迟的原因。不过,您可以在此请求中包含主要和次要接收者的详细信息。

设置 PAY_PRIMARY 后,资金将仅转到主要接收方。然后,您可以调用 ExecutePayment API 以在必要时触发二次支付。