Recurring Billing

Set up plans and subscriptions.

Set up recurring, installment, or subscription payments with the Recurring Billing resource of our Platform API. Create a payment plan through the API, then apply the plan to a new or saved customer profile to create a subscription. On billing dates, we automatically charge your customer and notify you of the transaction results.

This page gives an overview of Recurring Billing and the requests it supports. Subpages provide implementation guides for several important Recurring Billing requests. See Recurring Billing in our API Reference for endpoints and details on all supported transactions.


Features

Our Recurring Billing API resource supports the following features:

  • Plans - Easily create one plan for multiple customer subscriptions.
    • This supports one-time fees, trial periods, and prorated billing options.
    • Plans work great for selling one or a few items at the same price to customers.
    • Example: A fitness gym sells two memberships: basic and premium. It creates two plans and subscribes customers to each.
  • One-time off-plans - Set up a unique subscription to charge a customer a certain amount at a set frequency.
    • Also referred to as off-plans, these tailor subscription payments for each customer.
    • Example: A department store offers a layaway installment plan. It creates a subscription for each customer to buy a unique basket of goods.
  • Flexible frequencies - Customize the frequency at which you bill.
  • Installment billing - Select how many times to bill your customer, and the subscription will end when all scheduled installment payments are complete.
  • Automatic retries - If we receive a recoverable error, we retry up to 3 times to complete the payment.
  • Security - Store all customer payment information securely with Maast, a PCI DSS certified Level 1 compliant Service Provider.

The resource supports several different requests. We offer API reference for all supported requests and detailed implementation guides for some.

We have guides for the following API functions:

See Recurring Billing in API Reference for these additional functions supported by the API:


How It Works

This section provides an overview of the payment flow process with Recurring Billing:


Create a plan

  1. Send an 'Add a Recurring Plan' request to the Recurring Billing API resource.
  2. The API creates the plan and returns a unique plan ID to you.
  3. Store the plan ID for future use.

Add a customer

  1. Send an 'Add a Customer' request, including a customer ID of your choice, to the Customer Vault API resource.
  2. Customer Vault saves the customer information and returns a confirmation to you.
  3. Store the customer ID for future use.

Create a subscription

  1. Send an 'Add a Subscription' request to the Recurring Billing API resource, including the customer ID and plan ID in your request.
  2. The API creates the subscription and returns a unique subscription ID to you.
  3. Store the subscription ID for future use.

Let the Engine run

  1. When it's time, our Recurring Billing engine initiates recurring payments on your behalf and sends payment information to the card brands for authorization. The card brands return an approval or decline.
  2. At your discretion, Maast emails a receipt for each recurring payment transaction to you and/or your customer.

Get Updates

  • M1 & M2. At any time, you can send a GET request for the status of subscription transactions, and the API will return it to you.
  • M3 & M4. At any time, you can send a GET request for the subscription status, and the API will return it to you.

ACH Payments with Recurring Billing API

Maast’s recurring billing service invokes scheduled payments using the primary payment method of a customer profile stored in Customer Vault. No changes to a Recurring Billing request are needed to process ACH payments. Instead, use the Customer Vault resource to add ACH payment information and make it the primary payment method in your customer’s profile. If the primary payment method is ACH, then an ACH sale transaction is automatically processed.