Subscriptions
Subscriptions are a way to set up recurring transactions. Using subscriptions, you can set up a schedule to accept payments, including retries on failed payments.
Setting up the payment schedule
When setting up a subscription, you can choose the interval (e.g., month), the frequency (i.e., how many of the interval), and the start date (e.g., 01/01/2025). This allows you to set up a very flexible schedule for accepting payments.
To configure this:
- Interval - can be Day, Week, Month, Year
- Frequency - the number of the interval, defaulted to 1
- StartDate - when to start the subscription, defaulted to the current date
Note: All transactions are processed in the UTC timezone.
Schedule Examples
If a subscription was set up with:
- Interval: Month
- Frequency: 1
- StartDate: 2025-01-01 (with the current date as 2024-01-01)
The first 3 transactions will be:
- 2025-01-01
- 2025-02-01
- 2025-03-01
If a subscription was set up with:
- Interval: Week
- Frequency: 4
- StartDate: 2025-01-01 (with the current date as 2024-01-01)
The first 3 transactions will be:
- 2025-01-01
- 2025-01-28
- 2025-02-25
If a subscription was set up with:
- Interval: Day
- Frequency: 2
- StartDate: not set (with the current date as 2024-01-01)
The first 3 transactions will be:
- 2024-01-01
- 2024-01-03
- 2024-01-05
Ending a subscription
You can leave a subscription to run forever, or you can set it to end based on different criteria:
- A total amount - stop processing after this amount has been reached
- Count - stop processing after this number of transactions
- Date - stop processing at this date
Retrying failed payments
You can also configure subscriptions to be retried if the scheduled transaction fails. When you configure a retry policy, you can set:
- Interval (e.g., Hour or Day)
- Frequency (e.g., 1)
- Maximum (e.g., 2)
Retry Examples
If the retries are set up as:
- Interval: day
- Frequency: 2
- Maximum: 1
The transaction will be retried:
- 2 days after the failed attempt
If the retries are set up as:
- Interval: hour
- Frequency: 4
- Maximum: 3
The transaction will be retried:
- 4 hours after the failed attempt
- 8 hours after the failed attempt
- 12 hours after the failed attempt
Webhooks
If you populate the Webhook attributes, each transaction attempt will generate a webhook notification.