Skip to main content

Payments

Payments to suppliers already stored. To pay without preloading suppliers, use loadBatch.


loadPayments

POST {server}/api/payments/v2/loadPayments

Loads payments for existing suppliers set up with the EFT payment type.

Payments default to same-day, clearing between 20:00 and 22:00 on the day. To use another service type, set immediatePayment or oneDayPayment.

Post fields

NameTypeRequiredDescription
tokenTextYThe signed JWT
paymentsArrayY1–n of payment data (typed Text and marked optional in the source guide — see known issues)

Payment fields

NameTypeRequiredDescription
supplierCodeTextYThe six-character alphanumeric supplier code of the supplier to pay
amountDecimalYThe payment amount
paymentDateTextYThe date the payment must action
referenceTextYA payment reference for the payee's statement. For RTC and same-day, limited to 10 digits. For one-day and bank-defined beneficiaries there is no limit
sendPaymentAdviceBooleanOSend a payment advice to the stored email address
immediatePaymentBooleanOPay immediately. Only applies to participating banks
oneDayPaymentBooleanOPay at midnight on the payment date. Cannot be used with immediatePayment

Response

NameTypeRequiredDescription
jtiTextYThe unique JWT ID
statusTextYNumber of payments successful out of the number submitted
availableBalanceDecimalYThe wallet's available balance
totalPaymentsDecimalYTotal of payments
totalFeesDecimalYTotal of fees
totalDeductionsDecimalYTotal of payments and fees
paymentsArrayY1–n of payment results

Per payment: supplierCode, status, paymentReference, amount, fee, and message where failed.

Example

{
"jti": "{UNIQUE VALUE}",
"status": "1 of 2 Payments Scheduled",
"availableBalance": 257.19,
"totalPayments": -99.95,
"totalFees": -6.65,
"totalDeductions": -106.6,
"payments": [
{
"supplierCode": "JOE001",
"status": "Success",
"paymentReference": "PT4235",
"amount": -99.95,
"fee": -6.65
},
{
"supplierCode": "RON002",
"status": "Failed",
"message": "Supplier code does not exist"
}
]
}

Amounts and fees are returned as negative values, being deductions from the wallet.


cancelPayments

POST {server}/api/payments/v2/cancelPayments

Cancels payments by payment reference.

Immediate payments cannot reliably be cancelled. Immediate payment transactions sweep every five minutes, so cancellation of an immediate payment cannot be guaranteed.

Post fields

NameTypeRequiredDescription
tokenTextYThe signed JWT (listed as supplier Code in the source guide — see known issues)
paymentReferencesArrayY1–n of payment references

Response

NameTypeRequiredDescription
jtiTextYThe unique JWT ID
statusTextYNumber cancelled out of the number submitted
availableBalanceDecimalYThe wallet's available balance
totalPaymentsCancelledDecimalYTotal of payments cancelled
totalFeesCancelledDecimalYTotal of fees cancelled
totalCancelledDecimalYTotal of payments and fees cancelled
paymentsArrayY1–n of cancellation results

Per payment:

NameTypeRequiredDescription
paymentReferenceTextYThe payment or batch reference
statusTextYCancelled or Failed
supplierCodeTextOThe six-character alphanumeric supplier code
amountCancelledDecimalOThe amount cancelled
feeCancelledDecimalOThe fee refunded
messageTextOFailure reason

The response example returns the refunded values as paymentRefund and feeRefund rather than amountCancelled and feeCancelled.


paymentStatus

POST {server}/api/payments/v2/paymentStatus

Checks the status of loaded payments, by payment reference, by date or date range, or by batch.

Post fields

NameTypeRequiredDescription
tokenTextYThe signed JWT
paymentReferencesArrayY1–n of payment references
paymentDateDateOThe date of scheduled payments. When paymentDate is used, paymentReferences is ignored
toPaymentDateDateOWhen used, the search becomes a range between paymentDate and toPaymentDate
batchReferenceTextOThe BA number of a previously created batch

Response

NameTypeRequiredDescription
jtiTextYThe unique JWT ID
statusTextYPayment Status Results
paymentsArrayY1–n of payment references

Per payment:

NameTypeRequiredDescription
paymentReferenceTextYThe payment transaction reference
supplierCodeTextYThe six-character alphanumeric supplier code
statusTextYSubmitted · Completed · Failed · Cancelled
messageTextYA message specific to the transaction status
paymentDateDateYThe date for the payment action
dateSubmittedDateYThe date and time the payment was submitted
dateCompletedDateYThe date the transaction was finalised
paymentAdviceDateYThe date the payment advice was sent

Example

{
"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-22 12:49:24",
"dateCompleted": null,
"paymentAdvice": null
}
]
}