Skip to main content

The Subscription object

A Subscription represents an end user’s enrolled bank account that authorizes direct debit collections, exposing the linked account and a status. Fintoc creates the Subscription when a SubscriptionIntent succeeds. To create charges through Fintoc, the Subscription must have status active.
If your existing integration only enrolls bank accounts under your own bank agreement, the status does not determine the mandate’s validity at your bank. Follow Enrollment under your own bank agreement instead of waiting for activation through Fintoc.
Subscription Object
Subscription account balanceThe account.balance field is only present when you receive a subscription through a subscription_intent.succeeded event.At other moments the account balance is null.

Enrollment under your own bank agreement

If you use Fintoc’s legacy Subscriptions product only to enroll bank accounts, your bank handles subsequent collections under your agreement. Fintoc’s enrollment flow ends when you receive subscription_intent.succeeded. Handle enrollment results on your backend:
  • Listen for subscription_intent.succeeded to confirm that your customer completed enrollment. Store the returned subscription.id, subscription.account, and subscription.reference_id.
  • Handle subscription_intent.failed and subscription_intent.rejected to notify your customer that Fintoc could not confirm successful enrollment.
After successful enrollment, confirm mandate activation and collection readiness with your bank before creating debits under your agreement. A successful SubscriptionIntent does not confirm bank activation or a successful debit. The returned Subscription can remain pending after your bank activates the mandate. Do not use subscription.activated, subscription.canceled, or the Subscription.status to activate or deactivate mandates in your own-bank integration. A subscription.canceled event with status expired reports expiration of the Subscription in Fintoc, not confirmation of bank-side cancellation. Confirm the mandate’s current state with your bank.