Méthodes de paiement
curl --request GET \
--url https://sandbox-api.caurisflux.com/api/v1/providers/payment-methods \
--header 'X-API-Key: <api-key>'import requests
url = "https://sandbox-api.caurisflux.com/api/v1/providers/payment-methods"
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.caurisflux.com/api/v1/providers/payment-methods', 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.caurisflux.com/api/v1/providers/payment-methods",
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.caurisflux.com/api/v1/providers/payment-methods"
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.caurisflux.com/api/v1/providers/payment-methods")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.caurisflux.com/api/v1/providers/payment-methods")
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_bodyPays et Méthodes
Méthodes de paiement
Liste des méthodes de paiement par type
GET
/
providers
/
payment-methods
Méthodes de paiement
curl --request GET \
--url https://sandbox-api.caurisflux.com/api/v1/providers/payment-methods \
--header 'X-API-Key: <api-key>'import requests
url = "https://sandbox-api.caurisflux.com/api/v1/providers/payment-methods"
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.caurisflux.com/api/v1/providers/payment-methods', 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.caurisflux.com/api/v1/providers/payment-methods",
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.caurisflux.com/api/v1/providers/payment-methods"
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.caurisflux.com/api/v1/providers/payment-methods")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.caurisflux.com/api/v1/providers/payment-methods")
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_bodyRécupère la liste des méthodes de paiement disponibles (collect ou payout) pour un pays.
Les deux appels renvoient les mêmes opérateurs — Airtel, Orange, M-Pesa — mais des canaux
distincts, avec leurs propres bornes de montant.
Cet endpoint ne nécessite pas d’authentification.
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
country | string | Oui | Code ISO du pays (SN, CI, CM, CD…) — * accepté |
currency | string | Non | Code devise. Filtre les canaux : voir ci-dessous |
method | string | Non | Type : collect (paiement) ou payout (décaissement) |
merchant_amount | number | Non | Montant que vous souhaitez recevoir |
merchant_currency | string | Non | Votre devise de règlement |
currency sélectionne le canal, il ne se contente plus de le décrire. Un même opérateur
peut exposer plusieurs canaux dans un même pays, un par devise. En RDC, Airtel, Orange et
M-Pesa proposent chacun un canal CDF et un canal USD. Sans currency, la réponse contient
les deux et le tri par priorité décide — ce qui peut envoyer un paiement en USD sur le canal CDF.
Passez toujours currency dans les pays multi-devises.Conversion à la volée
Si vous fournissezmerchant_amount, merchant_currency et currency, chaque canal est
enrichi d’un objet conversion indiquant le montant à demander au payeur dans la devise locale.
Un canal dont la conversion échoue est renvoyé sans cet objet plutôt qu’omis.
Requête - Méthodes de payout
curl "https://sandbox-api.caurisflux.com/api/v1/providers/payment-methods?country=SN&method=payout"
Réponse
{
"data": [
{
"id": "uuid-wave-payout",
"name": "Wave",
"logoUrl": "https://s3.denkmako.com/cauris/logos/wave.png",
"providerCode": "wave",
"color": "#1DC9FF",
"minAmount": "500.00",
"maxAmount": "2000000.00",
"currencies": ["XOF"]
},
{
"id": "uuid-orange-payout",
"name": "Orange Money",
"logoUrl": "https://s3.denkmako.com/cauris/logos/orange.png",
"providerCode": "orange_money",
"color": "#FF6600",
"minAmount": "500.00",
"maxAmount": "1000000.00",
"currencies": ["XOF"]
},
{
"id": "uuid-bank-transfer",
"name": "Virement Bancaire",
"logoUrl": null,
"providerCode": "bank_transfer",
"color": "#424242",
"minAmount": "10000.00",
"maxAmount": "50000000.00",
"currencies": ["XOF"]
}
]
}
Champs de réponse
| Champ | Type | Description |
|---|---|---|
id | string | Identifiant unique de la méthode |
name | string | Nom affiché de la méthode |
logoUrl | string | URL du logo |
providerCode | string | Code à utiliser dans les requêtes |
color | string | Couleur de marque (hex) |
minAmount | string | Montant minimum |
maxAmount | string | Montant maximum |
currencies | array | Devises supportées |
Codes de providers
| Code | Nom | Type |
|---|---|---|
orange_money | Orange Money | Mobile Money |
mtn | MTN MoMo | Mobile Money |
airtel | Airtel Money | Mobile Money |
moov | Moov Money | Mobile Money |
wave | Wave | Mobile Money |
yas | Yas (ex-Free / Togocom) | Mobile Money |
mpesa | M-Pesa | Mobile Money |
telecel | Telecel (ex-Vodafone Ghana) | Mobile Money |
afrimoney | Afrimoney | Mobile Money |
qmoney | QMoney | Mobile Money |
mobycash | MobyCash | Mobile Money |
bank_transfer | Virement bancaire | Banque |
crypto | Stablecoins et cryptomonnaies | Crypto |
Les codes
mtn_money, moov_money et free_money n’ont jamais existé côté API. Utilisez
mtn, moov et yas.Exemple multi-devises — RDC
# Canaux USD uniquement
curl "https://sandbox-api.caurisflux.com/api/v1/providers/payment-methods?country=CD¤cy=USD&method=collect"
# Canaux CDF uniquement
curl "https://sandbox-api.caurisflux.com/api/v1/providers/payment-methods?country=CD¤cy=CDF&method=collect"