Specification

Mandates

Mandates API calls

Used to create (DebiCheck: authenticate), edit (DebiCheck: Update, Reauthorise or Cancel) and archive mandates.

When creating payments you can either submit a payment record with the customer, bank accounts and mandate details or create a mandate here and then assign a customer_id, bank_account_id and mandate_id to a payment record.

Create

API call to create (DebiCheck: authenticate) new mandates(s) as single or batch records.

Path

POST /mandates/create

Request Body

{
  "records": [{
    "customer_id": "cus_abc123...",
    "bank_account_id": "ban_abc123...",
    "payment_methods_id": "pam_abc123...",
    // Not applicable to DebiCheck
    "mandate_status_lookups_id": "loo_abc123...",
    "amount": "45.00",
    // required for recurring payments
    "recurring": {
      "process_day": 1,
      "payment_interval_lookups_id": "loo_abc123...",
      "date_release": "2026-05-12"
    },
    // used with one-time payments
    "one-time": {
      "process_date": "2024-10-25"
    },
    // required if Payment method is DebiCheck or EFT Debit Order
    "payment_industry_lookups_id": "loo_abc123...",
    // required if Payment Method is DebiCheck
    "debicheck": {
      "contract_reference": "CTC24091900001",
      "first_collection_amount": "50.45",
      "first_collection_date": "2024-10-16",
      "maximum_collection_amount": "60.00",
      "allow_date_adjustment": true,
      "allow_variable_amount": true,
      "allow_payment_tracking": true,
      "payment_tracking_max_days": 4,
      "adjustment_category_lookups_id": "loo_abc123...",
      "adjustment_type_lookups_id": "loo_abc123...",
      "adjustment_rate": "5.12345",
      "adjustment_amount": "0.00",
      "approval_window_lookups_id": "loo_abc123..."
    }
  }]
}

Example: One-time EFT Debit Order

{
  "records": [{
    "customer_id": "cus_...",
    "bank_account_id": "ban_...",
    "payment_methods_id": "pam_...",
    "mandate_status_lookups_id": "loo_...",
    "amount": "45.00",
    "one-time": {
      "process_date": "2025-06-25"
    },
    "payment_industry_lookups_id": "loo_..."
  }]
}

Example: Recurring EFT Debit Order

{
  "records": [{
    "customer_id": "cus_...",
    "bank_account_id": "ban_...",
    "payment_methods_id": "pam_...",
    "mandate_status_lookups_id": "loo_...",
    "amount": "45.00",
    "recurring": {
      "process_day": 1,
      "payment_interval_lookups_id": "loo_abc123...",
      "date_release": "2026-05-12"
    },
    "payment_industry_lookups_id": "loo_..."
  }]
}

Example: One-time DebiCheck

{
  "records": [{
    "customer_id": "cus_...",
    "bank_account_id": "ban_...",
    "payment_methods_id": "pam_...",
    "amount": "45.00",
    "one-time": {
      "process_date": "2025-06-25"
    },
    "payment_industry_lookups_id": "loo_...",
    "debicheck": {
      "contract_reference": "CTC24091900002",
      "maximum_collection_amount": "60.00",
      "allow_payment_tracking": true,
      "payment_tracking_max_days": 4,
      "approval_window_lookups_id": "loo_..."
    }
  }]
}

Example: Recurring DebiCheck

{
  "records": [{
    "customer_id": "cus_...",
    "bank_account_id": "ban_...",
    "payment_methods_id": "pam_...",
    "amount": "45.00",
    "recurring": {
      "process_day": 1,
      "payment_interval_lookups_id": "loo_...",
      "date_release": "2026-05-12"
    },
    "payment_industry_lookups_id": "loo_...",
    "debicheck": {
      "contract_reference": "CTC24091900002",
      "first_collection_amount": "50.45",
      "first_collection_date": "2025-05-01",
      "maximum_collection_amount": "60.00",
      "allow_date_adjustment": true,
      "allow_variable_amount": true,
      "allow_payment_tracking": true,
      "payment_tracking_max_days": 4,
      "adjustment_category_lookups_id": "loo_...",
      "adjustment_type_lookups_id": "loo_...",
      "adjustment_rate": "5.12345",
      "adjustment_amount": "0.00",
      "approval_window_lookups_id": "loo_..."
    }
  }]
}

