Recurring mandates allow you to debit a customer's bank account repeatedly without requiring the customer to approve each payment individually. This is a common pattern for subscription models, one-click checkouts and adhoc merchant-initiated debits.
Easy Collect supports recurring mandates for the two main scenarios:
-
Unscheduled Customer-Initiated Transactions (CIT): One-click payments where the customer initiates payment manually but does not have to re-enter payment information.
-
Unscheduled Merchant-Initiated Transactions (MIT) & Recurring Payments: Payments initiated by you without any customer interaction, such as in the case of subscriptions or ad-hoc charges.
Implementation workflow
You can setup recurring mandates with Easy Collect by following 3 simple steps:
-
Initial transaction with recurring intent
-
Store credentials securely
-
Subsequent transactions
1. Initial transaction
Setup intent for a recurring payment by passing the below information in the credentialOnFile object:
{
...
"credentialOnFile": {
"type": "RECURRING"
}
}
2. Credential storage
Store the account and mandate details based on the integration type upon receiving successful payment response to the initial transaction:
|
Integration type |
Action |
|---|---|
|
Hosted payment page or Hosted forms |
Fetch the mandate details by calling Retrieve payment details by payment ID and store it.
|
3. Subsequent transactions
Submit the subsequent payment request:
|
Integration type |
Action |
|---|---|
|
Direct Integration |
Submit the payment with the mandateId and eventToken=PAYMENT_ONLY
|