const response = await afriex.paymentMethods.list({
page: 1,
limit: 20,
});
curl --request GET \
--url https://sandbox.api.afriex.com/api/v1/payment-method \
--header 'x-api-key: <api-key>'import requests
url = "https://sandbox.api.afriex.com/api/v1/payment-method"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://sandbox.api.afriex.com/api/v1/payment-method', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.api.afriex.com/api/v1/payment-method",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.afriex.com/api/v1/payment-method"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.api.afriex.com/api/v1/payment-method")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.afriex.com/api/v1/payment-method")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"paymentMethodId": "6936b8774f987b2994865b73",
"channel": "BANK_ACCOUNT",
"customerId": "6922e4520a53e858ab42efa8",
"institution": {
"institutionCode": "000013",
"institutionName": "GTBank"
},
"accountName": "John Doe",
"accountNumber": "1234567890",
"countryCode": "NG"
},
{
"paymentMethodId": "6936b8e54f987b2994865b8b",
"channel": "BANK_ACCOUNT",
"customerId": "6928515c6befd180bc451622",
"institution": {
"institutionCode": "000017",
"institutionName": "WEMA BANK"
},
"accountName": "Test Account",
"accountNumber": "1213131313",
"countryCode": "NG"
}
],
"total": 1006,
"page": 0
}List Payment Methods
Retrieves a paginated list of payment methods.
const response = await afriex.paymentMethods.list({
page: 1,
limit: 20,
});
curl --request GET \
--url https://sandbox.api.afriex.com/api/v1/payment-method \
--header 'x-api-key: <api-key>'import requests
url = "https://sandbox.api.afriex.com/api/v1/payment-method"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://sandbox.api.afriex.com/api/v1/payment-method', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.api.afriex.com/api/v1/payment-method",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.afriex.com/api/v1/payment-method"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox.api.afriex.com/api/v1/payment-method")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.afriex.com/api/v1/payment-method")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"paymentMethodId": "6936b8774f987b2994865b73",
"channel": "BANK_ACCOUNT",
"customerId": "6922e4520a53e858ab42efa8",
"institution": {
"institutionCode": "000013",
"institutionName": "GTBank"
},
"accountName": "John Doe",
"accountNumber": "1234567890",
"countryCode": "NG"
},
{
"paymentMethodId": "6936b8e54f987b2994865b8b",
"channel": "BANK_ACCOUNT",
"customerId": "6928515c6befd180bc451622",
"institution": {
"institutionCode": "000017",
"institutionName": "WEMA BANK"
},
"accountName": "Test Account",
"accountNumber": "1213131313",
"countryCode": "NG"
}
],
"total": 1006,
"page": 0
}Authorizations
Static business API key issued from the dashboard. A business can provision multiple API keys, each scoped to a configurable set of permissions (e.g. read transactions, create deposits, etc). Permissions are chosen per key at creation time in the dashboard and may be revoked by deleting the key. Requests made with a key that does not include the permission required by the target endpoint is rejected with a 401 Unauthorized response, the same response an unrecognised, malformed or revoked key returns. The API does not distinguish the two cases on the wire. Manage your keys and their permissions under Developer → API keys in the dashboard.
Headers
Signature of the request payload, used for request authentication where payload signing is enabled for your business.
API version in ISO 8601 format. The only supported version is 2026-05-18, which is also the default when the header is omitted. Any other value is rejected with a 400 Bad Request.
Query Parameters
Page number for pagination (starting from 0)
x >= 0Number of items per page
1 <= x <= 100Filter by one or more payment channels. Use a comma-separated list for multiple values (e.g. ?channel=BANK_ACCOUNT,MOBILE_MONEY).
BANK_ACCOUNT, MOBILE_MONEY, INTERAC, UPI, WE_CHAT, VIRTUAL_BANK_ACCOUNT, RFP, SWIFT Filter by one or more 3-letter ISO 4217 currency codes. Use a comma-separated list for multiple values (e.g. ?currencies=USD,NGN).
Filter by payment method capability. Only WITHDRAW is currently supported. Defaults to WITHDRAW when omitted.
WITHDRAW Filter by one or more payment method statuses. Defaults to active,pending when omitted.
active, pending 