Response Body

{
    "status": true,
    "results": [{
        "id": "man_abc123...",
        "updated_at": null,
        "created_at": "2024-02-27 09:11:23",
        "customer_id": "cus_abc123...",
        "bank_account_id": "ban_abc123...",
        "payment_methods_id": "pam_abc123...",
        "mandate_status_lookups_id": "loo_abc123...",
        "amount": "45.00",
        "recurring": {
          "process_day": 1,
          "payment_interval_lookups_id": "loo_abc123...",
          "date_release": "2026-05-12"
        },
        "one-time": {...},
        "payment_industry_lookups_id": "loo_abc123...",
        "debicheck": {
          "contract_reference": "CTC24091900001",
          "first_collection_amount": "50.45",
          "first_collection_date": "2024-10-16",
          "maximum_collection_amount": "60.00",
          "allow_date_adjustment": true,
          "allow_variable_amount": true,
          "allow_payment_tracking": true,
          "payment_tracking_max_days": 4,
          "adjustment_category_lookups_id": "loo_abc123...",
          "adjustment_type_lookups_id": "loo_abc123...",
          "adjustment_rate": "5.12345",
          "adjustment_amount": "0.00",
          "approval_window_lookups_id": "loo_abc123..."
        }
    }, ...]
}

Parameters

Field
RequiredType
Description
Example
idn/aString(32)Record id returnedman_abc123...
updated_atn/aDate(YYYY-MM-DD HH:mm:ss)When last the record was updated2024-02-27 09:11:23
created_atn/aDate(YYYY-MM-DD HH:mm:ss)When this record was created2024-02-27 09:11:23
customer_idYString(32)Customer IDcus_abc123...
bank_account_idYString(32)Bank Account IDban_abc123...
payment_methods_idYString(32)Payment Method IDpam_abc123...
mandate_status_lookups_idn/aString(32)Mandate status lookups ID; found by 'mandate_status' in lookups. DebiCheck payment status is always 'created' on mandate submission until feedback is received.loo_abc123...
amountYDecimalThe amount to be collected on the billing day45.00
recurring.process_dayYIntegerCalendar day on which the collection is to be made. If you choose 31st and the month only has 30 days the collection will be made on the 30th.1
recurring.payment_interval_lookups_idNString(32)Lookups ID relating to how often this collection should be run e.g. monthlyloo_abc123...
recurring.date_releaseNDate(YYYY-MM-DD)When this mandate is to release or complete2026-05-01
one-time.process_dateNDate(YYYY-MM-DD)Date upon which transaction will be processed once2024-09-30
payment_industry_lookups_idNString(32)Lookups ID relating to what type of payment this is for e.g. insurance premium. Used by both EFT debit orders and DebiCheck.loo_abc123...
debicheck.contract_referenceCString(14)Required when using DebiCheck. This uniquely identifies the collection.CTC24091900001
debicheck.first_collection_amountNDecimalAmount to be collected on the very first billing day for DebiCheck. This would be your instalment amount plus any fee which you may require e.g. if your payment amount is R 10.00 and you require a R 5.00 fee to be processed on the first billing run then your first collection amount would be R 15.00.50.45
debicheck.first_collection_dateCDate(YYYY-MM-DD)When the first collection amount is to be collected2024-03-01
debicheck.maximum_collection_amountYDecimalRequired by DebiCheck. This is the maximum collection amount allowed for the mandate. This maximum amount may not be more than 1.5 times the payment amount e.g. if your payment amount is R 10.00 then your maximum collection amount may not be more than R15.00.60.00
debicheck.allow_date_adjustmentNBooleanUsed by DebiCheck to indicate that collections may be made on billing days other than the day specified on the mandate.true
debicheck.allow_variable_amountNBooleanUsed by DebiCheck to indicate that the amount collected on the billing day may differ from the mandate payment amount as long as it is less than the maximum collection amount. Must be true when using adjustment category amount/rates.false
debicheck.allow_payment_trackingNBooleanUsed by DebiCheck to allow resubmission of a payment should the payment fail on the collection day. The payment will be resubmitted up to a maximum amount of days, or until the payment succeeds whichever comes first. Warning: this resubmitted payment becomes disputable.true
debicheck.payment_tracking_max_daysNInteger1 to 10 Days. Used by payment tracking specified above to defined the maximum amount of days a resubmission is allowed after the billing day.4
debicheck.adjustment_category_lookups_idNString(32)Used by DebiCheck to adjust the mandate payment amount per specified interval e.g. increase payment amount by R 10.00 every year.loo_abc123...
adjustment_type_lookups_idNString(32)Lookups ID determining the type of adjustment e.g. Rate adjustmentloo_abc123...
debicheck.adjustment_rateNDecimalDetermines the percentage to increase the DebiCheck payment amount per adjustment category interval.5.12345
debicheck.adjustment_amountNDecimalDetermines the amount to increase the DebiCheck payment amount per adjustment category interval. Either adjustment rate OR adjustment amount must be used when an adjustment category is specified and both may not be specified at the same time0.00
debicheck.approval_window_lookups_idNString(32)Determines how long the user has to approve the DebiCheck mandate.loo_abc123...

