Page 1

API Code Samples for Customer and Wallet Management

Below are code samples for each endpoint in the Customer and Wallet Management API, implemented in cURL, Python, Java, JavaScript, PHP, and C#. Each sample corresponds to the respective endpoint for interacting with the API.


Customer Management

Get All Customers

  • cURL:

curl --request GET \
  --url '{{base-url}}/customer?page=1' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}'
}

response = requests.get('{{base-url}}/customer?page=1', headers=headers)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/customer?page=1");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}'
};

fetch('{{base-url}}/customer?page=1', {
    method: 'GET',
    headers: headers
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/customer?page=1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}'
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var response = await client.GetAsync("{{base-url}}/customer?page=1");
            if (response.IsSuccessStatusCode)
            {
                var content = await response.Content.ReadAsStringAsync();
                Console.WriteLine(content);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Get Customer Details

  • cURL:

curl --request GET \
  --url '{{base-url}}/customer/1149d065-c5c9-4382-aec6-323090f31d9d' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}'
}

response = requests.get('{{base-url}}/customer/1149d065-c5c9-4382-aec6-323090f31d9d', headers=headers)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/customer/1149d065-c5c9-4382-aec6-323090f31d9d");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}'
};

fetch('{{base-url}}/customer/1149d065-c5c9-4382-aec6-323090f31d9d', {
    method: 'GET',
    headers: headers
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/customer/1149d065-c5c9-4382-aec6-323090f31d9d");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}'
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var response = await client.GetAsync("{{base-url}}/customer/1149d065-c5c9-4382-aec6-323090f31d9d");
            if (response.IsSuccessStatusCode)
            {
                var content = await response.Content.ReadAsStringAsync();
                Console.WriteLine(content);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Find Customer by Phone Number

  • cURL:

curl --request GET \
  --url '{{base-url}}/customer/phone?phoneNumber=08030223346' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}'
}

response = requests.get('{{base-url}}/customer/phone?phoneNumber=08030223346', headers=headers)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/customer/phone?phoneNumber=08030223346");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}'
};

fetch('{{base-url}}/customer/phone?phoneNumber=08030223346', {
    method: 'GET',
    headers: headers
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/customer/phone?phoneNumber=08030223346");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}'
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var response = await client.GetAsync("{{base-url}}/customer/phone?phoneNumber=08030223346");
            if (response.IsSuccessStatusCode)
            {
                var content = await response.Content.ReadAsStringAsync();
                Console.WriteLine(content);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Update Customer Profile

  • cURL:

curl --request PUT \
  --url '{{base-url}}/customer/49d4ea6d-d3dc-490c-800d-7c50b89cf8ff' \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}' \
  --data '{
    "firstName": "Updated"
}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
}

data = {
    "firstName": "Updated"
}

response = requests.put('{{base-url}}/customer/49d4ea6d-d3dc-490c-800d-7c50b89cf8ff', headers=headers, json=data)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/customer/49d4ea6d-d3dc-490c-800d-7c50b89cf8ff");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("PUT");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setDoOutput(true);

        String jsonInputString = "{\"firstName\": \"Updated\"}";
        try (OutputStream os = conn.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);
        }

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
};

fetch('{{base-url}}/customer/49d4ea6d-d3dc-490c-800d-7c50b89cf8ff', {
    method: 'PUT',
    headers: headers,
    body: JSON.stringify({
        firstName: "Updated"
    })
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/customer/49d4ea6d-d3dc-490c-800d-7c50b89cf8ff");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"firstName": "Updated"}');

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var content = new StringContent(
                "{\"firstName\": \"Updated\"}",
                Encoding.UTF8,
                "application/json"
            );

            var response = await client.PutAsync("{{base-url}}/customer/49d4ea6d-d3dc-490c-800d-7c50b89cf8ff", content);
            if (response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseContent);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Wallet Management

Create Customer Wallet

  • cURL:

curl --request POST \
  --url '{{base-url}}/wallet' \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}' \
  --data '{
    "bvn": "22181029312",
    "firstName": "Ridwan",
    "lastName": "Adekunle",
    "dateOfBirth": "1992-05-16",
    "phoneNumber": "08020245356",
    "address": "No 10, Adewale Ajasin University",
    "metadata": {
        "even-more": "Other data",
        "additional-data": "some more data"
    }
}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
}

