您如何在贝宝中创建在特定年度日期续订的订阅

How do you create a subscription in paypal that renews on specific yearly dates

我有一个业务案例,我需要每年向用户收取订阅费用,但从特定日期开始:当年或上一年的 4 月 1 日。

示例:

这可以通过 paypal 定期付款配置文件来完成吗?我在文档中没有看到任何与此相关的信息,尽管我确实看到我过去无法启动定期配置文件:

The profile start date may not be earlier than the profile creation date.

https://developer.paypal.com/docs/classic/paypal-payments-pro/integration-guide/WPRecurringPayments/

能做到吗?

使用 INITAMT 字段指示立即收费 除了 配置文件费用。

您的值将如下所示,将 NVP 与 CreateRecurringPaymentsProfile

结合使用
'BILLINGPERIOD'=>'YEAR', // bill on a yearly basis
'BILLINGFREQUENCY'=>1, // bill once ever year
'TOTALBILLINGCYCLES'=>0, // how many periods (in this case, years) 0 = no end
'INITAMT'=>10, // charge this amount right now
'AMT'=>10, // amount to be billed each time
'FAILEDINITAMTACTION'=>'CancelOnFailure', // if the init amount fails, do not create a profile
'PROFILESTARTDATE'=>'2015-04-01T00:00:00Z' // April 1, 2015 -- adjust as needed

...您还需要标准字段,例如名字、姓氏和卡详细信息。

收取初始金额有一个很大的优势 -- 您可以立即验证卡。如果没有初始金额,只要所有信息都存在,贝宝将在不实际接触卡的情况下建立经常性付款配置文件。它不能确保信息正确。因此,您可能正在为实际上不起作用的卡设置配置文件。在第一个配置文件计费之前,您不会发现失败,然后,您不会获得有关为什么失败的任何信息,只是失败的事实。使用 INITAMT,您可以获得正常一次性收费的详细反馈,例如。卡被拒绝,CVV 错误等

一定要向您的用户仔细解释账单日期。如果这种情况发生在 2015 年 3 月 29 日,您可能不想在 2015 年 4 月 1 日进行第一次计费,而是等待一个月。这实际上取决于您的用例。

文档