Update EFT Debit Order

API call to update existing mandate(s) as single or batch records. Records can not be deleted, only archived.

Path

POST /mandates/eft/update

WARNING

An EFT debit order mandate can not be archived/disabled if it has connected running payments you need to stop those payments first.

Only provide the fields you wish to change in the body.

One-time mandates can not be converted to recurring mandates and vice versa. Payment interval of recurring mandates can not be changed after creation.

Request Body

{
  "records": [{
    "id": "man_abc123...",
    "amount": "45.00",
    // for recurring mandates
    "recurring": {
      "process_day": 1,
      "date_release": "2026-05-12"
    },
    // or for one-time mandates
    "one-time": {
      "process_date": "2024-10-25"
    },
    "payment_industry_lookups_id": "loo_abc123...",
    "mandate_status_lookups_id": "loo_abc123..."
  }]
}

Request Parameters

Field
RequiredType
Description
Example
idYString(32)Record id to updateman_abc123...
amountNDecimalThe amount to be collected on the billing day45.00
recurring.process_dayNIntegerCalendar day on which the collection is to be made. If you choose 31st and the month only has 30 days the collection will be made on the 30th.1
recurring.date_releaseNWhen this mandate is to release or complete2026-05-01
one-time.process_dateNDate(YYYY-MM-DD)Date upon which transaction will be processed once2024-09-30
payment_industry_lookups_idNString(32)Lookups ID relating to what type of payment this is for e.g. insurance premium. Used by both EFT debit orders and DebiCheck.loo_abc123...
debit_order.mandate_status_lookups_idNString(32)Only allowed to be changed for EFT debit orders. Mandate status lookups ID; found by 'mandate_status' in lookupsloo_abc123...

Response Body

{
    "status": true,
    "results": [{
        "id": "man_abc123...",
        "updated_at": null,
        "created_at": "2024-02-27 09:11:23",
        "customer_id": "cus_abc123...",
        "bank_account_id": "ban_abc123...",
        "payment_methods_id": "pam_abc123...",
        "mandate_status_lookups_id": "loo_abc123...",
        "amount": "45.00",
        "recurring": {
          "process_day": 1,
          "payment_interval_lookups_id": "loo_abc123...",
          "date_release": "2026-05-12"
        },
        "one-time": {...},
        "payment_industry_lookups_id": "loo_abc123..."
    }, ...]
}

Response Parameters