data = {
    "bvn": "22181029312",
    "firstName": "Ridwan",
    "lastName": "Adekunle",
    "dateOfBirth": "1992-05-16",
    "phoneNumber": "08020245356",
    "address": "No 10, Adewale Ajasin University",
    "metadata": {
        "even-more": "Other data",
        "additional-data": "some more data"
    }
}

response = requests.post('{{base-url}}/wallet', headers=headers, json=data)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/wallet");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setDoOutput(true);

        String jsonInputString = "{\"bvn\": \"22181029312\", \"firstName\": \"Ridwan\", \"lastName\": \"Adekunle\", \"dateOfBirth\": \"1992-05-16\", \"phoneNumber\": \"08020245356\", \"address\": \"No 10, Adewale Ajasin University\", \"metadata\": {\"even-more\": \"Other data\", \"additional-data\": \"some more data\"}}";
        try (OutputStream os = conn.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);
        }

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
};

fetch('{{base-url}}/wallet', {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({
        bvn: "22181029312",
        firstName: "Ridwan",
        lastName: "Adekunle",
        dateOfBirth: "1992-05-16",
        phoneNumber: "08020245356",
        address: "No 10, Adewale Ajasin University",
        metadata: {
            "even-more": "Other data",
            "additional-data": "some more data"
        }
    })
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/wallet");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"bvn": "22181029312", "firstName": "Ridwan", "lastName": "Adekunle", "dateOfBirth": "1992-05-16", "phoneNumber": "08020245356", "address": "No 10, Adewale Ajasin University", "metadata": {"even-more": "Other data", "additional-data": "some more data"}}');

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var content = new StringContent(
                "{\"bvn\": \"22181029312\", \"firstName\": \"Ridwan\", \"lastName\": \"Adekunle\", \"dateOfBirth\": \"1992-05-16\", \"phoneNumber\": \"08020245356\", \"address\": \"No 10, Adewale Ajasin University\", \"metadata\": {\"even-more\": \"Other data\", \"additional-data\": \"some more data\"}}",
                Encoding.UTF8,
                "application/json"
            );

            var response = await client.PostAsync("{{base-url}}/wallet", content);
            if (response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseContent);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Get All Wallets

  • cURL:

curl --request GET \
  --url '{{base-url}}/wallet' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}'
}

response = requests.get('{{base-url}}/wallet', headers=headers)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/wallet");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}'
};

fetch('{{base-url}}/wallet', {
    method: 'GET',
    headers: headers
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/wallet");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}'
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var response = await client.GetAsync("{{base-url}}/wallet");
            if (response.IsSuccessStatusCode)
            {
                var content = await response.Content.ReadAsStringAsync();
                Console.WriteLine(content);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Get Customer Wallet

  • cURL:

curl --request GET \
  --url '{{base-url}}/wallet/customer?customerId=5de468b7-de5f-414e-b948-1f2f336c3c5e' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}'
}

response = requests.get('{{base-url}}/wallet/customer?customerId=5de468b7-de5f-414e-b948-1f2f336c3c5e', headers=headers)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/wallet/customer?customerId=5de468b7-de5f-414e-b948-1f2f336c3c5e");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}'
};

fetch('{{base-url}}/wallet/customer?customerId=5de468b7-de5f-414e-b948-1f2f336c3c5e', {
    method: 'GET',
    headers: headers
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/wallet/customer?customerId=5de468b7-de5f-414e-b948-1f2f336c3c5e");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}'
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var response = await client.GetAsync("{{base-url}}/wallet/customer?customerId=5de468b7-de5f-414e-b948-1f2f336c3c5e");
            if (response.IsSuccessStatusCode)
            {
                var content = await response.Content.ReadAsStringAsync();
                Console.WriteLine(content);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Credit Wallet

  • cURL:

curl --request POST \
  --url '{{base-url}}/wallet/credit' \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}' \
  --data '{
    "amount": 200,
    "reference": "14kg34dqe3rkyd23wo",
    "customerId": "d818688f-50ca-4b9c-9693-ca7c6c3988ad",
    "metadata": {
        "some-data": "sample data",
        "more-data": "any value here"
    }
}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
}

data = {
    "amount": 200,
    "reference": "14kg34dqe3rkyd23wo",
    "customerId": "d818688f-50ca-4b9c-9693-ca7c6c3988ad",
    "metadata": {
        "some-data": "sample data",
        "more-data": "any value here"
    }
}

response = requests.post('{{base-url}}/wallet/credit', headers=headers, json=data)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/wallet/credit");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setDoOutput(true);

        String jsonInputString = "{\"amount\": 200, \"reference\": \"14kg34dqe3rkyd23wo\", \"customerId\": \"d818688f-50ca-4b9c-9693-ca7c6c3988ad\", \"metadata\": {\"some-data\": \"sample data\", \"more-data\": \"any value here\"}}";
        try (OutputStream os = conn.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);
        }

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
};

