Introduction
Introduction
Welcome to Kwik Payments 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)
OpenAPI Specification
https://docs.kwik.co.za/openapi.json
Path
https://api.kwik.co.za/2.0/
When signing up a with Kwik Payments, two accounts will be created for you, a 'live' account and a 'test' account. Both will use the same API path but your API keys will determine if the data is for your testing account or your live account.
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}`,
};
$hex_string = base64_encode("$api_key:$api_secret");
$headers = [
'Authorization' => "Basic $hex_string",
];
string credentials = $"{apiKey}:{apiSecret}";
string hexString = Convert.ToBase64String(Encoding.UTF8.GetBytes(credentials));
var headers = new Dictionary<string, string>
{
{ "Authorization", "Basic " + hexString }
};
String credentials = apiKey + ":" + apiSecret;
String hexString = Base64.getEncoder().encodeToString(credentials.getBytes());
Map<String, String> headers = new HashMap<>();
headers.put("Authorization", "Basic " + hexString);
hex_string = base64.b64encode(f"{api_key}:{api_secret}".encode()).decode()
headers = {
'Authorization': f'Basic {hex_string}'
}