Authorize.Net 定期付款

Recurring Payment With Authorize.Net

我正在尝试在 ASP.NET 网络表单应用程序中实施 Authorize.Net,由于我是新手,所以我正在浏览其官方网站和其他几个随机网站来了解它。以下链接对我有所帮助:

Recurring Bill

Recurring Bill Code Sample

到目前为止,以下代码片段似乎可以实施,因为它几乎没有设置配置,并创建了一个沙盒帐户来完成它:

 ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()
 {
      name            = ApiLoginID,
      ItemElementName = ItemChoiceType.transactionKey,
      Item            = ApiTransactionKey,
 };

 paymentScheduleTypeInterval interval = new paymentScheduleTypeInterval();

 interval.length = intervalLength;                        // months can be indicated between 1 and 12
 interval.unit   = ARBSubscriptionUnitEnum.days;

 paymentScheduleType schedule = new paymentScheduleType
 {
     interval            = interval,
     startDate           = DateTime.Now.AddDays(1),      // start date should be tomorrow
     totalOccurrences    = 9999,                          // 999 indicates no end date
     trialOccurrences     = 3
 };

 #region Payment Information
 var creditCard = new creditCardType
 {
     cardNumber      = "4111111111111111",
     expirationDate  = "1028"
 };

我有一个棘手的要求和一件事要在这里确认。在网络应用程序中,如果用户在网站上注册,那么将收取 $1 的费用 Authorize.Net api 如果用户在注册后使用该网站超过三天,则它会自动将用户重定向到按月订阅(因此此处将收取另一笔费用)。

这是否可以通过 Authorize.Net 处理,对于经常性账单,我是否需要将用户信用卡详细信息保存在网站数据库或类似的东西中?

您想要做的是:

  1. 创建一个 customer payment profile(这允许您只收集一次他们的信用卡信息,这样您可以在到达第 3 步时再次使用它)
  2. Using that payment profile, charge 您最初的 $1.00 金额
  3. 如果他们在三天后没有取消,using that payment profile, charge 他们将支付第一个月的订阅费用。您将此作为“常规”交易进行,因为订阅不会立即开始​​。
  4. Create a subscription using their payment profile ID(这样您就不必自己存储他们的信用卡详细信息)并将开始日期设置为 30 天后。

请务必存储他们的个人资料 ID 和付款个人资料 ID 以供日后参考。您将需要它来收取他们的第一笔订阅费用并创建他们的订阅(您需要从您的网站触发这些,很可能是通过自动化流程)。在某些时候,您还需要 update their credit card information 一旦到期。