Field
RequiredType
Description
Example
idn/aString(32)Record id returnedman_abc123...
updated_atn/aDate(YYYY-MM-DD HH:mm:ss)When last the record was updated2024-02-27 09:11:23
created_atn/aDate(YYYY-MM-DD HH:mm:ss)When this record was created2024-02-27 09:11:23
customer_idYString(32)Customer IDcus_abc123...
bank_account_idYString(32)Bank Account IDban_abc123...
payment_methods_idYString(32)Payment Method IDpam_abc123...
mandate_status_lookups_idn/aString(32)Mandate status lookups ID; found by 'mandate_status' in lookupsloo_abc123...
amountYDecimalThe amount to be collected on the billing day45.00
recurring.process_dayYIntegerCalendar day on which the collection is to be made. If you choose 31st and the month only has 30 days the collection will be made on the 30th.1
recurring.payment_interval_lookups_idNString(32)Lookups ID relating to how often this collection should be run e.g. monthlyloo_abc123...
recurring.date_releaseNDate(YYYY-MM-DD)When this mandate is to release or complete2026-05-01
one-time.process_dateNDate(YYYY-MM-DD)Date upon which transaction will be processed once2024-09-30
payment_industry_lookups_idNString(32)Lookups ID relating to what type of payment this is for e.g. insurance premium. Used by both EFT debit orders and DebiCheck.loo_abc123...

Update DebiCheck

API call to update existing mandate(s) as single or batch records. Records can not be deleted, only archived.

Re-submit

POST /mandates/debicheck/update/resubmit

TT1 (approval_window) DebiCheck mandates only. Resubmit the created mandate that is of 'no reply' status.

{
  "records": [{
    "id": "man_abc123..."
  }]
}

Cancel

POST /mandates/debicheck/update/cancel

Cancel/stop the DebiCheck mandate.

WARNING

The cancel reason will show immediately on the record but the status will not be updated until a response is received from the bank.

{
  "records": [{
    "id": "man_abc123...",
    "cancel_reason_lookups_id": "loo_abc..."
  }]
}

Update

POST /mandates/debicheck/update/request

Update the details of an existing mandate

WARNING

When updating DebiCheck mandates depending on the field that you want to update you either perform an update or re-auth.

Only provide the fields you wish to change. Additionally only a select number of fields may be updated for DebiCheck, this is according to the bank rules.

One-time mandates can not be converted to recurring mandates and vice versa. Payment interval of recurring mandates can not be changed after creation.

Example: Recurring

{
  "records": [{
    "id": "man_abc123...",
    
    // Required when action is UPDATE
    "update_reason_lookups_id": "loo_abc...",

    // pull in the latest customer name, id, contact number & email
    "update_customer": true,
    // pull in the latest bank account number and type 
    // NOTE: bank branch is not allowed to change
    "update_bank_account": true,
    // This is the re-authentication instrument used,
    // must be TT2 if original submission was TT2
    "approval_window_lookups_id": "loo_abc123...",
    "amount": "45.00",
    "recurring": {
      "process_day": 1,
      "date_release": "2026-05-12"
    },
    "payment_industry_lookups_id": "loo_abc123...",
    "allow_date_adjustment": true,
    "allow_payment_tracking": true,
    "payment_tracking_max_days": 4,
    "first_collection_amount": "50.45",
    "first_collection_date": "2024-10-16",
    "maximum_collection_amount": "60.00",
    "adjustment_category_lookups_id": "loo_abc123...",
    "adjustment_type_lookups_id": "loo_abc123...",
    "adjustment_rate": "5.12345",
    "adjustment_amount": "0.00"
  }]
}

Example: One-time

{
  "records": [{
    "id": "man_abc123...",
    
    // Required when action is UPDATE
    "update_reason_lookups_id": "loo_abc...",

    // pull in the latest customer name, id, contact number & email
    "update_customer": true,
    // pull in the latest bank account number and type 
    // NOTE: bank branch is not allowed to change
    "update_bank_account": true,
    // This is the re-authentication instrument used,
    // must be TT2 if original submission was TT2
    "approval_window_lookups_id": "loo_abc123...",
    "amount": "45.00",
    "one-time": {
      "process_date": "2024-10-25"
    },
    "payment_industry_lookups_id": "loo_abc123...",
    "allow_payment_tracking": true,
    "payment_tracking_max_days": 4,
    "maximum_collection_amount": "60.00"
  }]
}

