Initiate Direct Debit

This API lets you initiate a debit on an existing mandate.

Let's get started.

1 - Pay with mandate

Ensure the details you provide match those used to create the mandate currently being debited. To proceed, make a POST request to our Initiate Debit on Mandate endpoint.

Endpoint:

{{host}}/mandate-mgt/mandates/payment
curl --location 'https://api.fincra.com/mandate-mgt/mandates/payment' \
--header 'accept: application/json' \
--header 'api-key: <Your API secret key>' \
--header 'Content-Type: application/json' \

Here's a sample payload to initialize a transaction:

{
    "amount": 100,
    "description": "Direct debit for loan",
    "mandateReference": "mr_9dc12651-49df0-4e4f-9051-5627427d1988",
    "reference": "UUreplicda25",
    "currency": "NGN",
    "bankCode": "999998",
    "accountNumber": "0051762787",
    "initiatorAccountName": "biao name",
    "beneficiaryNarration": "bia mnonso narration"
}

If the API call is successful, Fincra returns the following response:

{
    "amount": 100,
    "description": "Direct debit for loan",
    "mandateReference": "mr_9dc12651-49df0-4e4f-9051-5627427d1988",
    "reference": "fcr-p-a9853908bb",
    "currency": "NGN",
    "bankCode": "999998",
    "accountNumber": "0051762787",
    "paymentMethods": [
        "direct_debit"
    ],
    "defaultPaymentMethod": "direct_debit",
    "convertedAmount": 100,
    "convertedCurrency": "NGN",
    "settlementDestination": "bank_account",
    "settlementTime": "next_day",
    "scheduledAt": null,
    "feeBearer": "customer",
    "merchantReference": "MKMDTDEBITTST13",
    "businessId": "6157039850139ad6695d8633",
    "mandateCode": null,
    "payer": {
        "accountNumber": "0051762787",
        "bankCode": "999998"
    },
    "paymentLinkId": null,
    "redirectUrl": null,
    "customUrl": null,
    "successMessage": null,
    "metadata": null,
    "varianceType": null,
    "customer": {
        "phoneNumber": null
    },
    "id": 1278613,
    "amountReceived": 0,
    "isDisabled": false,
    "status": "initiated",
    "createdAt": "2024-06-24T16:16:06.443Z",
    "updatedAt": "2024-06-24T16:16:06.443Z",
    "amountExpected": 1100,
    "message": null,
    "actionRequired": null
}

Note: The mandate reference is the reference that was created and returned when the mandate was initially created. Also, a debit can not be initiated using a mandate whose tenure has ended, or one where the mandate amount has been maximized.

2 - Receive and validate webhook notification

Listen for webhook events. We will send a notification to your webhook URL that indicates the status of the collection. Read our guide on securing and validating the webhook notification on your end.

Webhook response:

{
  "event": "direct_debit.success",
  "data": {
    "amount": 109,
    "description": "Direct debit for loan",
    "mandateReference": "mr_33WJEHJ8-3cf2-4495-8acc-h87hnin9sh",
    "reference": "MKMHJEHHSITT370",
    "currency": "NGN",
    "bankCode": "044",
    "accountNumber": "8923898923",
    "paymentMethods": [
      "direct_debit"
    ],
    "defaultPaymentMethod": "direct_debit",
    "convertedAmount": 109,
    "convertedCurrency": "NGN",
    "settlementDestination": "bank_account",
    "scheduledAt": null,
    "feeBearer": "customer",
    "merchantReference": "MKMDTDEBITTST10",
    "businessId": "8892989jd9j9d38j893",
    "mandateCode": "RC1hbsd878/18376/92908497284",
    "payer": {
      "accountNumber": "8923898923",
      "bankCode": "044"
    },
    "paymentLinkId": null,
    "redirectUrl": null,
    "customUrl": null,
    "successMessage": null,
    "metadata": null,
    "varianceType": null,
    "customer": {
      "phoneNumber": null
    },
    "id": 289389,
    "amountReceived": 0,
    "isDisabled": false,
    "status": "success",
    "createdAt": "2024-05-16T11:13:54.960Z",
    "updatedAt": "2024-05-16T11:13:54.960Z",
    "actionRequired": null
  }
}
{
  "event": "direct_debit.failed",
  "data": {
    "amount": 106,
    "description": "Direct debit for loan",
    "mandateReference": "mr_13u8w794-7595-4ac7-97874-c79bweui3ad6",
    "reference": "MKMDTDEBITUHS98",
    "currency": "NGN",
    "bankCode": "232",
    "accountNumber": "09028389823",
    "paymentMethods": [
      "direct_debit"
    ],
    "defaultPaymentMethod": "direct_debit",
    "convertedAmount": 106,
    "convertedCurrency": "NGN",
    "settlementDestination": "bank_account",
    "scheduledAt": null,
    "feeBearer": "customer",
    "merchantReference": "MKMDTDEBITTST07",
    "businessId": "283999389898293unu98c",
    "mandateCode": "RC188989832/892389/983289GG",
    "payer": {
      "accountNumber": "09028389823",
      "bankCode": "232"
    },
    "paymentLinkId": null,
    "redirectUrl": null,
    "customUrl": null,
    "successMessage": null,
    "metadata": null,
    "varianceType": null,
    "customer": {
      "phoneNumber": null
    },
    "id": 23998923,
    "amountReceived": 0,
    "isDisabled": false,
    "status": "failed",
    "createdAt": "2024-05-16T11:13:20.332Z",
    "updatedAt": "2024-05-16T11:13:20.332Z",
    "actionRequired": null
  }
}