Enrôler un Mobile Wallet
curl --request POST \
--url https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"codeIso": "CIV",
"msisdn": "<string>",
"refContributeurDemandeur": "<string>",
"refContributeurEmetteur": "<string>",
"refUsager": "<string>"
}
'import requests
url = "https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet"
payload = {
"codeIso": "CIV",
"msisdn": "<string>",
"refContributeurDemandeur": "<string>",
"refContributeurEmetteur": "<string>",
"refUsager": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
codeIso: 'CIV',
msisdn: '<string>',
refContributeurDemandeur: '<string>',
refContributeurEmetteur: '<string>',
refUsager: '<string>'
})
};
fetch('https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet', 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://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'codeIso' => 'CIV',
'msisdn' => '<string>',
'refContributeurDemandeur' => '<string>',
'refContributeurEmetteur' => '<string>',
'refUsager' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet"
payload := strings.NewReader("{\n \"codeIso\": \"CIV\",\n \"msisdn\": \"<string>\",\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"refUsager\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"codeIso\": \"CIV\",\n \"msisdn\": \"<string>\",\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"refUsager\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"codeIso\": \"CIV\",\n \"msisdn\": \"<string>\",\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"refUsager\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"status": 123,
"timestamp": "2023-11-07T05:31:56Z",
"body": {
"refUsager": "<string>",
"libelle": "<string>",
"msisdn": "<string>",
"reference": "<string>"
}
}{
"message": "<string>",
"status": 123,
"timestamp": "2023-11-07T05:31:56Z",
"body": null
}{
"message": "<string>",
"status": 123,
"timestamp": "2023-11-07T05:31:56Z",
"body": null
}{
"message": "<string>",
"status": 123,
"timestamp": "2023-11-07T05:31:56Z",
"body": null
}Instruments de paiement
Enrôler un mobile wallet
Rattacher un instrument de paiement de type mobile wallet à un usager déjà enrôlé dans GIMpay.
POST
/
api
/
v1
/
wallets
/
mobile-wallet
Enrôler un Mobile Wallet
curl --request POST \
--url https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"codeIso": "CIV",
"msisdn": "<string>",
"refContributeurDemandeur": "<string>",
"refContributeurEmetteur": "<string>",
"refUsager": "<string>"
}
'import requests
url = "https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet"
payload = {
"codeIso": "CIV",
"msisdn": "<string>",
"refContributeurDemandeur": "<string>",
"refContributeurEmetteur": "<string>",
"refUsager": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
codeIso: 'CIV',
msisdn: '<string>',
refContributeurDemandeur: '<string>',
refContributeurEmetteur: '<string>',
refUsager: '<string>'
})
};
fetch('https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet', 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://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'codeIso' => 'CIV',
'msisdn' => '<string>',
'refContributeurDemandeur' => '<string>',
'refContributeurEmetteur' => '<string>',
'refUsager' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet"
payload := strings.NewReader("{\n \"codeIso\": \"CIV\",\n \"msisdn\": \"<string>\",\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"refUsager\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"codeIso\": \"CIV\",\n \"msisdn\": \"<string>\",\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"refUsager\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://egimgarsud.gimpayapp.com/api/v1/wallets/mobile-wallet")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"codeIso\": \"CIV\",\n \"msisdn\": \"<string>\",\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"refUsager\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"status": 123,
"timestamp": "2023-11-07T05:31:56Z",
"body": {
"refUsager": "<string>",
"libelle": "<string>",
"msisdn": "<string>",
"reference": "<string>"
}
}{
"message": "<string>",
"status": 123,
"timestamp": "2023-11-07T05:31:56Z",
"body": null
}{
"message": "<string>",
"status": 123,
"timestamp": "2023-11-07T05:31:56Z",
"body": null
}{
"message": "<string>",
"status": 123,
"timestamp": "2023-11-07T05:31:56Z",
"body": null
}Cet appel rattache un mobile wallet supplémentaire à un usager qui existe déjà dans GIMpay. Il ne crée pas d’usager : pour le premier instrument, utilisez plutôt l’enrôlement d’usager, qui crée l’usager et son instrument en un seul appel.
Avant d’appeler
1
L'usager doit exister
Vous avez besoin de sa
refUsager (la refUsagerGIMpay retournée à l’enrôlement).2
Vérifiez que le wallet n'est pas déjà enrôlé
POST /check-existence et validation de l’OTP.Champs
Les cinq champs sont tous obligatoires :| Champ | Rôle |
|---|---|
msidn | Numéro de téléphone du wallet, sans indicatif |
codeIso | Code ISO 3166-1 alpha-3 du pays (CIV, SEN…) |
refUsager | Référence GIMpay de l’usager détenteur |
refContributeurDemandeur | Vous, le contributeur qui demande l’enrôlement |
refContributeurEmetteur | L’opérateur détenteur du wallet |
Ici
msidn est le numéro sans indicatif, alors que dans l’objet wallet de l’enrôlement d’usager le champ msisdn attend le numéro complet, indicatif inclus.La longueur attendue varie par pays (champ
longueurmsisdn de GET /countries) : 10 chiffres pour CIV/BEN, 9 pour SEN/GNB, 8 pour BFA/MLI/NER/TGO (constaté en sandbox le 2026-07-15). Elle n’est pas vérifiée côté client par le SDK Flutter — seul le format numérique l’est — le serveur la valide et renvoie un message explicite en cas d’écart.Réponses
Le corps utile arrive dansbody, à l’intérieur de l’enveloppe commune { message, status, body, timestamp }, et contient notamment refInstrumentPaiement — la référence de l’instrument nouvellement créé, à conserver.
Un 404 indique qu’une entité renseignée est introuvable : le plus souvent refUsager ou l’une des deux références de contributeur.
Et ensuite ?
Consulter le solde
GET /wallets/{referenceWallet}/balanceExécuter une opération
Utilisez ce nouvel instrument comme initiateur.
Authorizations
Jeton émis par POST /api/v1/auth/token.
Body
application/json
Le code ISO de l'instrument de paiement à enrôler
Example:
"CIV"
Numéro mobile money (typo msisdn conforme au contrat).
La référence du contributeur demandeur qui demande l'enrôlement de l'instrument de paiement
La référence du contributeur émetteur de l'instrument de paiement à enrôler
La reference de l'usager