Request Parameters

Field
RequiredDebiCheck ActionType
Description
Example
idYn/aString(32)Record id to updateman_abc123...
cancel_reason_lookups_idNn/aString(32)Lookups ID relating to the reason for the cancellation.loo_abc123...
update_reason_lookups_idYn/aString(32)Lookups ID relating to the reason for the update.loo_abc123...
amountNre-authDecimalThe amount to be collected on the billing day45.00
recurring.process_dayNre-authIntegerCalendar day on which the collection is to be made. If you choose 31st and the month only has 30 days the collection will be made on the 30th.1
recurring.date_releaseNupdateWhen this mandate is to release or complete2026-05-01
one-time.process_dateNre-authDate(YYYY-MM-DD)Date upon which transaction will be processed once2024-09-30
payment_industry_lookups_idNupdateString(32)Lookups ID relating to what type of payment this is for e.g. insurance premium. Used by both EFT debit orders and DebiCheck.loo_abc123...
approval_window_lookups_idYn/aString(32)If original mandate creation was TT2 then this must also be TT2 otherwise any of the TT1 options may be selected. Determines how long the user has to approve the DebiCheck mandate update. Only used if a field is contained that requires re-auth.loo_abc123...
update_customerNupdateBooleanUpdates the DebiCheck details with the currently linked customer name, surname, ID number, contact number and email detailstrue
update_bank_accountNre-authBooleanUpdates the DebiCheck details with the currently linked bank account number and bank account type. The bank branch can not be changed, mandates can not be moved between banks.true
allow_date_adjustmentNupdateBooleanUsed by DebiCheck to indicate that collections may be made on billing days other than the day specified on the mandate.true
allow_payment_trackingNupdateBooleanUsed by DebiCheck to allow resubmission of a payment should the payment fail on the collection day. The payment will be resubmitted up to a maximum amount of days, or until the payment succeeds whichever comes first. Warning: this resubmitted payment becomes disputable.true
payment_tracking_max_daysNupdateInteger1 to 10 Days. Used by payment tracking specified above to defined the maximum amount of days a resubmission is allowed after the billing day.4
first_collection_amountNupdateDecimalAmount to be collected on the very first billing day for DebiCheck. This would be your instalment amount plus any fee which you may require e.g. if your payment amount is R 10.00 and you require a R 5.00 fee to be processed on the first billing run then your first collection amount would be R 15.00.50.45
first_collection_dateNre-authDate(YYYY-MM-DD)When the first collection amount is to be collected2024-03-01
maximum_collection_amountNre-authDecimalRequired by DebiCheck. This is the maximum collection amount allowed for the mandate. This maximum amount may not be more than 1.5 times the payment amount e.g. if your payment amount is R 10.00 then your maximum collection amount may not be more than R15.00.60.00
adjustment_category_lookups_idNupdateString(32)Used by DebiCheck to adjust the mandate payment amount per specified interval e.g. increase payment amount by R 10.00 every year.loo_abc123...
adjustment_type_lookups_idNupdateString(32)Lookups ID determining the type of adjustment e.g. Rate adjustmentloo_abc123...
adjustment_rateNre-authDecimalDetermines the percentage to increase the DebiCheck payment amount per adjustment category interval.5.12345
adjustment_amountNre-authDecimalDetermines the amount to increase the DebiCheck payment amount per adjustment category interval. Either adjustment rate OR adjustment amount must be used when an adjustment category is specified and both may not be specified at the same time0.00

Response Body

