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 bank to categorise the mandate. TODO Add categories.
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
autoCollect
: This feature is not supported yet, please set to false
or leave unset.
verifyAccount
: NB: This incurs additional costs. Whether to verify the debtor's account details using the bank's Account Verification Service.