我在我的测试服务器上进行了非常好的并行支付,即我可以根据我从开发者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
的选项,文档说明了这一选项:
发送者 - 发件人支付所有费用(个人,隐含 简单/ 并行付款;不要用于链式或单方式 付款)
粗体,告诉我可以预先批准的并行付款,但我无法弄清楚如何发送接收器......
此外,在x.com上,它说:
开发商和商家可以合并;
- 平行和预先批准的付款。
答案 0 :(得分:8)
预批准的第一步是从买家那里获得一个。
此预先批准与任何特定卖家无关,而是与API来电者相关联,并且允许您在将来进行Pay API调用,而无需买家进行确认。
预批准流程是来自付款流程的单独API调用。在其中,您可以指定要预先批准的总金额,预批准有效的开始日期和结束日期以及一些其他参数。 (有关完整规范,请参阅自适应支付开发指南的第8章:https://cms.paypal.com/cms_content/US/en_US/files/developer/PP_AdaptivePayments.pdf)
在此API通话中,您将买家重定向到PayPal网站,在那里他将批准未来付款 最多 您指定的金额。 (例如,如果您指定的总金额为1000美元,则买家可以购买20美元,或购买1000美元)
买家批准后,您有权向他收取费用(以预先批准令牌PA-xxxxxxxxxxxxxx
的形式,但此时没有钱转手。
现在您已拥有令牌,您可以继续进行Parallel Payment Pay API调用,就像您现在正在做的那样,但是您将指定一个额外的参数:
preapprovalKey=<The PA key obtained previously>
(并且您还需要确保将actionType
设置为支付)
一旦您进行此API调用,因为PayPal发现您已经获得买方的许可(以批准的PA密钥的形式),它将立即将钱转移到指定的接收方。买方无需重定向以批准此付款,因为他已经预先批准了该付款。 (见这里的逻辑?)
所以回顾一下: