Automated Recurring Billing (ARB) enables you to automatically process installment-based payment card or eCheck.Net payments without having to store sensitive payment data, which is passed directly to Authorize.net’s secure server. For Recurring Billing API reference information, see the API Reference Guide
A subscription is a set of multiple transactions, or payments, created for the purchase of an installment-based payment plan. The payment gateway then generates payments for the subscription later, based on a specified payment schedule and subscription period.
A subscription functions the same whether a merchant creates, updates, and cancels a subscription in the Merchant Interface, or the merchant uses the Authorize.net API. When a merchant creates a subscription in the Merchant Interface, he or she enters all required information into the Create New ARB Subscription form. When the merchant submits the information, the Subscription Confirmation page returns a message to the merchant indicating whether or not the subscription was created successfully. The subscription ID assigned for a successfully created subscription is also displayed.
The Authorize.net API accomplishes the same functions through an API call and subsequent response. Whether a subscription is created in the Merchant Interface or through the API, the results are the same. For descriptions and code samples of the API elements used for subscriptions, see the API Reference Guide.
Subscriptions do not process transactions in real time. Creating a subscription transaction successfully does not guarantee that subscription payments will process through your account successfully. Subscription transactions process at approximately 2:00 a.m. PST on scheduled payment dates. Therefore, the first scheduled transaction is not sent to the customer’s bank for authorization until approximately 2:00 a.m. PST on the start date that you specify when you create the subscription in your account. If you create a subscription with a start date that equals the creation date, the first scheduled payment does not process until after 2:00 a.m. the following day. If you wish to validate your customer’s payment information before creating their subscription in your account, use one of the real-time transaction processing methods available through the Authorize.net API.
You can create, update, and cancel a subscription. Subscriptions contain the following information.
The subscription ID is generated by Authorize.net and is used to manage a subscription. It is also stored with any transaction generated by that subscription so that you can better track it.
Start Date — this date is the date of the first transaction. Payment card data is verified as part of this first transaction, and not before.
Interval Units — intervals define the number of total charges to be made and on what schedule; for example, weekly or monthly.
Trial Period — for a trial period, you can specify an amount and then charge a different amount for the remainder of the subscription.
Payment Card — customers’ encrypted payment card information is stored on Authorize.net’s secure servers. Note that the card code is not supported because PCI-DSS security standards require that it not be stored.
eCheck — customers’ banking information is stored on Authorize.net’s secure servers.
Customer information includes:
TIP: The first transaction conducted after a subscription is created or edited is processed like any other transaction and is subject to the Address Verification settings of your account. Subsequent transactions are flagged as recurring when we send them to the processor. In most cases, the processor does not verify addresses for transactions flagged as recurring.
Subscriptions with a monthly interval whose payments begin on the 31st of the month occur on the last day of every month.
Here are a few things to keep in mind:
When you receive a response from the payment gateway with an Ok result code, your subscription has been successfully created. The response will include a subscription ID. Individual transactions, or payments, for a subscription are generated automatically after 2 a.m. PST by the payment gateway according to the designated payment schedule and subscription period. Each payment is only viewable in the merchant’s payment gateway account when it is actually generated.
For example, if a new subscription is created with a start date of June 6, with a monthly payment interval, the first payment for the subscription will not be viewable in the merchant’s payment gateway account until June 6. All subsequent payments will be visible on their scheduled dates.
If you create a new subscription with the first payment scheduled for the same day, the initial payment for the subscription will actually be submitted the next business day.
When a scheduled transaction in a subscription has been submitted, which is usually at 2 a.m. PST for ARB transactions, the merchant receives an email from the payment gateway indicating the transaction status.
A merchant can also configure his or her account in the Merchant Interface to receive the following ARB emails:
A subscription can have one of the following statuses at any given time.
Active | An active subscription is currently scheduled to be charged at a specified interval, which does not necessarily mean that payments will be successful. |
Expired | The schedule of payments has ended. |
Suspended | When the payment card information for a subscription expires, the subscription becomes suspended. A suspended subscription is not charged until the merchant corrects the problem. The merchant has until the next run date to correct the problem, or the subscription is terminated. |
Canceled | The subscription was cancelled using ARBCancelSubscriptionRequest. A cancelled subscription no longer exists and cannot be reactivated. |
Terminated | When a merchant takes no action on a suspended account before the next runDate, the subscription is terminated. Once terminated, a subscription can no longer be reactivated and must be recreated. |
You can update any of the values from the ARBCreateSubscriptionRequest by entering them in the ARBUpdateSubscriptionRequest. The only difference is that you must include the subscriptionId value that was returned in the ARBCreateSubscriptionReponse. Here are a few things to keep in mind:
All other fields are optional.
To cancel a subscription, call ARBCancelSubscription and enter the subscriptionId. If this call is successful, the subscription will no longer exist in our system.
The recurring billing system checks a new subscription for duplicates, using these fields:
subscription.article.merchantID
subscription.article.customerInfo.payment.creditCard.cardNumber
subscription.article.customerInfo.payment.eCheck.routingNumber
subscription.article.customerInfo.payment.eCheck.accountNumber
subscription.article.customerInfo.customerID
subscription.article.customerInfo.billingInfo.billToAddress.firstName
subscription.article.customerInfo.billingInfo.billToAddress.lastName
subscription.article.customerInfo.billingInfo.billToAddress.company
subscription.article.customerInfo.billingInfo.billToAddress.streetAddress
subscription.article.customerInfo.billingInfo.billToAddress.city
subscription.article.customerInfo.billingInfo.billToAddress.stateProv
subscription.article.customerInfo.billingInfo.billToAddress.zip
subscription.orderInfo.amount
subscription.orderInfo.invoice
subscription.recurrence.startDate
subscription.recurrence.interval
subscription.recurrence.unit
If
You can use our reporting API to retrieve subscription information. Specifically, getTransactionListResponse and getTransactionDetailsResponse each contain a subscription section. For more information about reporting, see the Transaction Reporting Feature Details page.
ARBGetSubscriptionRequest also supports an element, includeTransactions
, that will return a list of transactions along with subscription details.
You can receive subscription-related webhooks notifications by utilizing our Webhooks API's Subscription events. For more information, see the Subscription section of the Appendix in our Webhooks documentation.
Authorize.net provides a service called Account Updater, which automatically checks payment card information in subscriptions and updates it. This feature increases authorization approvals, helping drive more sales and retain customers by reducing risk of service cancellation.
The Account Reporter service runs once per month. You can obtain reports about a given month's Account Updater job using the following API calls: