Code Examples & SDKs
In this section, we provide code examples for common API operations using different programming languages and libraries. These examples will help you understand how to interact with the Flexiown Platform Payment API and implement the necessary functionality in your application.
Javascript
Here's an example of how to make a POST request to the /api/payment/create endpoint using Javascript and the fetch API:
let headersList = {
"Accept": "*/*",
"api-key": "your_api_key",
"Content-Type": "application/json"
}
let bodyContent = JSON.stringify({
"customer": {
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@example.com",
"mobile": "+27821112233"
},
"shipping_address": {
"type": "residential",
"building": "Building A",
"street": "123 Street",
"suburb": "Suburb",
"city": "City",
"province": "GP",
"country": "ZA",
"postal_code": "2060",
"confirmed": false
},
"billing_address": {
"type": "residential",
"building": "Building A",
"street": "123 Street",
"suburb": "Suburb",
"city": "City",
"province": "GP",
"country": "ZA",
"postal_code": "2060",
"confirmed": false
},
"products": [
{
"name": "HISENSE 100L5F 10\" LASER TV1",
"sku": "100L5F",
"quantity": "1",
"price": "12657.00",
"description": "string",
"short_description": "The L5 Laser TV immerses you into a whole new 4K UHD viewing experience.",
"brand": "HISENSE",
"merchant_product_id": "53783",
"images": [
"https://atomictest.co.za/wp-content/uploads/2021/11/100L5F.jpeg"
]
}
],
"redirects": {
"order_id": "76144",
"trust_value": "c10cd9445121e4ed6ad0ab47cdde2882",
"trust_seed": "ew0KCQkJCQkJIm5hbWUiOiJISVNFTlNFIDEwMEw1RiAxMDAmcXVvdDsgTEFTRVIgVFYxIiwNCgkJCQkJCSJza3UiOiIxMDBMNUYiLA0KCQkJCQkJInF1YW50aXR5IjoiMSIsDQoJCQkJCQkicHJpY2UiOiIxMjY1Ny4wMCIsDQoJCQkJCQkiZGVzY3JpcHRpb24iOiAic3RyaW5nIiwNCgkJCQkJCSJicmFuZCI6ICJzdHJpbmciLA0KCQkJCQkJIm1lcmNoYW50X3Byb2R1Y3RfaWQiOiI1Mzc4MyIsDQoJCQkJCQkidmVuZG9yIjogew0KCQkJCQkJCSJ2ZW5kb3JfaWQiOiAic3RyaW5nIiwNCgkJCQkJCQkidXJsIjogInN0cmluZyIsDQoJCQkJCQkJIm5hbWUiOiAic3RyaW5nIg0KCQkJCQkJfSwNCgkJCQkJCSJpbWFnZXMiOiBbDQoJCQkJCQkJImh0dHBzOi8vYXRvbWljdGVzdC5jby56YS93cC1jb250ZW50L3VwbG9hZHMvMjAyMS8xMS8xMDBMNUYuanBlZyIgDQoJCQkJCQldLA0KCQkJCQkJImJhcmNvZGVzIjogWw0KCQkJCQkJCSIiDQoJCQkJCQldLA0KCQkJCQkJImNhdGVnb3JpZXMiOiBbIA0KCQkJCQkJXSwNCgkJCQkJCSJwcm9wZXJ0aWVzIjogWw0KCQkJCQkJCXsNCgkJCQkJCQkia2V5IjogInN0cmluZyIsDQoJCQkJCQkJInZhbHVlIjogInN0cmluZyINCgkJCQkJCQl9DQoJCQkJCQldDQoJCQkJCX0s",
"success_redirect_url": "https://masons.teljoy.sinappsus.co.za/checkout/order-received/76144/?key=wc_order_KNvI7qWItjO7a&utm_nooverride=1&order_id=76144&wc-api=WC_Gateway_Teljoy",
"failure_redirect_url": "https://masons.teljoy.sinappsus.co.za/checkout/order-received/76144/?key=wc_order_KNvI7qWItjO7a&utm_nooverride=1&status=cancelled",
"final_amount": 12657.00,
"tax_amount": 0,
"shipping_amount": 0,
"discount": "0"
}
});
let response = await fetch("http://localhost:3000/api/v1/payment/create", {
method: "POST",
body: bodyContent,
headers: headersList
});
let data = await response.text();
console.log(data);
Replace your_api_key with your actual API key.
Expected Response
This is an example of the expected response:
{
"id": "be5a83ab-5b57-46f9-95ac-08db35c30d2b",
"success": true,
"trust_signature": "c14593cd6c9a24ac6257ab7cac1bb45f0ff272389e600b21580b0261752b04ae",
"redirect_url": "https://pay.teljoy.dev/payment/be5a83ab-5b57-46f9-95ac-08db35c30d2b",
"products": [
{
"sku": "100L5F",
"accepted": true,
"price": 299
}
]
}
PHP
Here's an example of how to make a POST request to the /api/payment/create endpoint using PHP and the curl API:
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/api/v1/payment/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\n \"customer\": {\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"email\": \"john.doe@example.com\",\n \"mobile\": \"+27821112233\"\n },\n \"shipping_address\": {\n \"type\": \"residential\",\n \"building\": \"Building A\",\n \"street\": \"123 Street\",\n \"suburb\": \"Suburb\",\n \"city\": \"City\",\n \"province\": \"GP\",\n \"country\": \"ZA\",\n \"postal_code\": \"2060\",\n \"confirmed\": false\n },\n \"billing_address\": {\n \"type\": \"residential\",\n \"building\": \"Building A\",\n \"street\": \"123 Street\",\n \"suburb\": \"Suburb\",\n \"city\": \"City\",\n \"province\": \"GP\",\n \"country\": \"ZA\",\n \"postal_code\": \"2060\",\n \"confirmed\": false\n },\n \"products\": [\n {\n \"name\": \"HISENSE 100L5F 10\\\" LASER TV1\",\n \"sku\": \"100L5F\",\n \"quantity\": \"1\",\n \"price\": \"12657.00\",\n \"description\": \"string\",\n \"short_description\": \"The L5 Laser TV immerses you into a whole new 4K UHD viewing experience.\",\n \"brand\": \"HISENSE\",\n \"merchant_product_id\": \"53783\",\n \"images\": [\n \"https://atomictest.co.za/wp-content/uploads/2021/11/100L5F.jpeg\"\n ]\n }\n ],\n \"redirects\": {\n \"order_id\": \"76144\",\n \"trust_value\": \"c10cd9445121e4ed6ad0ab47cdde2882\",\n \"trust_seed\": \"ew0KCQkJCQkJIm5hbWUiOiJISVNFTlNFIDEwMEw1RiAxMDAmcXVvdDsgTEFTRVIgVFYxIiwNCgkJCQkJCSJza3UiOiIxMDBMNUYiLA0KCQkJCQkJInF1YW50aXR5IjoiMSIsDQoJCQkJCQkicHJpY2UiOiIxMjY1Ny4wMCIsDQoJCQkJCQkiZGVzY3JpcHRpb24iOiAic3RyaW5nIiwNCgkJCQkJCSJicmFuZCI6ICJzdHJpbmciLA0KCQkJCQkJIm1lcmNoYW50X3Byb2R1Y3RfaWQiOiI1Mzc4MyIsDQoJCQkJCQkidmVuZG9yIjogew0KCQkJCQkJCSJ2ZW5kb3JfaWQiOiAic3RyaW5nIiwNCgkJCQkJCQkidXJsIjogInN0cmluZyIsDQoJCQkJCQkJIm5hbWUiOiAic3RyaW5nIg0KCQkJCQkJfSwNCgkJCQkJCSJpbWFnZXMiOiBbDQoJCQkJCQkJImh0dHBzOi8vYXRvbWljdGVzdC5jby56YS93cC1jb250ZW50L3VwbG9hZHMvMjAyMS8xMS8xMDBMNUYuanBlZyIgDQoJCQkJCQldLA0KCQkJCQkJImJhcmNvZGVzIjogWw0KCQkJCQkJCSIiDQoJCQkJCQldLA0KCQkJCQkJImNhdGVnb3JpZXMiOiBbIA0KCQkJCQkJXSwNCgkJCQkJCSJwcm9wZXJ0aWVzIjogWw0KCQkJCQkJCXsNCgkJCQkJCQkia2V5IjogInN0cmluZyIsDQoJCQkJCQkJInZhbHVlIjogInN0cmluZyINCgkJCQkJCQl9DQoJCQkJCQldDQoJCQkJCX0s\",\n \"success_redirect_url\": \"https://masons.teljoy.sinappsus.co.za/checkout/order-received/76144/?key=wc_order_KNvI7qWItjO7a&utm_nooverride=1&order_id=76144&wc-api=WC_Gateway_Teljoy\",\n \"failure_redirect_url\": \"https://masons.teljoy.sinappsus.co.za/checkout/order-received/76144/?key=wc_order_KNvI7qWItjO7a&utm_nooverride=1&status=cancelled\",\n \"final_amount\": 12657.00,\n \"tax_amount\": 0,\n \"shipping_amount\": 0,\n \"discount\": \"0\"\n }\n}",
CURLOPT_HTTPHEADER => [
"Accept: */*",
"Content-Type: application/json",
"api-key: your_api_key"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Replace your_api_key with your actual API key.
Expected Response
This is an example of the expected response:
{
"id": "be5a83ab-5b57-46f9-95ac-08db35c30d2b",
"success": true,
"trust_signature": "c14593cd6c9a24ac6257ab7cac1bb45f0ff272389e600b21580b0261752b04ae",
"redirect_url": "https://pay.teljoy.dev/payment/be5a83ab-5b57-46f9-95ac-08db35c30d2b",
"products": [
{
"sku": "100L5F",
"accepted": true,
"price": 299
}
]
}
C#
Here's an example of how to make a POST request to the /api/payment/create endpoint using C# and the httpclient API:
var client = new HttpClient();
var request = new HttpRequestMessage();
request.RequestUri = new Uri("http://localhost:3000/api/payment/create");
request.Method = HttpMethod.Post;
request.Headers.Add("Accept", "*/*");
request.Headers.Add("api-key", "your_api_key");
var bodyString = "{ \"customer\": { \"first_name\": \"John\", \"last_name\": \"Doe\", \"email\": \"john.doe@example.com\", \"mobile\": \"+27821112233\" }, \"shipping_address\": { \"type\": \"residential\", \"building\": \"Building A\", \"street\": \"123 Street\", \"suburb\": \"Suburb\", \"city\": \"City\", \"province\": \"GP\", \"country\": \"ZA\", \"postal_code\": \"2060\", \"confirmed\": false }, \"billing_address\": { \"type\": \"residential\", \"building\": \"Building A\", \"street\": \"123 Street\", \"suburb\": \"Suburb\", \"city\": \"City\", \"province\": \"GP\", \"country\": \"ZA\", \"postal_code\": \"2060\", \"confirmed\": false }, \"products\": [ { \"name\": \"HISENSE 100L5F 10\\\" LASER TV1\", \"sku\": \"100L5F\", \"quantity\": \"1\", \"price\": \"12657.00\", \"description\": \"string\", \"short_description\": \"The L5 Laser TV immerses you into a whole new 4K UHD viewing experience.\", \"brand\": \"HISENSE\", \"merchant_product_id\": \"53783\", \"images\": [ \"https://atomictest.co.za/wp-content/uploads/2021/11/100L5F.jpeg\" ] } ], \"redirects\": { \"order_id\": \"76144\", \"trust_value\": \"c10cd9445121e4ed6ad0ab47cdde2882\", \"trust_seed\": \"ew0KCQkJCQkJIm5hbWUiOiJISVNFTlNFIDEwMEw1RiAxMDAmcXVvdDsgTEFTRVIgVFYxIiwNCgkJCQkJCSJza3UiOiIxMDBMNUYiLA0KCQkJCQkJInF1YW50aXR5IjoiMSIsDQoJCQkJCQkicHJpY2UiOiIxMjY1Ny4wMCIsDQoJCQkJCQkiZGVzY3JpcHRpb24iOiAic3RyaW5nIiwNCgkJCQkJCSJicmFuZCI6ICJzdHJpbmciLA0KCQkJCQkJIm1lcmNoYW50X3Byb2R1Y3RfaWQiOiI1Mzc4MyIsDQoJCQkJCQkidmVuZG9yIjogew0KCQkJCQkJCSJ2ZW5kb3JfaWQiOiAic3RyaW5nIiwNCgkJCQkJCQkidXJsIjogInN0cmluZyIsDQoJCQkJCQkJIm5hbWUiOiAic3RyaW5nIg0KCQkJCQkJfSwNCgkJCQkJCSJpbWFnZXMiOiBbDQoJCQkJCQkJImh0dHBzOi8vYXRvbWljdGVzdC5jby56YS93cC1jb250ZW50L3VwbG9hZHMvMjAyMS8xMS8xMDBMNUYuanBlZyIgDQoJCQkJCQldLA0KCQkJCQkJImJhcmNvZGVzIjogWw0KCQkJCQkJCSIiDQoJCQkJCQldLA0KCQkJCQkJImNhdGVnb3JpZXMiOiBbIA0KCQkJCQkJXSwNCgkJCQkJCSJwcm9wZXJ0aWVzIjogWw0KCQkJCQkJCXsNCgkJCQkJCQkia2V5IjogInN0cmluZyIsDQoJCQkJCQkJInZhbHVlIjogInN0cmluZyINCgkJCQkJCQl9DQoJCQkJCQldDQoJCQkJCX0s\", \"success_redirect_url\": \"https://masons.teljoy.sinappsus.co.za/checkout/order-received/76144/?key=wc_order_KNvI7qWItjO7a&utm_nooverride=1&order_id=76144&wc-api=WC_Gateway_Teljoy\", \"failure_redirect_url\": \"https://masons.teljoy.sinappsus.co.za/checkout/order-received/76144/?key=wc_order_KNvI7qWItjO7a&utm_nooverride=1&status=cancelled\", \"final_amount\": 12657.00, \"tax_amount\": 0, \"shipping_amount\": 0, \"discount\": \"0\" }}";
var content = new StringContent(bodyString, Encoding.UTF8, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
Replace your_api_key with your actual API key.
Expected Response
This is an example of the expected response:
{
"id": "be5a83ab-5b57-46f9-95ac-08db35c30d2b",
"success": true,
"trust_signature": "c14593cd6c9a24ac6257ab7cac1bb45f0ff272389e600b21580b0261752b04ae",
"redirect_url": "https://pay.teljoy.dev/payment/be5a83ab-5b57-46f9-95ac-08db35c30d2b",
"products": [
{
"sku": "100L5F",
"accepted": true,
"price": 299
}
]
}
SDKs
We are working on providing SDKs for popular programming languages and frameworks to make it even easier to integrate with the Teljoy Platform Payment API. Stay tuned for updates and announcements.
In the meantime, you can use standard HTTP libraries in your preferred language to interact with the API, as shown in the code examples above.