并行预先批准的PayPal付款?

时间:2012-07-22 19:03:08

标签: paypal paypal-ipn paypal-sandbox

我在我的测试服务器上进行了非常好的并行支付,即我可以根据我从开发者paypal网站下载的示例parallel.php文件,一次向多个人汇款。

我还下载了preapproval_flow.php文件,但在代码中,我看不到一个变量/数组,它允许我设置并行支付接收器,甚至是单个接收器。

是否无法使用paypal api预先批准并行付款?

如果有可能,我该怎么做?

通过直接并行付款,我可以使用以下方法设置付款的并行接收方:

$receiverEmailArray = array(
    'email0',
    'email1',
    'email2',
    'email3',
    'email4',
    'email5',
    'email6',
    'email7',
    'email8',
    'email9'
);

根据cms.paypal.comx.com,preappoval_flow有一个名为feesPayer的选项,文档说明了这一选项:

  

发送者 - 发件人支付所有费用(个人,隐含   简单/ 并行付款;不要用于链式或单方式   付款)

粗体,告诉我可以预先批准的并行付款,但我无法弄清楚如何发送接收器......

此外,在x.com上,它说:

  

开发商和商家可以合并;

     
      
  • 平行和预先批准的付款。
  •   

1 个答案:

答案 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密钥的形式),它将立即将钱转移到指定的接收方。买方无需重定向以批准此付款,因为他已经预先批准了该付款。 (见这里的逻辑?)

所以回顾一下:

  1. 致电预审批API,获取许可向买方收费
  2. 调用Pay API(包括步骤1中的PA密钥)以执行给定的权限