{
    "status": true,
    "results": [{
        "id": "man_abc123...",
        "updated_at": null,
        "created_at": "2024-02-27 09:11:23",
        "customer_id": "cus_abc123...",
        "bank_account_id": "ban_abc123...",
        "payment_methods_id": "pam_abc123...",
        "mandate_status_lookups_id": "loo_abc123...",
        "bank_request_status_lookups_id": "loo_abc123...",
        "cancel_reason_lookups_id": "loo_abc123...",
        "update_reason_lookups_id": "loo_abc123...",
        "amount": "45.00",
        "recurring": {
          "process_day": 1,
          "payment_interval_lookups_id": "loo_abc123...",
          "date_release": "2026-05-12"
        },
        "one-time": {...},
        "payment_industry_lookups_id": "loo_abc123...",
        "debicheck": {
          "contract_reference": "CTC24091900001",
          "first_collection_amount": "50.45",
          "first_collection_date": "2024-10-16",
          "maximum_collection_amount": "60.00",
          "allow_date_adjustment": true,
          "allow_variable_amount": true,
          "allow_payment_tracking": true,
          "payment_tracking_max_days": 4,
          "adjustment_category_lookups_id": "loo_abc123...",
          "adjustment_type_lookups_id": "loo_abc123...",
          "adjustment_rate": "5.12345",
          "adjustment_amount": "0.00",
          "approval_window_lookups_id": "loo_abc123..."
        }
    }, ...]
}

Response Parameters

Field
RequiredType
Description
Example
idn/aString(32)Record id returnedman_abc123...
updated_atn/aDate(YYYY-MM-DD HH:mm:ss)When last the record was updated2024-02-27 09:11:23
created_atn/aDate(YYYY-MM-DD HH:mm:ss)When this record was created2024-02-27 09:11:23
customer_idYString(32)Customer IDcus_abc123...
bank_account_idYString(32)Bank Account IDban_abc123...
payment_methods_idYString(32)Payment Method IDpam_abc123...
mandate_status_lookups_idn/aString(32)Mandate status lookups ID; found by 'mandate_status' in lookupsloo_abc123...
bank_request_status_lookups_idn/aString(32)Bank request status lookups ID applicable to DebiCheck update and cancellation requests.loo_abc123...
cancel_reason_lookups_idn/aString(32)Mandate cancel reason lookups ID; found by 'cancel_reason' in lookupsloo_abc123...
update_reason_lookups_idn/aString(32)Mandate update reason lookups ID; found by 'update_reason' in lookupsloo_abc123...
amountYDecimalThe amount to be collected on the billing day45.00
recurring.process_dayYIntegerCalendar day on which the collection is to be made. If you choose 31st and the month only has 30 days the collection will be made on the 30th.1
recurring.payment_interval_lookups_idNString(32)Lookups ID relating to how often this collection should be run e.g. monthlyloo_abc123...
recurring.date_releaseNDate(YYYY-MM-DD)When this mandate is to release or complete2026-05-01
one-time.process_dateNDate(YYYY-MM-DD)Date upon which transaction will be processed once2024-09-30
payment_industry_lookups_idNString(32)Lookups ID relating to what type of payment this is for e.g. insurance premium. Used by both EFT debit orders and DebiCheck.loo_abc123...
debicheck.contract_referenceCString(14)Required when using DebiCheck. This uniquely identifies the collection.CTC24091900001
debicheck.first_collection_amountNDecimalAmount to be collected on the very first billing day for DebiCheck. This would be your instalment amount plus any fee which you may require e.g. if your payment amount is R 10.00 and you require a R 5.00 fee to be processed on the first billing run then your first collection amount would be R 15.00.50.45
debicheck.first_collection_dateCDate(YYYY-MM-DD)When the first collection amount is to be collected2024-03-01
debicheck.maximum_collection_amountYDecimalRequired by DebiCheck. This is the maximum collection amount allowed for the mandate. This maximum amount may not be more than 1.5 times the payment amount e.g. if your payment amount is R 10.00 then your maximum collection amount may not be more than R15.00.60.00
debicheck.allow_date_adjustmentNBooleanUsed by DebiCheck to indicate that collections may be made on billing days other than the day specified on the mandate.true
debicheck.allow_variable_amountNBooleanUsed by DebiCheck to indicate that the amount collected on the billing day may differ from the mandate payment amount as long as it is less than the maximum collection amount. Must be true when using adjustment category amount/rates.false
debicheck.allow_payment_trackingNBooleanUsed by DebiCheck to allow resubmission of a payment should the payment fail on the collection day. The payment will be resubmitted up to a maximum amount of days, or until the payment succeeds whichever comes first. Warning: this resubmitted payment becomes disputable.true
debicheck.payment_tracking_max_daysNInteger1 to 10 Days. Used by payment tracking specified above to defined the maximum amount of days a resubmission is allowed after the billing day.4
debicheck.adjustment_category_lookups_idNString(32)Used by DebiCheck to adjust the mandate payment amount per specified interval e.g. increase payment amount by R 10.00 every year.loo_abc123...
adjustment_type_lookups_idNString(32)Lookups ID determining the type of adjustment e.g. Rate adjustmentloo_abc123...
debicheck.adjustment_rateNDecimalDetermines the percentage to increase the DebiCheck payment amount per adjustment category interval.5.12345
debicheck.adjustment_amountNDecimalDetermines the amount to increase the DebiCheck payment amount per adjustment category interval. Either adjustment rate OR adjustment amount must be used when an adjustment category is specified and both may not be specified at the same time0.00
debicheck.approval_window_lookups_idNString(32)Determines how long the user has to approve the DebiCheck mandate.loo_abc123...

