Skip to main content

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.