fetch('{{base-url}}/wallet/credit', {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({
        amount: 200,
        reference: "14kg34dqe3rkyd23wo",
        customerId: "d818688f-50ca-4b9c-9693-ca7c6c3988ad",
        metadata: {
            "some-data": "sample data",
            "more-data": "any value here"
        }
    })
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/wallet/credit");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"amount": 200, "reference": "14kg34dqe3rkyd23wo", "customerId": "d818688f-50ca-4b9c-9693-ca7c6c3988ad", "metadata": {"some-data": "sample data", "more-data": "any value here"}}');

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var content = new StringContent(
                "{\"amount\": 200, \"reference\": \"14kg34dqe3rkyd23wo\", \"customerId\": \"d818688f-50ca-4b9c-9693-ca7c6c3988ad\", \"metadata\": {\"some-data\": \"sample data\", \"more-data\": \"any value here\"}}",
                Encoding.UTF8,
                "application/json"
            );

            var response = await client.PostAsync("{{base-url}}/wallet/credit", content);
            if (response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseContent);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Debit Wallet

  • cURL:

curl --request POST \
  --url '{{base-url}}/wallet/debit' \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}' \
  --data '{
    "amount": 200,
    "reference": "34k3e4f4ek4t4",
    "customerId": "aa4e9eea-d7a5-4ac2-a211-dc6d59b0c050",
    "metadata": {
        "some-data": "sample data",
        "more-data": "any value here"
    }
}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
}

data = {
    "amount": 200,
    "reference": "34k3e4f4ek4t4",
    "customerId": "aa4e9eea-d7a5-4ac2-a211-dc6d59b0c050",
    "metadata": {
        "some-data": "sample data",
        "more-data": "any value here"
    }
}

response = requests.post('{{base-url}}/wallet/debit', headers=headers, json=data)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/wallet/debit");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setDoOutput(true);

        String jsonInputString = "{\"amount\": 200, \"reference\": \"34k3e4f4ek4t4\", \"customerId\": \"aa4e9eea-d7a5-4ac2-a211-dc6d59b0c050\", \"metadata\": {\"some-data\": \"sample data\", \"more-data\": \"any value here\"}}";
        try (OutputStream os = conn.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);
        }

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
};

fetch('{{base-url}}/wallet/debit', {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({
        amount: 200,
        reference: "34k3e4f4ek4t4",
        customerId: "aa4e9eea-d7a5-4ac2-a211-dc6d59b0c050",
        metadata: {
            "some-data": "sample data",
            "more-data": "any value here"
        }
    })
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/wallet/debit");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"amount": 200, "reference": "34k3e4f4ek4t4", "customerId": "aa4e9eea-d7a5-4ac2-a211-dc6d59b0c050", "metadata": {"some-data": "sample data", "more-data": "any value here"}}');

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var content = new StringContent(
                "{\"amount\": 200, \"reference\": \"34k3e4f4ek4t4\", \"customerId\": \"aa4e9eea-d7a5-4ac2-a211-dc6d59b0c050\", \"metadata\": {\"some-data\": \"sample data\", \"more-data\": \"any value here\"}}",
                Encoding.UTF8,
                "application/json"
            );

            var response = await client.PostAsync("{{base-url}}/wallet/debit", content);
            if (response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseContent);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Freeze Customer Wallet

  • cURL:

curl --request POST \
  --url '{{base-url}}/wallet/close' \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}' \
  --data '{
    "customerId": "49d4ea6d-d3dc-490c-800d-7c50b89cf8ff"
}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
}

data = {
    "customerId": "49d4ea6d-d3dc-490c-800d-7c50b89cf8ff"
}

response = requests.post('{{base-url}}/wallet/close', headers=headers, json=data)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/wallet/close");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setDoOutput(true);

        String jsonInputString = "{\"customerId\": \"49d4ea6d-d3dc-490c-800d-7c50b89cf8ff\"}";
        try (OutputStream os = conn.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);
        }

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
};

fetch('{{base-url}}/wallet/close', {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({
        customerId: "49d4ea6d-d3dc-490c-800d-7c50b89cf8ff"
    })
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/wallet/close");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"customerId": "49d4ea6d-d3dc-490c-800d-7c50b89cf8ff"}');

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var content = new StringContent(
                "{\"customerId\": \"49d4ea6d-d3dc-490c-800d-7c50b89cf8ff\"}",
                Encoding.UTF8,
                "application/json"
            );

            var response = await client.PostAsync("{{base-url}}/wallet/close", content);
            if (response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseContent);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Unfreeze Customer Wallet

  • cURL:

curl --request POST \
  --url '{{base-url}}/wallet/enable' \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}' \
  --data '{
    "customerId": "49d4ea6d-d3dc-490c-800d-7c50b89cf8ff"
}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
}

data = {
    "customerId": "49d4ea6d-d3dc-490c-800d-7c50b89cf8ff"
}

response = requests.post('{{base-url}}/wallet/enable', headers=headers, json=data)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/wallet/enable");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setDoOutput(true);

        String jsonInputString = "{\"customerId\": \"49d4ea6d-d3dc-490c-800d-7c50b89cf8ff\"}";
        try (OutputStream os = conn.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);
        }

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
};

fetch('{{base-url}}/wallet/enable', {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({
        customerId: "49d4ea6d-d3dc-490c-800d-7c50b89cf8ff"
    })
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/wallet/enable");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"customerId": "49d4ea6d-d3dc-490c-800d-7c50b89cf8ff"}');

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var content = new StringContent(
                "{\"customerId\": \"49d4ea6d-d3dc-490c-800d-7c50b89cf8ff\"}",
                Encoding.UTF8,
                "application/json"
            );

            var response = await client.PostAsync("{{base-url}}/wallet/enable", content);
            if (response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseContent);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Batch Credit Customer Wallets

  • cURL:

curl --request POST \
  --url '{{base-url}}/wallet/batch-credit-customer-wallet' \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}' \
  --data '{
    "batchReference": "afsdfeadsfasrgasdfasd6",
    "transactions": [
        {
            "amount": 200,
            "reference": "afsdfeadsfasrgasdfas4d",
            "customerId": "1149d065-c5c9-4382-aec6-323090f31d9d"
        },
        {
            "amount": 4000,
            "reference": "afsdfeadsfasrgasd5fase",
            "customerId": "c938a018-8987-4411-97c5-e456868741e8"
        }
    ]
}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
}

data = {
    "batchReference": "afsdfeadsfasrgasdfasd6",
    "transactions": [
        {
            "amount": 200,
            "reference": "afsdfeadsfasrgasdfas4d",
            "customerId": "1149d065-c5c9-4382-aec6-323090f31d9d"
        },
        {
            "amount": 4000,
            "reference": "afsdfeadsfasrgasd5fase",
            "customerId": "c938a018-8987-4411-97c5-e456868741e8"
        }
    ]
}

response = requests.post('{{base-url}}/wallet/batch-credit-customer-wallet', headers=headers, json=data)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/wallet/batch-credit-customer-wallet");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setDoOutput(true);

        String jsonInputString = "{\"batchReference\": \"afsdfeadsfasrgasdfasd6\", \"transactions\": [{\"amount\": 200, \"reference\": \"afsdfeadsfasrgasdfas4d\", \"customerId\": \"1149d065-c5c9-4382-aec6-323090f31d9d\"}, {\"amount\": 4000, \"reference\": \"afsdfeadsfasrgasd5fase\", \"customerId\": \"c938a018-8987-4411-97c5-e456868741e8\"}]}";
        try (OutputStream os = conn.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);
        }

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
};