List

List mandates loaded on the platform.

Path

GET /mandates/list?{params}

Query Parameters

Field
Type
RequiredDescription
Example
mandate_status_lookups_idString(32)NFilter for a specific bank account status. Lookups type must be 'mandate_status'.loo_abc123...
customer_idString(32)NFilter for a specific customer id.cus_abc123...
bank_account_idString(32)NFilter for a specific bank account id.ban_abc123...
payment_methods_idString(32)NFilter for a specific payment method id.pam_abc123...
date_startDate(YYYY-MM-DD)NFilter for records that have a created date after this date specified.2024-09-13
date_endDate(YYYY-MM-DD)NFilter for records that have an created date before this specified date2025-04-24

Response Body

{
  "status": true,
  "results": [{
    "id": "man_abc123...",
    "updated_at": null,
    "created_at": "2024-02-27 09:11:23",
    "customer_id": "cus_abc123...",
    "bank_account_id": "ban_abc123...",
    "payment_methods_id": "pam_abc123...",
    "mandate_status_lookups_id": "loo_abc123...",
    "bank_request_status_lookups_id": "loo_abc123...",
    "cancel_reason_lookups_id": "loo_abc123...",
    "update_reason_lookups_id": "loo_abc123...",
    "amount": "45.00",
    "recurring": {
      "process_day": 1,
      "payment_interval_lookups_id": "loo_abc123...",
      "date_release": "2026-05-12"
    },
    "one-time": {...},
    "payment_industry_lookups_id": "loo_abc123...",
    "debicheck": {
      "contract_reference": "CTC24091900001",
      "first_collection_amount": "50.45",
      "first_collection_date": "2024-10-16",
      "maximum_collection_amount": "60.00",
      "allow_date_adjustment": true,
      "allow_variable_amount": true,
      "allow_payment_tracking": true,
      "payment_tracking_max_days": 4,
      "adjustment_category_lookups_id": "loo_abc123...",
      "adjustment_type_lookups_id": "loo_abc123...",
      "adjustment_rate": "5.12345",
      "adjustment_amount": "0.00",
      "approval_window_lookups_id": "loo_abc123..."
    }
  }, ...]
}

Parameters

