Specification

Introduction

Welcome to Kwik's API documentation

Notes

  • API endpoints are RESTful GET/POST HTTP requests
  • Body type must be application/json
  • All API calls made must include the authorization key in the header of the call.
  • Requests to the API will be limited to 100 requests per second to reduce the load on the platform.
  • Dates are to be specified as 'YYYY-MM-DD'
  • Timestamps are specified as 'YYYY-MM-DD HH:mm:ss' GMT+2 (South African Standard Time)

Path

Staging

https://staging.app.kwik.co.za/1.0/

Live

https://api.kwik.co.za/1.0/

Authentication

Follow the ‘Basic Authorization’ standard, below is an example:

const hexString = Buffer.from(`${api_key}:${api_secret}`).toString('base64');
const headers = {
 'Authorization': `Basic ${hexString}`,
};

Staging Bank Account Numbers

These testing bank account numbers can be used in the staging environment when creating payments.

EFT Debit Order Payments

Payment status changes can be made from the dashboard or via API payment status update API call.

BankBranch CodeAccount TypeAccount NumberResulting Transaction Status
Standard Bank051001Current/Cheque00302481214Sent to Bank
Standard Bank051001Current/Cheque10004301097Rejected by Bank
Standard Bank051001Current/Cheque10004301100Paid
Standard Bank051001Savings10004291601Unpaid
Standard Bank051001Savings00302481206Cancelled
Standard Bank051001Savings00243663005Disputed
ABSA632005Current/Cheque04047527520Reversed
ABSA632005Current/Cheque04047530660Accepted by bank
ABSA632005Current/Cheque04047527350Rejected by Bank
ABSA632005Savings09050677010Paid
ABSA632005Savings53011389310Unpaid
ABSA632005Savings09050717030Cancelled
FNB250655Savings62001541061Disputed
FNB250655Savings62001909467Reversed
FNB250655Savings62001872440Paid

If you use any other bank account number the resulting transaction status will be 'Pending'.

DebiCheck Payments

The cellphone number used on the payment will not receive a notification, this notification will only be sent on the live environment, instead a resulting payment status is simulated as shown below:

BankBranch CodeAccount TypeAccount NumberPayment StatusResulting Transaction Status
Standard Bank051001Current/Cheque00302481214PendingNo transactions generated
Standard Bank051001Current/Cheque10004301097Stopped + Rejected messageNo transactions generated
Standard Bank051001Current/Cheque10004301100RunningPaid
Standard Bank051001Savings10004291601RunningUnpaid
Standard Bank051001Savings00302481206CancelledNo transactions generated
Standard Bank051001Savings00243663005PausedNo transactions generated
ABSA632005Current/Cheque04047527520Stopped + No reply messageNo transactions generated
ABSA632005Current/Cheque04047530660PendingNo transactions generated
ABSA632005Current/Cheque04047527350Stopped + Rejected messageNo transactions generated
ABSA632005Savings09050677010RunningPaid
ABSA632005Savings53011389310RunningUnpaid
ABSA632005Savings09050717030CancelledNo transactions generated
FNB250655Savings62001541061PausedNo transactions generated
FNB250655Savings62001909467Stopped + No reply messageNo transactions generated
FNB250655Savings62001872440RunningPaid

If you use any other bank account number the resulting payment status will be 'Pending' or 'Stopped' with 'no reply from debtor' payment failed at reason. DebiCheck transactions can not be disputed UNLESS you allow payment tracking and failed transactions are re-submitted. Refer to EFT debit order payments for testing all possible transaction statuses.


Copyright © 2024 Kwik