fetch('{{base-url}}/wallet/batch-credit-customer-wallet', {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({
        batchReference: "afsdfeadsfasrgasdfasd6",
        transactions: [
            {
                amount: 200,
                reference: "afsdfeadsfasrgasdfas4d",
                customerId: "1149d065-c5c9-4382-aec6-323090f31d9d"
            },
            {
                amount: 4000,
                reference: "afsdfeadsfasrgasd5fase",
                customerId: "c938a018-8987-4411-97c5-e456868741e8"
            }
        ]
    })
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/wallet/batch-credit-customer-wallet");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"batchReference": "afsdfeadsfasrgasdfasd6", "transactions": [{"amount": 200, "reference": "afsdfeadsfasrgasdfas4d", "customerId": "1149d065-c5c9-4382-aec6-323090f31d9d"}, {"amount": 4000, "reference": "afsdfeadsfasrgasd5fase", "customerId": "c938a018-8987-4411-97c5-e456868741e8"}]}');

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var content = new StringContent(
                "{\"batchReference\": \"afsdfeadsfasrgasdfasd6\", \"transactions\": [{\"amount\": 200, \"reference\": \"afsdfeadsfasrgasdfas4d\", \"customerId\": \"1149d065-c5c9-4382-aec6-323090f31d9d\"}, {\"amount\": 4000, \"reference\": \"afsdfeadsfasrgasd5fase\", \"customerId\": \"c938a018-8987-4411-97c5-e456868741e8\"}]}",
                Encoding.UTF8,
                "application/json"
            );

            var response = await client.PostAsync("{{base-url}}/wallet/batch-credit-customer-wallet", content);
            if (response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseContent);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Batch Debit Customer Wallets

  • cURL:

curl --request POST \
  --url '{{base-url}}/wallet/batch-debit-customer-wallet' \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}' \
  --data '{
    "batchReference": "88adsf8hssa43sefas8df8ahhjefasdff14",
    "transactions": [
        {
            "amount": 250,
            "reference": "dkfajdfsdjjjssd23sfjasdfasdkfjds12",
            "customerId": "a2c40f33-489c-480f-9d24-e2742502b85f"
        },
        {
            "amount": 30000,
            "reference": "dkfajdfsdjjjdsfjasd45fssasdkfjds20",
            "customerId": "cdf29144-10f7-4805-8389-3928050904f7"
        }
    ]
}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
}

data = {
    "batchReference": "88adsf8hssa43sefas8df8ahhjefasdff14",
    "transactions": [
        {
            "amount": 250,
            "reference": "dkfajdfsdjjjssd23sfjasdfasdkfjds12",
            "customerId": "a2c40f33-489c-480f-9d24-e2742502b85f"
        },
        {
            "amount": 30000,
            "reference": "dkfajdfsdjjjdsfjasd45fssasdkfjds20",
            "customerId": "cdf29144-10f7-4805-8389-3928050904f7"
        }
    ]
}

response = requests.post('{{base-url}}/wallet/batch-debit-customer-wallet', headers=headers, json=data)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/wallet/batch-debit-customer-wallet");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setDoOutput(true);

        String jsonInputString = "{\"batchReference\": \"88adsf8hssa43sefas8df8ahhjefasdff14\", \"transactions\": [{\"amount\": 250, \"reference\": \"dkfajdfsdjjjssd23sfjasdfasdkfjds12\", \"customerId\": \"a2c40f33-489c-480f-9d24-e2742502b85f\"}, {\"amount\": 30000, \"reference\": \"dkfajdfsdjjjdsfjasd45fssasdkfjds20\", \"customerId\": \"cdf29144-10f7-4805-8389-3928050904f7\"}]}";
        try (OutputStream os = conn.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);
        }

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String inputLine;
            StringBuilder response = new StringBuilder();
            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }
            in.close();
            System.out.println(response.toString());
        } else {
            System.out.println(conn.getResponseMessage());
        }
    }
}
  • JavaScript:

const headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
};

fetch('{{base-url}}/wallet/batch-debit-customer-wallet', {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({
        batchReference: "88adsf8hssa43sefas8df8ahhjefasdff14",
        transactions: [
            {
                amount: 250,
                reference: "dkfajdfsdjjjssd23sfjasdfasdkfjds12",
                customerId: "a2c40f33-489c-480f-9d24-e2742502b85f"
            },
            {
                amount: 30000,
                reference: "dkfajdfsdjjjdsfjasd45fssasdkfjds20",
                customerId: "cdf29144-10f7-4805-8389-3928050904f7"
            }
        ]
    })
})
.then(response => {
    if (response.ok) {
        return response.json();
    }
    throw new Error(response.statusText);
})
.then(data => console.log(data))
.catch(error => console.error(error));
  • PHP:

<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "{{base-url}}/wallet/batch-debit-customer-wallet");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Access-Token: {{access-token}}',
    'X-Refresh-Token: {{refresh-token}}',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"batchReference": "88adsf8hssa43sefas8df8ahhjefasdff14", "transactions": [{"amount": 250, "reference": "dkfajdfsdjjjssd23sfjasdfasdkfjds12", "customerId": "a2c40f33-489c-480f-9d24-e2742502b85f"}, {"amount": 30000, "reference": "dkfajdfsdjjjdsfjasd45fssasdkfjds20", "customerId": "cdf29144-10f7-4805-8389-3928050904f7"}]}');

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo $response;
} else {
    echo curl_error($ch);
}

