Overview
Every operation on the Mandates (Direct Debit) API, generated from the specification.
/v2/accountverification/verify
/v2/accountverification/validate
Lists all Markoff Details
List Bank Account Settlement executions
Lists all Bank Account Statements
Gets a specific Bank Account Statement
Creates a Debicheck Mandate Callback
Creates a Debicheck Collection Callback
Creates a Eft Collection Callback
Creates a Eft Payment Callback
Tests Debicheck Mandate Callback
Tests a Debicheck Collection Callback
Tests a Eft Collection Callback
Tests a Eft Payment Callback
Tests a Settlement Callback
Lists all Client Callback URLs
Create a new Client CallbackUrl
Gets a specific Client CallBack URL
Delete a Client Callback URL
Update a Client Callback Url
Lists all Profiles for a specific client
Get a specific Profile for a specific client
Lists all Debicheck Collection
Create a new Debicheck Collection
Lists all EFT Collection
Create a new EFT Mandate and Collection based on the created mandate
Field descriptions: `collectionDate`: The date on which to action the collection. `serviceType`: The service type to use for this collection. Accepted values: ONEDAY, TWODAY, SAMEDAY `profileCode`: The profile code to attach to this collection. Ensure that the token (JWT) used for this request has access to this profile code, otherwise you will get a HTTP 400 response ("Profile code does not exist") `externalReference`: A unique reference, which can later be queried for the underlying mandate. If this value is not unique you will get a HTTP 400 response ("Mandate with this external reference already exists") `abbreviatedName`: The abbreviated name or "short name" that will be used for the mandates and collection. `contractReference`: The contract reference used for this collection. `debtor`: Debtor (money deducted from) details are set in this object. `creditor`: Creditor (money added to) details are set in this object. `releaseDate`: The date on which the underlying mandate should be expired. `frequency`: The frequency at which collections will occur for this mandate. Accepted values: WEEKLY, MONTHLY or YEARLY. `ultimateCreditor`: This is used when you want this collection to be automatically be settled to a separate creditor account, after collection into the ordinary creditor account. `entryClass`: Used by the bank to categorise the mandate. | | | | |-----------------|------------------|------------------------------------------------------| | Accepted values | `21` | `Insurance Premium` | | `22` | `Pension Fund Contribution` | | `23` | `Medical Aid Fund Contribution` | | `26` | `Unit Trust Purchase` | | `28` | `Charitable or religious contributions` | | `31` | `H.P. Repayment` | | `32` | `Account Repayment` | | `33` | `Loan Repayment (other than Mortgage)` | | `34` | `Rental-Lease (other than Property)` | | `35` | `Service Charge (Maintenance of Service Agreements, etc.)` | | `36` | `Value Added Tax (Vat collection)` | | `37` | `Service Charge (Variable Amounts)` | | `41` | `Rent (Property)` | | `42` | `Bond Repayment` `amountCents`: The amount (in cents) to collect. `currency`: The currency to use for this collection. Accepted values: ZAR `verifyAccount`: NB: This incurs additional costs. Whether to verify the debtor's account details using the bank's Account Verification Service. `validateAccount`: Whether to verify the debtor's account details using a Check Digit Validation Service.
Gets specific Debicheck Collection
Delete a Debicheck Collection
Gets specific EFT Collection
Delete a EFT Collection
Create a new Debicheck Collection from an existing Debicheck Mandate
Field descriptions: `mandateId`: The identifier for the mandate used for this collection. `mandateReferenceNumber`: The bank reference number for the mandate used for this collection. This should only be specified if this mandate has already been authorised by the bank and creditor/client. `collectionDate`: The date on which to action this collection. `trackingPeriod`: The number of days to track this debicheck collection (max 10). This field can only be set if traking is enabled on the mandate. `amountCents`: The amount (cents) to collect. `debitSequence`: The debit sequence for this collection. Use `FRST` if this is a explicit "first" collection for this mandate, otherwise this value should match the debit sequence on the mandate. Accepted values: FRST, OOFF, RCUR. `externalReference`: A unique reference, which can later be queried for this collection. If this value is not unique you will get a HTTP 400 response ("Collection with this external reference already exists")
Recreate a Debicheck Collection as a new EFT Collection
Field descriptions: `merchantProfileId`: The creditor profile identifier to use for the EFT Collection. `collectionDate`: The date on which to action this collection. `amountCents`: The amount (cents) to collect. `externalReference`: A unique reference, which can later be queried for this collection. If this value is not unique you will get a HTTP 400 response ("Collection with this external reference already exists") `serviceType`: The type of EFT to create for this collection. Accepted values: ONEDAY, TWODAY, SAMEDAY.
Create a new EFT Collection from an existing EFT Mandate
Field descriptions: `mandateId`: The identifier for the mandate used for this collection. `collectionDate`: The date on which to action this collection. `amountCents`: The amount (cents) to collect. `externalReference`: A unique reference, which can later be queried for this collection. If this value is not unique you will get a HTTP 400 response ("Collection with this external reference already exists") `serviceType`: The type of EFT to create for this collection. Accepted values: ONEDAY, TWODAY, SAMEDAY.
Gets the latest status of a Debicheck Collection
Gets the latest status of a EFT Collection
Generate a csv template to upload debicheck collections
Download previously processed csv results after uploading debicheck collections
Create debicheck collections from a csv template
Generate a csv template to upload eft collections
Create eft collections from a csv template
Download previously processed csv results after uploading eft collections
Lists all Collection Results
Lists all collection events, ordered by the time they were created at
Lists all payment events, ordered by the time they were created at
Lists all mandate events, ordered by the time they were created at
Lists all profile events, ordered by the time they were created at
Lists all Debicheck Mandates
Create a new Debicheck Mandate
Field descriptions: `trackingPeriod`: If this value is more than 0 then tracking will be enabled for this mandate. `initiationDate`: The date on which this mandate was initiated. This value should only be set if this mandate is already authenticated with the bank and creditor. `valueType`: The value type for this mandate, referring to the collection amount. Use `FIXED` when the amount should be the same for all collections. Accepted values: FIXED, VARIABLE, USAGEBASED. `debitSequence`: The debit sequence for this mandate. Use `OOFF` (once-off) if only one collection will be created, otherwise use `RCUR` (recurring). Accepted values: OOFF, RCUR. `maxAmountCents`: The maximum amount (in cents) that can be collected with this mandate. `allowDateAdjustment`: Indicates whether the collection day for this mandate could be any day of the month. `adjustmentCategory`: Indicates a frequency to adjust the collection amount for this mandate. If an Adjustment Category is specified, Either an adjustment amount OR rate needs to be specfied. Accepted values: NEVER, QUARTERLY, BIANNUALLY, ANNUALLY, REPO. `adjustmentAmountCents`: Only set this value if `adjustmentCategory` is not `NEVER` AND `adjustmentRate` is not set. The amount (cents) to adjust collections with after the period specified by `adjustmentCategory`. `adjustmentRate`: Only set this value if `adjustmentCategory` is not `NEVER` AND `adjustmentAmountCents` is not set. The rate at which to adjust the collection amount with after the period specified by `adjustmentCategory`. `lastSuccessfulAuditId`: Do not set this value, it is automatically updated when this mandate is successful. `authenticationType`: The type of authentication that is used to authenticate this mandate. Accepted values: REALTIME, DELAYED, DELAYED_WITHOUT_AUTH. `realtimeAuthRetries`: If REALTIME auth is used, this field indicates the number of times auth will be retried if it times out. `doDelayedOnAuthFailure`: If REALTIME auth is used, this field indicates whether to fallback to delayed auth if realtime auth times out. `fallbackAuthenticationType`: If REALTIME auth is used, this field indicates what auth instrument to fallback to if realtime auth times out. Can not be used if `doDelayedOnAuthFailure` is true. `referenceNumber`: The bank reference number for this mandate. This should only be specified if this mandate has already been authorised by the bank and creditor/client. `profileCode`: The profile code to create this mandate for. Ensure that the token (JWT) used for this request has access to this profile code, otherwise you will get a HTTP 400 response ("Profile code does not exist") `externalReference`: A unique reference, which can later be queried for this mandate. If this value is not unique you will get a HTTP 400 response ("Mandate with this external reference already exists") `abbreviatedName`: The abbreviated name or "short name" that will be used for this mandate at the bank. This name will be used when authenticating with the debtor (shown in the USSD message) and in any further debits. `contractReference`: The reference used for this mandate at the bank. This reference will be used when authenticating when authenticating with the debtor (shown in the USSD message) and in any further debits. `debtor`: Debtor (money deducted from) account details are set in this object. `creditor`: Creditor (money added to) account details are set in this object. `releaseDate`: The date on which this mandate should be expired by the bank. `firstCollectionDate`: The date on which the first collection for this mandate should happen. This should only be set if this day is different to the `collectionDay`. `firstCollectionAmountCents`: The collection amount for the first collection. This should only be set if `firstCollectionDate` is set. `frequency`: The frequency at which collections will occur for this mandate. Accepted values: WEEKLY, MONTHLY or YEARLY. `ultimateCreditor`: This is used when you want this collection to be automatically be settled to a seperate creditor account, after collection into the ordinary creditor account. Ultimate creditor account details are set in this object. `entryClass`: Used by the bank to categorise the mandate. | | | | |-----------------|------------------|------------------------------------------------------| | Accepted values | `21` | `Insurance Premium` | | `22` | `Pension Fund Contribution` | | `23` | `Medical Aid Fund Contribution` | | `26` | `Unit Trust Purchase` | | `28` | `Charitable or religious contributions` | | `31` | `H.P. Repayment` | | `32` | `Account Repayment` | | `33` | `Loan Repayment (other than Mortgage)` | | `34` | `Rental-Lease (other than Property)` | | `35` | `Service Charge (Maintenance of Service Agreements, etc.)` | | `36` | `Value Added Tax (Vat collection)` | | `37` | `Service Charge (Variable Amounts)` | | `41` | `Rent (Property)` | | `42` | `Bond Repayment` `collectionDay`: The day on which to collect for this mandate. This does not mean that collections will automatically be created for this mandate, the Collections API must still be called to create collections for this mandate. | `frequency` | `WEEKLY` | `MONTHLY` | `YEARLY` | |-----------------|-----------------|------------------------------------------------------|-------------| | Accepted values | `1` (Monday) | `1`-`30` | '1'-'366' | | | `2` (Tuesday) | `99` - Last Day | | | | `3` (Wednesday | for February date is 28 if previously indicated 29th | | | | `4` (Thursday) | | | | | `5` (Friday) | | | | | `6` (Saturday) | | | | | `7` (Sunday) | | | `amountCents`: The amount (in cents) to collect for this mandate. If the value type of this mandate is `USAGEBASED` then this field is not required. `currency`: The currency to use for money collected with this mandate. Accepted values: ZAR `verifyAccount`: NB: This incurs additional costs. Whether to verify the debtor's account details using the bank's Account Verification Service. `authenticationDate` : The date on which to initiate authorisation for a delayed auth mandate
Lists all EFT Mandates
Create a new EFT Mandate
Field descriptions: `defaultServiceType`: the default service type to use for the EFT collections of this mandate, can be changed on the collection request. Accepted values: ONEDAY, TWODAY, SAMEDAY `profileCode`: The profile code to create this mandate for. Ensure that the token (JWT) used for this request has access to this profile code, otherwise you will get a HTTP 400 response ("Profile code does not exist") `externalReference`: A unique reference, which can later be queried for this mandate. If this value is not unique you will get a HTTP 400 response ("Mandate with this external reference already exists") `abbreviatedName`: The abbreviated name or "short name" that will be used for this mandate. `contractReference`: The contract reference used for collections made from this mandate. See contract reference on collections. `debtor`: Debtor (money deducted from) details are set in this object. `creditor`: Creditor (money added to) details are set in this object. `releaseDate`: The date on which this mandate should be expired. `frequency`: The frequency at which collections will occur for this mandate. Accepted values: WEEKLY, MONTHLY or YEARLY. `ultimateCreditor`: This is used when you want this mandate's collections to be automatically be settled to a separate creditor account, after collection into the ordinary creditor account. `entryClass`: Used by the bank to categorise the mandate. | | | | |-----------------|------------------|------------------------------------------------------| | Accepted values | `21` | `Insurance Premium` | | `22` | `Pension Fund Contribution` | | `23` | `Medical Aid Fund Contribution` | | `26` | `Unit Trust Purchase` | | `28` | `Charitable or religious contributions` | | `31` | `H.P. Repayment` | | `32` | `Account Repayment` | | `33` | `Loan Repayment (other than Mortgage)` | | `34` | `Rental-Lease (other than Property)` | | `35` | `Service Charge (Maintenance of Service Agreements, etc.)` | | `36` | `Value Added Tax (Vat collection)` | | `37` | `Service Charge (Variable Amounts)` | | `41` | `Rent (Property)` | | `42` | `Bond Repayment` `collectionDay`: The day on which to collect for this mandate. This does not mean that collections will automatically be created for this mandate, the Collections API must still be called to create collections for this mandate. `amountCents`: The amount (in cents) to collect for this mandate. `currency`: The currency to use for money collected with this mandate. Accepted values: ZAR `verifyAccount`: NB: This incurs additional costs. Whether to verify the debtor's account details using the bank's Account Verification Service.
Gets specific Debicheck Mandate
Patch a Debicheck Mandate
Update a Debicheck Mandate
Field descriptions: `state`: The state the mandate is currently in. This field can only be updated by admin users. `trackingPeriod`: If this value is more than 0 then tracking will be enabled for this mandate. `initiationDate`: The date on which this mandate was initiated. This value should only be set if this mandate is already authenticated with the bank and creditor. `valueType`: The value type for this mandate, referring to the collection amount. Use `FIXED` when the amount should be the same for all collections. Accepted values: FIXED, VARIABLE, USAGEBASED. `debitSequence`: The debit sequence for this mandate. Use `OOFF` (once-off) if only one collection will be created, otherwise use `RCUR` (recurring). Accepted values: OOFF, RCUR. `maxAmountCents`: The maximum amount (in cents) that can be collected with this mandate. `allowDateAdjustment`: Indicates whether the collection day for this mandate could be any day of the month. `adjustmentCategory`: Indicates a frequency to adjust the collection amount for this mandate. If an Adjustment Category is specified, Either an adjustment amount OR rate needs to be specfied. Accepted values: NEVER, QUARTERLY, BIANNUALLY, ANNUALLY, REPO. `adjustmentAmountCents`: Only set this value if `adjustmentCategory` is not `NEVER` AND `adjustmentRate` is not set. The amount (cents) to adjust collections with after the period specified by `adjustmentCategory`. `adjustmentRate`: Only set this value if `adjustmentCategory` is not `NEVER` AND `adjustmentAmountCents` is not set. The rate at which to adjust the collection amount with after the period specified by `adjustmentCategory`. `lastSuccessfulAuditId`: Do not set this value, it is automatically updated when this mandate is successful. `authenticationType`: The type of authentication that is used to authenticate this mandate. Accepted values: REALTIME, DELAYED, DELAYED_WITHOUT_AUTH. `realtimeAuthRetries`: If REALTIME auth is used, this field indicates the number of times auth will be retried if it times out. `doDelayedOnAuthFailure`: If REALTIME auth is used, this field indicates whether to fallback to delayed auth if realtime auth times out. `fallbackAuthenticationType`: If REALTIME auth is used, this field indicates what auth instrument to fallback to if realtime auth times out. Can not be used if `doDelayedOnAuthFailure` is true. `referenceNumber`: The bank reference number for this mandate. This should only be specified if this mandate has already been authorised by the bank and creditor/client. `profileCode`: The profile code to create this mandate for. Ensure that the token (JWT) used for this request has access to this profile code, otherwise you will get a HTTP 400 response ("Profile code does not exist") `externalReference`: A unique reference, which can later be queried for this mandate. If this value is not unique you will get a HTTP 400 response ("Mandate with this external reference already exists") `abbreviatedName`: The abbreviated name or "short name" that will be used for this mandate at the bank. This name will be used when authenticating with the debtor (shown in the USSD message) and in any further debits. `contractReference`: The reference used for this mandate at the bank. This reference will be used when authenticating when authenticating with the debtor (shown in the USSD message) and in any further debits. `debtor`: Debtor (money deducted from) account details are set in this object. `creditor`: Creditor (money added to) account details are set in this object. `releaseDate`: The date on which this mandate should be expired by the bank. `firstCollectionDate`: The date on which the first collection for this mandate should happen. This should only be set if this day is different to the `collectionDay`. `firstCollectionAmountCents`: The collection amount for the first collection. This should only be set if `firstCollectionDate` is set. `frequency`: The frequency at which collections will occur for this mandate. Accepted values: WEEKLY, MONTHLY or YEARLY. `ultimateCreditor`: This is used when you want this collection to be automatically be settled to a seperate creditor account, after collection into the ordinary creditor account. Ultimate creditor account details are set in this object. `entryClass`: Used by the bank to categorise the mandate. | | | | |-----------------|------------------|------------------------------------------------------| | Accepted values | `21` | `Insurance Premium` | | `22` | `Pension Fund Contribution` | | `23` | `Medical Aid Fund Contribution` | | `26` | `Unit Trust Purchase` | | `28` | `Charitable or religious contributions` | | `31` | `H.P. Repayment` | | `32` | `Account Repayment` | | `33` | `Loan Repayment (other than Mortgage)` | | `34` | `Rental-Lease (other than Property)` | | `35` | `Service Charge (Maintenance of Service Agreements, etc.)` | | `36` | `Value Added Tax (Vat collection)` | | `37` | `Service Charge (Variable Amounts)` | | `41` | `Rent (Property)` | | `42` | `Bond Repayment` `collectionDay`: The day on which to collect for this mandate. This does not mean that collections will automatically be created for this mandate, the Collections API must still be called to create collections for this mandate. | `frequency` | `WEEKLY` | `MONTHLY` | `YEARLY` | |-----------------|-----------------|------------------------------------------------------|-------------| | Accepted values | `1` (Monday) | `1`-`30` | '1'-'366' | | | `2` (Tuesday) | `99` - Last Day | | | | `3` (Wednesday | for February date is 28 if previously indicated 29th | | | | `4` (Thursday) | | | | | `5` (Friday) | | | | | `6` (Saturday) | | | | | `7` (Sunday) | | | `amountCents`: The amount (in cents) to collect for this mandate. If the value type of this mandate is `USAGEBASED` then this field is not required. `currency`: The currency to use for money collected with this mandate. Accepted values: ZAR `verifyAccount`: NB: This incurs additional costs. Whether to verify the debtor's account details using the bank's Account Verification Service.