And*_*eKR 6 paypal paypal-adaptive-payments
使用Adaptive Payments API我使用API方法Pay
使用以下参数获取了一个付费密钥:
actionType: CREATE
receiverList.receiver(0).email: ...
receiverList.receiver(0).amount: 5
currencyCode: EUR
cancelUrl: ...
returnUrl: ...
requestEnvelope.errorLanguage: en_US
Run Code Online (Sandbox Code Playgroud)
然后我用这个URL启动了嵌入式支付流程:https: //www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?expandType = light&payKey = ...
灯箱再次关闭后,当我PaymentDetails
在付费键上调用方法时,它会给我(以及其他值):
paymentInfoList.paymentInfo(0).transactionStatus: COMPLETED
status: COMPLETED
actionType: CREATE
Run Code Online (Sandbox Code Playgroud)
显然付款已经执行,但我还没有调用该ExecutePay
方法.
该文档的状态(主题"PayRequest字段"下):
actionType xs:string
(必填)付款请求是否支付接收方,或者付款请求是否设置为创建付款请求,但是在
ExecutePayment
调用之前未完成付款.允许的值为:
[...]
CREATE
- 使用此选项设置付款说明,SetPaymentOptions
然后在以后执行付款ExecutePayment
.
我错过了什么?
我们最终只使用了 Preapproval API 并用它调用 Pay。在我收到电子邮件的回复中,我被告知:
"PayPal does not allow you to hold any amount of money in somebody else's PayPal account and that is why we have Preapproval API."
Run Code Online (Sandbox Code Playgroud)
我仍然不确定为什么 Create 似乎不需要 ExecutePayment 调用就可以进行收费,但对于我的工作流程(我希望这对您有价值)来说,Preapproval API 是最佳选择。