Payment with Recurring Mandates

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:

  1. Initial transaction with recurring intent

  2. Store credentials securely

  3. 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.

{
  ...
  "paymentMethods": {
  "type": "EASYCOLLECT",
  "easyCollect": {
      "mandateId": "MANDATE123456789"
  }
}

3. Subsequent transactions

Submit the subsequent payment request:

Integration type

Action

Direct Integration

Submit the payment with the mandateId and eventToken=PAYMENT_ONLY

{
    "paymentMethods": {
        "integrationType": "DIRECT",
        "type": "EASYCOLLECT",
        "easyCollect": {
            "eventToken": "PAYMENT_ONLY",
            "mandateId": "MANDATE123456789"
        }
    }
}