curl_close($ch);
?>
  • C#:

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("X-Access-Token", "{{access-token}}");
            client.DefaultRequestHeaders.Add("X-Refresh-Token", "{{refresh-token}}");

            var content = new StringContent(
                "{\"batchReference\": \"88adsf8hssa43sefas8df8ahhjefasdff14\", \"transactions\": [{\"amount\": 250, \"reference\": \"dkfajdfsdjjjssd23sfjasdfasdkfjds12\", \"customerId\": \"a2c40f33-489c-480f-9d24-e2742502b85f\"}, {\"amount\": 30000, \"reference\": \"dkfajdfsdjjjdsfjasd45fssasdkfjds20\", \"customerId\": \"cdf29144-10f7-4805-8389-3928050904f7\"}]}",
                Encoding.UTF8,
                "application/json"
            );

            var response = await client.PostAsync("{{base-url}}/wallet/batch-debit-customer-wallet", content);
            if (response.IsSuccessStatusCode)
            {
                var responseContent = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseContent);
            }
            else
            {
                Console.WriteLine(response.ReasonPhrase);
            }
        }
    }
}

Customer Batch Credit Customer Wallets

  • cURL:

curl --request POST \
  --url '{{base-url}}/wallet/customer-batch-credit-customer-wallet' \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Token: {{access-token}}' \
  --header 'X-Refresh-Token: {{refresh-token}}' \
  --data '{
    "batchReference": "88adsf8hasefas8df8ahhjefasdff8",
    "customerId": "c938a018-8987-4411-97c5-e456868741e8",
    "recipients": [
        {
            "amount": 180,
            "reference": "dkfajdfsdjjjdsfjasdfasdkfjds9",
            "customerId": "de304d11-ca4e-491f-8851-9ca09a0084a3"
        },
        {
            "amount": 500,
            "reference": "dkfajdfsdjjjdsfjasdfasdkfjds10",
            "customerId": "f75774b0-6f99-4029-92a9-2dfe7e15d3f0"
        }
    ]
}'
  • Python:

import requests

headers = {
    'X-Access-Token': '{{access-token}}',
    'X-Refresh-Token': '{{refresh-token}}',
    'Content-Type': 'application/json'
}

data = {
    "batchReference": "88adsf8hasefas8df8ahhjefasdff8",
    "customerId": "c938a018-8987-4411-97c5-e456868741e8",
    "recipients": [
        {
            "amount": 180,
            "reference": "dkfajdfsdjjjdsfjasdfasdkfjds9",
            "customerId": "de304d11-ca4e-491f-8851-9ca09a0084a3"
        },
        {
            "amount": 500,
            "reference": "dkfajdfsdjjjdsfjasdfasdkfjds10",
            "customerId": "f75774b0-6f99-4029-92a9-2dfe7e15d3f0"
        }
    ]
}

response = requests.post('{{base-url}}/wallet/customer-batch-credit-customer-wallet', headers=headers, json=data)
if response.status_code == 200:
    print(response.json())
else:
    print(response.reason)
  • Java:

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;

public class Main {
    public static void main(String[] args) throws Exception {
        URL url = new URL("{{base-url}}/wallet/customer-batch-credit-customer-wallet");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("X-Access-Token", "{{access-token}}");
        conn.setRequestProperty("X-Refresh-Token", "{{refresh-token}}");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setDoOutput(true);

        String jsonInputString = "{\"batchReference\": \"88adsf8hasefas8df8ahhjefasdff8\", \"customerId\": \"c938a018-8987-4411-97c5-e456868741e8\", \"recipients\": [{\"amount\": 180, \"reference\": \"dkfajdfsdjjjdsfjasdfasdkfjds9\", \"customerId\": \"de304d11-ca4e-491f-8851-9ca09a0084a3\"}, {\"amount\": 500, \"reference\": \"dkfajdfsdjjjdsfjasdfasdkfjds10\", \"customerId\": \"f75774b0-6f99-4029-92a9-2dfe7e15d3f0\"}]}";
        try (OutputStream os = conn.getOutputStream()) {
            byte[] input = jsonInputString.getBytes("utf-8");
            os.write(input, 0, input.length);
        }

        int responseCode = conn.getResponseCode();
        if (responseCode == 200) {
            BufferedReader in

Last updated