Field
RequiredType
Description
Example
idn/aString(32)Record id returnedman_abc123...
updated_atn/aDate(YYYY-MM-DD HH:mm:ss)When last the record was updated2024-02-27 09:11:23
created_atn/aDate(YYYY-MM-DD HH:mm:ss)When this record was created2024-02-27 09:11:23
customer_idYString(32)Customer IDcus_abc123...
bank_account_idYString(32)Bank Account IDban_abc123...
payment_methods_idYString(32)Payment Method IDpam_abc123...
mandate_status_lookups_idn/aString(32)Mandate status lookups ID; found by 'mandate_status' in lookupsloo_abc123...
bank_request_status_lookups_idn/aString(32)Bank request status lookups ID applicable to DebiCheck update and cancellation requests.loo_abc123...
cancel_reason_lookups_idn/aString(32)Mandate cancel reason lookups ID; found by 'cancel_reason' in lookupsloo_abc123...
update_reason_lookups_idn/aString(32)Mandate update reason lookups ID; found by 'update_reason' in lookupsloo_abc123...
amountYDecimalThe amount to be collected on the billing day45.00
recurring.process_dayYIntegerCalendar day on which the collection is to be made. If you choose 31st and the month only has 30 days the collection will be made on the 30th.1
recurring.payment_interval_lookups_idNString(32)Lookups ID relating to how often this collection should be run e.g. monthlyloo_abc123...
recurring.date_releaseNDate(YYYY-MM-DD)When this mandate is to release or complete2026-05-01
one-time.process_dateNDate(YYYY-MM-DD)Date upon which transaction will be processed once2024-09-30
payment_industry_lookups_idNString(32)Lookups ID relating to what type of payment this is for e.g. insurance premium. Used by both EFT debit orders and DebiCheck.loo_abc123...
debicheck.contract_referenceCString(14)Required when using DebiCheck. This uniquely identifies the collection.CTC24091900001
debicheck.first_collection_amountNDecimalAmount to be collected on the very first billing day for DebiCheck. This would be your instalment amount plus any fee which you may require e.g. if your payment amount is R 10.00 and you require a R 5.00 fee to be processed on the first billing run then your first collection amount would be R 15.00.50.45
debicheck.first_collection_dateCDate(YYYY-MM-DD)When the first collection amount is to be collected2024-03-01
debicheck.maximum_collection_amountYDecimalRequired by DebiCheck. This is the maximum collection amount allowed for the mandate. This maximum amount may not be more than 1.5 times the payment amount e.g. if your payment amount is R 10.00 then your maximum collection amount may not be more than R15.00.60.00
debicheck.allow_date_adjustmentNBooleanUsed by DebiCheck to indicate that collections may be made on billing days other than the day specified on the mandate.true
debicheck.allow_variable_amountNBooleanUsed by DebiCheck to indicate that the amount collected on the billing day may differ from the mandate payment amount as long as it is less than the maximum collection amount. Must be true when using adjustment category amount/rates.false
debicheck.allow_payment_trackingNBooleanUsed by DebiCheck to allow resubmission of a payment should the payment fail on the collection day. The payment will be resubmitted up to a maximum amount of days, or until the payment succeeds whichever comes first. Warning: this resubmitted payment becomes disputable.true
debicheck.payment_tracking_max_daysNInteger1 to 10 Days. Used by payment tracking specified above to defined the maximum amount of days a resubmission is allowed after the billing day.4
debicheck.adjustment_category_lookups_idNString(32)Used by DebiCheck to adjust the mandate payment amount per specified interval e.g. increase payment amount by R 10.00 every year.loo_abc123...
adjustment_type_lookups_idNString(32)Lookups ID determining the type of adjustment e.g. Rate adjustmentloo_abc123...
debicheck.adjustment_rateNDecimalDetermines the percentage to increase the DebiCheck payment amount per adjustment category interval.5.12345
debicheck.adjustment_amountNDecimalDetermines the amount to increase the DebiCheck payment amount per adjustment category interval. Either adjustment rate OR adjustment amount must be used when an adjustment category is specified and both may not be specified at the same time0.00
debicheck.approval_window_lookups_idNString(32)Determines how long the user has to approve the DebiCheck mandate.loo_abc123...

Copyright © 2024 Kwik