Payments API
Endpoint: {server}/api/payments/v2/ — see Getting started for the server URL, authentication and JSON Web Tokens.
API Post Functions
addSuppliers
Endpoint: {server}/api/payments/v2/addSuppliers
NOTE:
This method is to be used if you wish to preload suppliers. This option provides an added layer of security when making payments. As you'll only be required to provide minimum payment information after which the payment will process against the existing bank account information. You can also make use of the Account Verification Service (AVS) to ensure you are making payment to the correct recipient — see the Account Verification API.
addSuppliers is followed by loadPayments to pay existing suppliers' setup with EFT payment Type.
You can skip this step and proceed directly to loadBatch if you do not wish to preload suppliers. Skipping this step will not prevent you from making use of AVS in future, you will however need to manually update a Supplier's information with the compulsory AVS fields or make use of the updateSuppliers option.
addSuppliers: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
| test | Boolean | O | Set to true if testing. This will bypass billing and will only validate test data |
addSuppliers: FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| uniqueReference | Text | Y | Your unique customer reference identifier |
| supplierType | Text | Y | Identifies the supplier. See listSupplierTypes below |
| name | Text | Y | The first name of the account holder if supplier type is Individual or the Entity name for all other supplier types |
| lastName | Text | CY | Surname of the account holder if supplier type is Individual. Required if supplier type is Individual. |
| group | Text | O | The name of a group to assign the supplier to |
| cellNumber | Text | O | The suppliers cell phone number |
| emailAddress | Text | O | The suppliers email address for payment advice |
| vatNo | Text | O | Suppliers vat number |
| addressLine1 | Text | O | Suppliers address |
| addressLine2 | Text | O | Suppliers address |
| addressLine3 | Text | O | Suppliers address |
| addressLine4 | Text | O | Suppliers address |
| Town | Text | O | Suppliers address |
| postalCode | Text | O | Suppliers address |
| paymentType | Text | Y | Supplier payments are done via: - EFT - Debit Order - Cash (See listPaymentTypes) |
| identificationType | Text | CY | Identification type. Possible values are: SID - South African ID SPP - Passport number SBR - Business registration number TRN - Trust number Required if Payment type is EFT |
| identificationNumber | Text | CY | The account holder's identity, passport, company registration or trust number. Required if payment type is EFT |
| bank | Text | CY | The Bank the account is held at (see listBankOptions). Required if payment type is EFT |
| accountType | Text | CY | The account type (see listAccountTypes). Required if payment type is EFT |
| accountNumber | Text | CY | The account number. Required if payment type is EFT |
| branchCode | Text | CY | The account branch code. Required if payment type is EFT |
| branchName | Text | O | The branch name |
CAUTION:
When creating a Supplier refrain from duplicating or reusing Unique References. When a supplierCode response is received, link the unique Reference in your database to the supplierCode to prevent future updateSuppliers calls from updating the incorrect Supplier data.
addSuppliers: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| jti | Text | Y | The unique JWT ID |
| Status | Text | Y | Number of suppliers imported |
| suppliers | Array | Y | 1-n of supplier data added |
addSuppliers: FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| uniqueReference | Text | Y | Your unique customer reference identifier |
| status | Text | Y | Success or Failed |
| message | Text | O | Provided if the status is Failed. This will be the failure reason |
| supplierCode | Text | N | Provided if status is Success or there is already a supplier. Supplier Code is in alphanumeric format AAA000 and is the system code for the supplier |
Example addSuppliers Post:
:::warning Source conflict — confirm before use
This example uses cell and email, while the FIELDS table above specifies cellNumber and emailAddress. The source document is inconsistent here and the correct field names have not been confirmed with the platform team. The example also includes contactName and contactLastName, which do not appear in any FIELDS table in this document; their purpose and requirement status are unconfirmed.
:::
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJ7UFJPVklERUQgQVBJIEtFWX0iLCJhY2Nlc3NUb2tlbiI6IntQUk9WSURFRCBBQ0NFU1MgVE9LRU59IiwianRpIjoie1VOSVFVRSBWQUxVRX0iLCJpYXQiOjE1ODk5OTA5MDIsImV4cCI6MTU4OTk5MTUwMn0._Lk6FPqYITrJIUztulif8MdvuOMAVBZXZJEiBpdSwkw ",
"suppliers": [
{
"uniqueReference": "Ref1",
"supplierType": "Individual",
"name": "Joe",
"lastName": "Soap",
"group": "Test",
"cell": "0823456789",
"email": " joesoap@gmail.com ",
"addressLine1": "21Jump Street",
"addressLine2": "Newlands",
"town": "Cape Town",
"postalCode": "7979",
"paymentType": "EFT",
"identificationType": "SID",
"identificationNumber": "7410025102082",
"bank": "Standard Bank",
"accountType": "Cheque",
"accountNumber": "700000000",
"branchCode": "051001"
},
{
"uniqueReference": "Ref2",
"supplierType": "Private Company (Pty) Ltd",
"name": "Ronnie's Parts",
"group": "Test",
"paymentType": "EFT",
"bank": "ABSA",
"accountType": "Cheque Account",
"accountNumber": "100000000",
"branchCode": " 632005",
"branchName": "Universal",
"contactName": "Some",
"contactLastName": "Name"
}
]
}
Example addSuppliers response:
:::warning Source conflict — confirm before use
This example names each result entry's identifier reference, while the FIELDS table above specifies uniqueReference. The source document is inconsistent here and the correct field name has not been confirmed with the platform team.
:::
{
"jti": "<UNIQUE VALUE>",
"status": "1 of 2suppliers imported",
"suppliers": [
{
"reference": "Ref1",
"status": "Success",
"supplierCode": "JOE002"
},
{
"reference": "Ref2",
"status": "Failed",
"message": "Unique reference already exists",
"supplierCode": "RON001"
}
]
}
updateSuppliers
Endpoint: {server}/api/payments/v2/updateSuppliers
NOTE:
Only Supplier code is required. Any additional field provided will be updated.
CAUTION:
When updating a Supplier refrain from updating, changing, duplicating or reusing Unique References as this may result in an update of the incorrect Supplier data.
updateSuppliers: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
| suppliers | Array | Y | 1-n of account data |
updateSuppliers: FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| supplierCode | Text | Y | The systems 6 character alphanumeric Supplier Code |
| uniqueReference | Text | Y | Your unique customer reference identifier |
| supplierType | Text | Y | Identifies the supplier. See listSupplierTypes below |
| name | Text | Y | The first name of the account holder if supplier type is Individual or the Entity name for all other supplier types |
| lastName | Text | CY | Surname of the account holder if supplier type is Individual. Required if supplier type is Individual. |
| group | Text | O | The name of a group to assign the supplier to |
| cellNumber | Text | O | The suppliers cell phone number |
| emailAddress | Text | O | The suppliers email address for payment advice |
| vatNo | Text | O | Suppliers vat number |
| addressLine1 | Text | O | Suppliers address |
| addressLine2 | Text | O | Suppliers address |
| addressLine3 | Text | O | Suppliers address |
| addressLine4 | Text | O | Suppliers address |
| Town | Text | O | Suppliers address |
| postalCode | Text | O | Suppliers address |
| paymentType | Text | Y | Supplier payments are done via: - EFT - Debit Order - Cash (See listPaymentTypes) |
| identificationType | Text | CY | Identification type. Possible values are: SID – South African ID SPP – Passport number SBR – Business registration number TRN – Trust number Required if Payment type is EFT |
| identificationNumber | Text | CY | The account holder's identity, passport, company registration or trust number. Required if payment type is EFT |
| bank | Text | CY | The Bank the account is held at (see listBankOptions). Required if payment type is EFT |
| accountType | Text | CY | The account type (see listAccountTypes). Required if payment type is EFT |
| accountNumber | Text | CY | The account number. Required if payment type is EFT |
| branchCode | Text | CY | The account branch code. Required if payment type is EFT |
| branchName | Text | O | The branch name |
updateSuppliers: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| Jti | Text | Y | The unique JWT ID |
| status | Text | Y | Processed |
| suppliers | Array | Y | 1-n of status fields |
updateSuppliers: SUPPLIER FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| supplierCode | Text | Y | The provided systems 6 character alphanumeric Supplier Code |
| status | Test | Y | Success or Failed |
| message | Text | N | Provided if the status is Failed. This will be the failure reason |
Example updateSuppliers Post:
Example pending — this example could not be reconstructed reliably from the source document and is being prepared.
Example updateSuppliers Response:
Example pending — this example could not be reconstructed reliably from the source document and is being prepared.
listSuppliers
Endpoint: {server}/api/payments/v2/listSuppliers
listSuppliers: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
| supplierCodes | Text | O | Array of the systems 6 character alphanumeric Supplier Code |
listSuppliers: RESULT FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| supplierCode | Text | Y | The systems 6 character alphanumeric Supplier Code |
| supplierType | Text | Y | Identifies the supplier. |
| name | Text | Y | The first name of the account holder if supplier type is Individual or the Entity name for all other supplier types |
| lastName | Text | CY | Surname of the account holder if supplier type is Individual. Required if supplier type is Individual. |
| uniqueReference | Text | Y | Your unique customer reference identifier |
| group | Text | O | The name of a group to assign the supplier to |
| identificationType | Text | CY | The supplier identification type |
| identificationNumber | Text | CY | The supplier number |
| cellNumber | Text | O | The supplier cell phone number |
| emailAddress | Text | O | The supplier email address for payment advice |
| vatNo | Text | O | Suppliers vat number |
| addressLine1 | Text | O | Suppliers address |
| addressLine2 | Text | O | Suppliers address |
| addressLine3 | Text | O | Suppliers address |
| addressLine4 | Text | O | Suppliers address |
| Town | Text | O | Suppliers address |
| postalCode | Text | O | Suppliers address |
| paymentType | Text | Y | Supplier payment type |
| bank | Text | CY | The bank the account is held at |
| accountType | Text | CY | The account type |
| accountNumber | Text | CY | The account number |
| branchCode | Text | CY | The account branch code |
| branchName | Text | O | The branch name |
| message | Text | O | For Invalid Customer Codes |
Example listSuppliers Post:
Example pending — this example could not be reconstructed reliably from the source document and is being prepared.
Example listSuppliers response:
Example pending — this example could not be reconstructed reliably from the source document and is being prepared.
loadPayments
Endpoint: {server}/api/payments/v2/loadPayments
NOTES:
- Use the loadPayments method to load payments for existing suppliers' setup with EFT payment Type. Use loadBatch if you do not wish to preload suppliers.
- Payments default to Same Day Payments (clears between 8 and 10pm on the day). If you would like to make use of the other Service Types, this is to be specified as immediatePayment or oneDayPayment.
loadPayments: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
| payments | Text | O | 1-n of payment data |
loadPayments: PAYMENT FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| supplierCode | Text | Y | The systems 6-character alphanumeric Supplier Code of the supplier to pay |
| amount | Decimal | Y | The payment amount |
| paymentDate | Text | Y | The date the payment must action |
| reference | Text | Y | A payment reference for the payee's statement. For RTC and Sameday the reference is limited to 10 digits. For Oneday and Bank Defined Beneficiaries there is no limit |
| uniqueReference | Text | O | Your optional unique customer reference identifier |
| sendPaymentAdvice | Boolean | O | Option to send a payment advice to the stored email address |
| immediatePayment | Boolean | O | Option to pay immediately. Only applies to participating banks. |
| oneDayPayment | Boolean | O | Option to pay midnight of payment date. NOTE: Cannot be used with immediatePayment. Use either immediatePayment or oneDayPayment or none for standard payment. |
| custom | Text | O | Merchant defined custom field |
loadPayments: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| jti | Text | Y | The unique JWT ID |
| status | Text | Y | Number of payments successful out of the number of requests submitted |
| availableBalance | Decimal | Y | The wallets available balance |
| totalFees | Decimal | Y | Total fee deduction |
| totalDeductions | Decimal | Y | Total payments deduction |
| payments | Array | Y | 1-n of each payment submission |
loadPayments: RESULT FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| supplierCode | Text | Y | The systems 6 character alphanumeric Supplier Code |
| status | Text | Y | Success or Failed |
| paymentReference | Text | N | The systems payment transaction reference. Returned if status is Success |
| amount | Decimal | N | The amount deducted from the supplier |
| fee | Decimal | N | The fee deducted |
| message | Text | N | Failure reason |
| uniqueReference | Text | N | Your optional unique customer reference identifier |
| custom | Text | N | Merchant defined custom field |
Example loadPayments Post:
Example pending — this example could not be reconstructed reliably from the source document and is being prepared.
Example loadPayments response:
Example pending — this example could not be reconstructed reliably from the source document and is being prepared.
cancelPayments
Endpoint: {server}/api/payments/v2/cancelPayments
NOTE:
Immediate payment transactions sweep every 5 minutes therefore cancellation of an immediate payment cannot be guaranteed.
cancelPayments: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
| paymentReferences | Array | Y | 1-n of payment references |
cancelPayments: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| jti | Text | Y | The unique JWT ID |
| status | Text | Y | Number of payments cancelled out of the number of requests submitted |
| availableBalance | Decimal | Y | The wallets available balance |
| totalPaymentsCancelled | Decimal | Y | Total of payments cancelled |
| totalFeesCancelled | Decimal | Y | Total of fees cancelled |
| totalCancelled | Decimal | Y | Total of payment and fees cancelled |
| payments | Array | Y | 1-n of each payment cancellation submission |
cancelPayments: RESULT FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| paymentReference | Text | Y | The systems payment transaction reference or batch reference |
| status | Text | Y | Cancelled or Failed |
| supplierCode | Text | O | The systems 6-character alphanumeric Supplier Code |
| amountCancelled | Decimal | O | The amount cancelled |
| feeCancelled | Decimal | O | The fee amount refunded |
| message | Text | O | Failure reason |
Example cancelPayments post:
Example pending — this example could not be reconstructed reliably from the source document and is being prepared.
Example cancelPayments response:
:::warning Source conflict — confirm before use
This example uses paymentRefund/feeRefund, while the RESULT FIELDS table above specifies amountCancelled/feeCancelled. The source document is inconsistent here and the correct field names have not been confirmed with the platform team.
:::
{
"jti": "{UNIQUE VALUE}",
"status": "1 of 2 Payments cancelled",
"availableBalance": 470.39,
"totalPaymentsCancelled": 99.95,
"totalFeesCancelled": 6.65,
"totalCancelled": 106.6,
"payments": [
{
"paymentReference": "PT4235",
"status": "Failed",
"message": "Payment already Cancelled"
},
{
"paymentReference": "PT4236",
"status": "Cancelled",
"supplierCode": "JOE001",
"message": "Cancelled by Financial API",
"paymentRefund": 99.95,
"feeRefund": 6.65
}
]
}
paymentStatus
Endpoint: {server}/api/payments/v2/paymentStatus
paymentStatus: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
| paymentReferences | Array | Y | 1-n of payment references |
| paymentDate | Date | O | The date of scheduled payments. When paymentDate is used then payments is ignored |
| toPaymentDate | Date | O | When toPaymentDate is used then the search becomes a range between paymentDate and toPaymentDate |
| batchReference | Text | O | The BA number of a previously created batch |
paymentStatus: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| jti | Text | Y | The unique JWT ID |
| status | Text | Y | Payment Status Results |
| payments | Array | Y | 1-n of paymentReferences |
paymentStatus: FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| paymentReference | Text | Y | The systems payment transaction reference. Returned if status is Success |
| supplierCode | Text | Y | The systems 6 character alphanumeric Supplier Code |
| status | Text | Y | - Submitted - Completed - Failed - Cancelled |
| message | Text | Y | A message specific to the transaction status |
| paymentDate | Date | Y | The date for the payment action |
| dateSubmitted | Date | Y | The date and time the payment was submitted |
| dateCompleted | Date | Y | The date the transaction was finalised |
| paymentAdvice | Date | Y | The date the payment advice was sent |
Example paymentStatus Post:
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJ7UFJPVklERUQgQVBJIEtFWX0iLCJhY2Nlc3NUb2tlbiI6IntQUk9WSURFRCBBQ0NFU1MgVE9LRU59IiwianRpIjoie1VOSVFVRSBWQUxVRX0iLCJpYXQiOjE1ODk5OTA5MDIsImV4cCI6MTU4OTk5MTUwMn0._Lk6FPqYITrJIUztulif8MdvuOMAVBZXZJEiBpdSwkw ",
"paymentReferences": [
"PT4235",
"PT4236"
]
}
Example paymentStatus Response:
{
"jti": "{UNIQUE VALUE}",
"status": "Payment Status Results",
"payments": [
{
"paymentReference": "PT4235",
"status": "Submitted",
"supplierCode": "JOE001",
"message": "Scheduled via API",
"paymentDate": "2020-05-29",
"dateSubmitted": "2020-05-2212:49:24",
"dateCompleted": null,
"paymentAdvice": null
},
{
"paymentReference": "PT4236",
"status": "Cancelled",
"supplierCode": "JOE001",
"message": "Cancelled by Payments API",
"paymentDate": "2020-05-29",
"dateSubmitted": "2020-05-2212:51:06",
"dateCompleted": "2020-05-2214:00:28",
"paymentAdvice": null
}
]
}
loadBatch
Endpoint: {server}/api/payments/v2/loadBatch
NOTE:
Use loadBatch if you do not wish to preload suppliers. loadBatch will also create a supplier with the data provided but requires less information. The response will include a supplierCode. Once a supplier has been created you can make use of either the loadBatch option or the loadPayments option.
CAUTION:
When making payment via loadBatch to existing suppliers you will only be required to provide the Unique Reference to link to an existing supplier.
- If the Unique Reference is not found it will create a NEW supplier.
- If the Unique Reference is found and the bank details differ from what has been stored, it will override the old bank account details with the new.
Considering the above, refrain from using Unique References for each payment but link a Unique Reference to a specific supplier by storing the response supplierCode and linking it to the original Unique Reference. This will prevent duplication of suppliers in the database.
By storing the supplierCode you will also be able to make use of the updateSuppliers functionality in future.
Skipping the addSuppliers step will not prevent you from making use of automated or ad hoc AVS in future. You will however need to manually update a Supplier's information with the compulsory AVS fields or make use of the updateSuppliers option.
Merchant profiles default to creating suppliers upon submission of a payment batch. Request the Payaccsys team to switch OFF the creating of suppliers if you do not want to create suppliers at all.
Notes: Payments default to Same Day Payments (clears between 8 and 10pm on the day). If you would like to make use of the other Service Types, this is to be specified as immediatePayment or oneDayPayment.
loadBatch: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
| batchDescription | Test | Y | A reference for the payments batch |
| payments | Array | Y | 1-n of batch payment data |
| batchReference | Text | O | The BA number of a previously created batch |
loadBatch: PAYMENT FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| uniqueReference | Text | Y | Your unique customer reference identifier |
| supplierType | Text | Y | Identifies the customer. See Supplier types below |
| name | Text | Y | The first name of the account holder if supplier type is Individual or the Entity name for all other supplier types |
| lastName | Text | CY | Surname of the account holder if supplier type is Individual. Required if supplier type is Individual. |
| group | Text | O | The name of a group to assign the supplier to |
| emailAddress | Text | O | The suppliers email address for payment advice |
| bank | Text | CY | The Bank the account is held at (see listBankOptions). Required if payment type is EFT |
| accountType | Text | CY | The account type (see listAccountTypes). Required if payment type is EFT |
| accountNumber | Text | CY | The account number. Required if payment type is EFT |
| branchCode | Text | CY | The account branch code. Required if payment type is EFT |
| branchName | Text | O | The branch name |
| amount | Decimal | Y | The payment amount |
| paymentDate | Date | Y | The date the payment must action |
| payeeReference | Text | Y | A payment reference for the payee's statement. For RTC and Sameday the payeeReference is limited to 10 digits. For Oneday and Bank Defined Beneficiaries there is no limit |
| immediatePayment | Boolean | O | Option to pay immediately. Only applies to Real-Time Clearance Participating Banks |
| oneDayPayment | Boolean | O | Option to pay midnight of payment date. NOTE: Cannot be used with immediatePayment. Use either immediatePayment or oneDayPayment or none for standard payment. |
| custom | Text | O | Merchant defined custom field |
loadBatch: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| jti | Text | Y | The unique JWT ID |
| status | Text | Y | Number of payments successful out of the number of requests submitted |
| batchReference | Text | Y | The Batch reference number starting with BA i.e. BA123 |
| availableBalance | Decimal | Y | The wallets available balance |
| totalFees | Decimal | Y | Total fee deduction |
| totalDeductions | Decimal | Y | Total payments deduction |
| payments | Array | Y | 1-n of each payment submission |
loadBatch: RESULT FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| uniqueReference | Text | Y | Your unique customer reference identifier |
| supplierCode | Text | Y | The systems 6 character alphanumeric Supplier Code |
| status | Text | Y | Success or Failed |
| paymentReference | Text | N | The systems payment transaction reference. Returned if status is Success |
| amount | Decimal | N | The amount deducted from the supplier |
| fee | Decimal | N | The fee deducted |
| message | Text | N | Failure reason |
| custom | Text | N | Returns the custom field if provided. |
| product | Text | N | Returns the Service type eg. Same Day Clearance, Payshap, Realtime Clearance, One Day Clearance |
Example loadBatch Post:
Example pending — this example could not be reconstructed reliably from the source document and is being prepared.
Example loadBatch response:
Example pending — this example could not be reconstructed reliably from the source document and is being prepared.
cancelBatches
Endpoint: {server}/api/payments/v2/cancelBatches
NOTE:
Immediate payment transactions sweep every 5 minutes therefore cancellation of an immediate payment cannot be guaranteed.
cancelBatches: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
| batchReferences | Array | Y | Batch references for cancellation |
cancelBatches: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| jti | Text | Y | The unique JWT ID |
| status | Text | Y | Number of payments cancelled out of the number of requests submitted |
| availableBalance | Decimal | Y | The wallets available balance |
| totalPaymentsCancelled | Decimal | Y | Total amount cancelled |
| totalFeesCancelled | Decimal | Y | Total of fees cancelled |
| totalCancelled | Decimal | Y | Total of payment and fees cancelled |
| batches | Array | Y | 1-n of each batch cancellation submission |
cancelBatches: RESULT FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| batchReference | Text | Y | The systems payment transaction reference or batch reference |
| status | Text | Y | Cancelled or Failed |
| supplierCode | Text | O | The systems 6-character alphanumeric Supplier Code |
| amountCancelled | Decimal | O | The amount cancelled |
| feeCancelled | Decimal | O | The fee amount refunded |
| message | Text | O | Failure reason |
Example cancelBatches Post:
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhcGlLZXkiOiJ7UFJPVklERUQgQVBJIEtFWX0iLCJhY2Nlc3NUb2tlbiI6IntQUk9WSURFRCBBQ0NFU1MgVE9LRU59IiwianRpIjoie1VOSVFVRSBWQUxVRX0iLCJpYXQiOjE1ODk5OTA5MDIsImV4cCI6MTU4OTk5MTUwMn0._Lk6FPqYITrJIUztulif8MdvuOMAVBZXZJEiBpdSwkw ",
"batchReferences": [
"BA4235",
"BA4236"
]
}
Example cancelBatches Response:
{
"jti": "{UNIQUE VALUE}",
"status": "1 of 2 Batches cancelled",
"availableBalance": 470.39,
"totalPaymentsCancelled": 99.95,
"totalFeesCancelled": 6.65,
"totalCancelled": 106.6,
"batches": [
{
"batchReference": "BA4235",
"status": "Failed",
"message": "Batch already Cancelled"
},
{
"batchReference": "BA4236",
"status": "Cancelled",
"message": "Cancelled by API",
"amountCancelled": 99.95,
"feeCancelled": 6.65
}
]
}
listAccountTypes
Endpoint: {server}/api/payments/v2/listAccountTypes
listAccountTypes: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
listAccountTypes: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| jti | Text | Y | The unique JWT ID |
| status | Text | Y | List of Account Types |
| accountTypes | Array | Y | 1-n of accountType |
listBankOptions
Endpoint: {server}/api/payments/v2/listBankOptions
listBankOptions: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
listBankOptions: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| jti | Text | Y | The unique JWT ID |
| status | Text | Y | List of Account Types |
| bankOptions | Decimal | Y | 1-n of banks and branches |
listSupplierTypes
Endpoint: {server}/api/payments/v2/listSupplierTypes
listSupplierTypes: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
listSupplierTypes: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| jti | Text | Y | The unique JWT ID |
| status | Text | Y | List of Account Types |
| supplierTypes | Array | Y | 1-n of supplierType |
listPaymentTypes
Endpoint: {server}/api/payments/v2/listPaymentTypes
Payment as Payshap is not defined in the payload. The bank will automatically convert the payment to Payshap if the Real-Time Clearance instruction is to a participating bank and the value does not exceed R50000.00.
listPaymentTypes: POST FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| token | Text | Y | The signed JWT |
listPaymentTypes: RESPONSE FIELDS
| Name | Type | Required | Description |
|---|---|---|---|
| jti | Text | Y | The unique JWT ID |
| status | Text | Y | Number of payments cancelled out of the number of requests submitted |
| paymentTypes | Array | Y | 1-n of paymentType |
Errors
If there is any submission error relating to authentication or missing fields the response fields will be:
- status: The status will be Error
- error: The error message
Example Error Message:
Example pending — this example could not be reconstructed reliably from the source document and is being prepared.
Participating Banks
See Participating banks for the Real-Time Clearance and Payshap participating bank lists.