贝宝经常性支付API-工作流程



我正在试图找出如何使用贝宝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"几乎可以肯定地意味着没有在商户的账户上设置经常性计费。

一旦在帐户上设置了经常性计费,以下步骤应该可以工作。

  1. 使用以下代码调用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

注意:BILLINGTYPEBA_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年的,已经严重过时了。它包含了一个繁琐的四步程序,但根本不起作用。希望你读到这篇文章的时候已经更新了。

希望这能帮助你。如果你有任何问题,请告诉我。

最新更新