我正在试图找出如何使用贝宝API实现经常性付款。我遵循以下指南:
https://devtools-paypal.com/guide/recurring_payment_ec?interactive=OFF&env=沙箱
但我不明白。这怎么行。在步骤1中,构建付款详细信息,但不填充付款间隔或价值等值。然后我得到一个令牌,用户必须在步骤2中确认付款。
在他确认付款后。我在步骤3中设置了价值和付款间隔?这对我来说真的没有意义。是什么阻止我在第三步中收取我想要的任何金额?
迟到总比不迟到好?
当我第一次设置定期计费时,我遇到的关键陷阱是定期计费是一项付费的"附加"服务,商户账户持有人必须在他们的PayPal账户上初始化它目前,PayPal抛出此错误的方式是使用其通用RESULT=1
响应;然而,信息是关键。RESPMSG=User authentication failed: Recurring Billing"
几乎可以肯定地意味着没有在商户的账户上设置经常性计费。
一旦在帐户上设置了经常性计费,以下步骤应该可以工作。
- 使用以下代码调用PayPal Pro(PayFlowPro等)iFrame:
'USER' => [[[Payflow User]]],
'VENDOR' => [[[Payflow Vendor]]],
'PARTNER' => [[[Payflow Partner]]],
'PWD' => [[[Payflow Password]]],
'TRXTYPE' => 'A', // to authorize a billing profile
'TENDER' => 'C', // even if the user uses PayPal to pay
'BILLINGTYPE' => 'MerchantInitiatedBilling',
'CURRENCY' => 'USD',
'RETURNURL' => [[[Return URL]]],
'CANCELURL' => [[[Cancel URL]]],
'ERRORURL' => [[[Cancel URL]]],
'BA_DESC' => 'A Fitting Description of the Profile',
'CREATESECURETOKEN' => 'Y',
'SECURETOKENID' => [[[Your generated ID]]],
'AMT' => '5.49' // a string, can not be zero
注意:BILLINGTYPE
和BA_DESC
可帮助您创建PayPal计费协议尽管PayPal的身份验证能力为零,但您不得使用0.00作为您的身份验证金额。
当用户成功完成PayPal付款表格时,信息将张贴到您的RETURNURL
。分析并使用此POST数据,并执行以下PayPal API调用之一以创建重复计费配置文件。
如果用户使用PayPal设置帐户,则POST将包括名称/值BAID=########################
。您应该使用BAID("计费协议ID")作为参考创建PayPal计费协议:
'USER' => [[[Payflow User]]],
'VENDOR' => [[[Payflow Vendor]]],
'PARTNER' => [[[Payflow Partner]]],
'PWD' => [[[Payflow Password]]],
'TRXTYPE' => 'R', // recurring billing profile
'ACTION' => 'A', // add/create recurring billing profile
'TENDER' => 'P', // PayPal
'PROFILENAME' => 'A name for your subscription',
'BAID' => '##################', // The BAID POSTed from PayPal
'START' => '190721', // a starting date in mdY format
'PAYPERIOD' => 'MONT', // or YEAR or etc, see manual
'TERM' => '0', // # of payments (0 is until subscriber cancels)
'AMT' => '5.49' // same amount as your auth in previous step
如果用户使用信用卡设置帐户,那么POST将不包括名称/值BAID
,并且您应该创建定期计费配置文件作为标准定期信用卡配置文件:
'USER' => [[[Payflow User]]],
'VENDOR' => [[[Payflow Vendor]]],
'PARTNER' => [[[Payflow Partner]]],
'PWD' => [[[Payflow Password]]],
'TRXTYPE' => 'R', // recurring billing profile
'ACTION' => 'A', // add/create recurring billing profile
'TENDER' => 'C', // credit card
'PROFILENAME' => 'A name for your subscription',
'ORIGID' => 'PN##########', // PNREF value POSTed from PayPal
'START' => '190721', // a starting date in mdY format
'PAYPERIOD' => 'MONT', // or YEAR or etc, see manual
'TERM' => '0', // # of payments (0 is until subscriber cancels)
'AMT' => '5.49' // same amount as your auth in previous step
请注意,PayPal发给我的最后一份相关文档是2013年的,已经严重过时了。它包含了一个繁琐的四步程序,但根本不起作用。希望你读到这篇文章的时候已经更新了。
希望这能帮助你。如果你有任何问题,请告诉我。