"SubscriptionModel" creation

If you have at your disposal two types of subscription offers, the first one using the basic features of your service and the other one using the advanced features, you will have to create two plans in other words two SubscriptionModel:

  • On fo the "basic" model plan
  • One for the "advanced" model plan

Each SubscriptionModel owns its unique ID. You will have to provide this ID value in the API requests when you proceed to a client subscription to a SubscriptionModel.

You can use the following attributes:

  • IntervalUnit: day / week / month / year
  • IntervalCount: number of days or weeks or months or years between 2 payments (example: every 10 days or every 3 months)
  • InterationCount: number of times the cycle is repeated


  • If intervalUnit = mois
  • AND intervalCount = 3
  • and interationCount = 4

Which means that your subscription model is set up to charge your customer every 3 months for 4 periods (for a total of a 12-month subscription).

"Customer" creation

Like recurring payment methods, the process chain is simplified by using the Customer object. The Customer object allows you to store metadata such as firstName, lastName, or email address. This proper notion allows you initiate transactions on your customer as part of the plan.

"subscription" creation

To finalise the process, you have to link the Customer and the associated SubscriptionModel plan to a new subscription.

Cycles operation

To process each payment automatically, CentralPay creates an invoice for each billing cycle.

Contents of an Invoice:

  • Describes what the customer has to pay
  • Displays when the customers are billed or have been billed
  • Follows the payment status

invoice can be used to add additional InvoiceItems to a bill (to make a discount for example).

From there, all activities are treated automatically. In order to be informed by notifications, you have to create Webhooks while a subscription creation.