我可以在测试服务器上很好地使用并行付款,即根据从开发人员paypal网站下载的示例parallel.php文件,一次可以同时向多个人汇款。
我还下载了preapproval_flow.php文件,但是在代码中,我看不到一个变量/数组,该变量/数组允许我设置并行付款接收方,或者为此设置单个接收方。
使用Paypal API是否可以预先批准并行付款?
如果有可能,我该怎么办?
使用直接并行支付,我可以使用以下方法设置支付的并行接收者:
$receiverEmailArray = array(
'email0',
'email1',
'email2',
'email3',
'email4',
'email5',
'email6',
'email7',
'email8',
'email9'
);
根据cms.paypal.com和x.com的说法,preappoval_flow有一个名为
feesPayer
的选项,文档中对此说:SENDER-发件人支付所有费用(对于个人,隐性
简单/并行付款;请勿用于链式或单边
付款)
粗体字告诉我可以进行预先批准的并行付款,但是我不知道如何发送收款人...
另外,在x.com上,它表示:
开发人员和商人可以合并;
平行付款和预先批准的付款。
最佳答案
预先批准的第一步是从买方那里获得批准。
此预先批准不与任何特定的卖方绑定,而是与API调用者绑定,并且它允许您将来进行Pay API调用,而无需买方确认。
预先批准流程是与付款流程分开的API调用。在其中,您可以指定要预批准的总额,预批准有效的开始日期和结束日期以及其他一些参数。 (有关完整规格,请参见“自适应支付”开发指南的第8章:https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_AdaptivePayments.pdf)
在此API调用中,您将买方重定向到PayPal网站,该网站上他将批准不超过您指定金额的未来付款。 (例如,如果您指定了$ 1000的总金额,则买方可以进行20笔$ 50的购买,或1笔$ 1000的大笔购买)
买方批准此交易后,您便可以向他收取费用(以预批准令牌PA-xxxxxxxxxxxxxx
的形式,但此时没有钱易手。
现在您已经有了令牌,可以继续进行Parallel Payment Pay API调用,就像现在一样,但是您将指定一个附加参数:preapprovalKey=<The PA key obtained previously>
(并且您还需要确保actionType
设置为PAY)
进行此API调用后,由于PayPal认为您已经获得了购买者的许可(以批准的PA密钥的形式),因此它将立即将钱转移到指定的接收者。由于买方已经预先批准了付款,因此无需将其重定向到批准该付款。 (在这里看到逻辑吗?)
总结一下:
调用预批准API,以获得购买者的付款许可
调用Pay API(包括步骤1中的PA密钥)以执行给定的权限
关于paypal - 平行批准的 Paypal 付款?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11603168/