我正在试图弄清楚如何使用paypal API来实现定期付款。我正在遵循本指南:
https://devtools-paypal.com/guide/recurring_payment_ec?interactive=OFF&env=sandbox
但我不明白。这怎么可行?在步骤1中,构建付款详细信息但不填充诸如间隔或付款值之类的值。然后我得到一个令牌,用户必须在步骤2中确认付款。
他确认付款后。我在步骤3中设置了间隔中的值和付款?这对我来说真的没有意义。什么阻止我在第3步收取任何我想要的金额?
答案 0 :(得分:1)
迟到总比没有好?
我第一次设置定期结算时遇到的主要陷阱是经常结算是一项付费的“附加”服务,而商家帐户持有人必须在其PayPal上对其进行初始化。目前,贝宝(PayPal)引发此错误的方式是通过其通用的RESULT=1
响应;但是,该消息很关键。 RESPMSG=User authentication failed: Recurring Billing"
几乎可以肯定意味着尚未在商家帐户上设置“定期结算”。
一旦在帐户上设置了“定期结算”,则应该执行以下步骤。
'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年以来的,而且已经过时了。它包含了一个繁琐的四步过程,只是没有用。希望您在阅读本文时已对此进行了更新。
希望这可以帮助您。如果您有任何问题,请告诉我。