Enrôler un client (KYC + instrument + terminal)
curl --request POST \
--url https://egimgarsud.gimpayapp.com/api/v1/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"kyc": {
"nom": "<string>",
"prenoms": "<string>",
"dateNaissance": "<string>",
"lieuNaissance": "<string>",
"paysNaissance": "<string>",
"profession": "<string>",
"adresseEmail": "jsmith@example.com",
"contactMobile1": "<string>",
"nationalite": "<string>",
"codeIso": "CIV",
"adressePostale": "<string>",
"adresseGeographique": "<string>",
"contactMobile2": "<string>",
"nomDuPere": "<string>",
"nomDeLaMere": "<string>",
"nomPrenomConjoint": "<string>",
"contactMobileConjoint": "<string>",
"typeKyc": "<string>"
},
"refContributeurDemandeur": "<string>",
"refContributeurEmetteur": "<string>",
"terminal": {
"marque": "<string>",
"modele": "<string>",
"numeroSerie": "<string>",
"refUsager": "<string>"
},
"wallet": {
"codeClient": "<string>",
"numeroRib": "<string>",
"msisdn": "<string>",
"pan": "<string>",
"cvv": "<string>",
"dateExpiration": "<string>"
}
}
'import requests
url = "https://egimgarsud.gimpayapp.com/api/v1/users"
payload = {
"kyc": {
"nom": "<string>",
"prenoms": "<string>",
"dateNaissance": "<string>",
"lieuNaissance": "<string>",
"paysNaissance": "<string>",
"profession": "<string>",
"adresseEmail": "jsmith@example.com",
"contactMobile1": "<string>",
"nationalite": "<string>",
"codeIso": "CIV",
"adressePostale": "<string>",
"adresseGeographique": "<string>",
"contactMobile2": "<string>",
"nomDuPere": "<string>",
"nomDeLaMere": "<string>",
"nomPrenomConjoint": "<string>",
"contactMobileConjoint": "<string>",
"typeKyc": "<string>"
},
"refContributeurDemandeur": "<string>",
"refContributeurEmetteur": "<string>",
"terminal": {
"marque": "<string>",
"modele": "<string>",
"numeroSerie": "<string>",
"refUsager": "<string>"
},
"wallet": {
"codeClient": "<string>",
"numeroRib": "<string>",
"msisdn": "<string>",
"pan": "<string>",
"cvv": "<string>",
"dateExpiration": "<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({
kyc: {
nom: '<string>',
prenoms: '<string>',
dateNaissance: '<string>',
lieuNaissance: '<string>',
paysNaissance: '<string>',
profession: '<string>',
adresseEmail: 'jsmith@example.com',
contactMobile1: '<string>',
nationalite: '<string>',
codeIso: 'CIV',
adressePostale: '<string>',
adresseGeographique: '<string>',
contactMobile2: '<string>',
nomDuPere: '<string>',
nomDeLaMere: '<string>',
nomPrenomConjoint: '<string>',
contactMobileConjoint: '<string>',
typeKyc: '<string>'
},
refContributeurDemandeur: '<string>',
refContributeurEmetteur: '<string>',
terminal: {
marque: '<string>',
modele: '<string>',
numeroSerie: '<string>',
refUsager: '<string>'
},
wallet: {
codeClient: '<string>',
numeroRib: '<string>',
msisdn: '<string>',
pan: '<string>',
cvv: '<string>',
dateExpiration: '<string>'
}
})
};
fetch('https://egimgarsud.gimpayapp.com/api/v1/users', 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/users",
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([
'kyc' => [
'nom' => '<string>',
'prenoms' => '<string>',
'dateNaissance' => '<string>',
'lieuNaissance' => '<string>',
'paysNaissance' => '<string>',
'profession' => '<string>',
'adresseEmail' => 'jsmith@example.com',
'contactMobile1' => '<string>',
'nationalite' => '<string>',
'codeIso' => 'CIV',
'adressePostale' => '<string>',
'adresseGeographique' => '<string>',
'contactMobile2' => '<string>',
'nomDuPere' => '<string>',
'nomDeLaMere' => '<string>',
'nomPrenomConjoint' => '<string>',
'contactMobileConjoint' => '<string>',
'typeKyc' => '<string>'
],
'refContributeurDemandeur' => '<string>',
'refContributeurEmetteur' => '<string>',
'terminal' => [
'marque' => '<string>',
'modele' => '<string>',
'numeroSerie' => '<string>',
'refUsager' => '<string>'
],
'wallet' => [
'codeClient' => '<string>',
'numeroRib' => '<string>',
'msisdn' => '<string>',
'pan' => '<string>',
'cvv' => '<string>',
'dateExpiration' => '<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/users"
payload := strings.NewReader("{\n \"kyc\": {\n \"nom\": \"<string>\",\n \"prenoms\": \"<string>\",\n \"dateNaissance\": \"<string>\",\n \"lieuNaissance\": \"<string>\",\n \"paysNaissance\": \"<string>\",\n \"profession\": \"<string>\",\n \"adresseEmail\": \"jsmith@example.com\",\n \"contactMobile1\": \"<string>\",\n \"nationalite\": \"<string>\",\n \"codeIso\": \"CIV\",\n \"adressePostale\": \"<string>\",\n \"adresseGeographique\": \"<string>\",\n \"contactMobile2\": \"<string>\",\n \"nomDuPere\": \"<string>\",\n \"nomDeLaMere\": \"<string>\",\n \"nomPrenomConjoint\": \"<string>\",\n \"contactMobileConjoint\": \"<string>\",\n \"typeKyc\": \"<string>\"\n },\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"terminal\": {\n \"marque\": \"<string>\",\n \"modele\": \"<string>\",\n \"numeroSerie\": \"<string>\",\n \"refUsager\": \"<string>\"\n },\n \"wallet\": {\n \"codeClient\": \"<string>\",\n \"numeroRib\": \"<string>\",\n \"msisdn\": \"<string>\",\n \"pan\": \"<string>\",\n \"cvv\": \"<string>\",\n \"dateExpiration\": \"<string>\"\n }\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/users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"kyc\": {\n \"nom\": \"<string>\",\n \"prenoms\": \"<string>\",\n \"dateNaissance\": \"<string>\",\n \"lieuNaissance\": \"<string>\",\n \"paysNaissance\": \"<string>\",\n \"profession\": \"<string>\",\n \"adresseEmail\": \"jsmith@example.com\",\n \"contactMobile1\": \"<string>\",\n \"nationalite\": \"<string>\",\n \"codeIso\": \"CIV\",\n \"adressePostale\": \"<string>\",\n \"adresseGeographique\": \"<string>\",\n \"contactMobile2\": \"<string>\",\n \"nomDuPere\": \"<string>\",\n \"nomDeLaMere\": \"<string>\",\n \"nomPrenomConjoint\": \"<string>\",\n \"contactMobileConjoint\": \"<string>\",\n \"typeKyc\": \"<string>\"\n },\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"terminal\": {\n \"marque\": \"<string>\",\n \"modele\": \"<string>\",\n \"numeroSerie\": \"<string>\",\n \"refUsager\": \"<string>\"\n },\n \"wallet\": {\n \"codeClient\": \"<string>\",\n \"numeroRib\": \"<string>\",\n \"msisdn\": \"<string>\",\n \"pan\": \"<string>\",\n \"cvv\": \"<string>\",\n \"dateExpiration\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://egimgarsud.gimpayapp.com/api/v1/users")
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 \"kyc\": {\n \"nom\": \"<string>\",\n \"prenoms\": \"<string>\",\n \"dateNaissance\": \"<string>\",\n \"lieuNaissance\": \"<string>\",\n \"paysNaissance\": \"<string>\",\n \"profession\": \"<string>\",\n \"adresseEmail\": \"jsmith@example.com\",\n \"contactMobile1\": \"<string>\",\n \"nationalite\": \"<string>\",\n \"codeIso\": \"CIV\",\n \"adressePostale\": \"<string>\",\n \"adresseGeographique\": \"<string>\",\n \"contactMobile2\": \"<string>\",\n \"nomDuPere\": \"<string>\",\n \"nomDeLaMere\": \"<string>\",\n \"nomPrenomConjoint\": \"<string>\",\n \"contactMobileConjoint\": \"<string>\",\n \"typeKyc\": \"<string>\"\n },\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"terminal\": {\n \"marque\": \"<string>\",\n \"modele\": \"<string>\",\n \"numeroSerie\": \"<string>\",\n \"refUsager\": \"<string>\"\n },\n \"wallet\": {\n \"codeClient\": \"<string>\",\n \"numeroRib\": \"<string>\",\n \"msisdn\": \"<string>\",\n \"pan\": \"<string>\",\n \"cvv\": \"<string>\",\n \"dateExpiration\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"status": 123,
"timestamp": "2023-11-07T05:31:56Z",
"body": {
"refUsagerGIMpay": "<string>",
"refInstrumentPaiement": "<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
}Usagers
Enrôler un usager
Enregistrer un nouvel usager GIMpay avec son identité (KYC), son premier instrument de paiement et le terminal utilisé.
POST
/
api
/
v1
/
users
Enrôler un client (KYC + instrument + terminal)
curl --request POST \
--url https://egimgarsud.gimpayapp.com/api/v1/users \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"kyc": {
"nom": "<string>",
"prenoms": "<string>",
"dateNaissance": "<string>",
"lieuNaissance": "<string>",
"paysNaissance": "<string>",
"profession": "<string>",
"adresseEmail": "jsmith@example.com",
"contactMobile1": "<string>",
"nationalite": "<string>",
"codeIso": "CIV",
"adressePostale": "<string>",
"adresseGeographique": "<string>",
"contactMobile2": "<string>",
"nomDuPere": "<string>",
"nomDeLaMere": "<string>",
"nomPrenomConjoint": "<string>",
"contactMobileConjoint": "<string>",
"typeKyc": "<string>"
},
"refContributeurDemandeur": "<string>",
"refContributeurEmetteur": "<string>",
"terminal": {
"marque": "<string>",
"modele": "<string>",
"numeroSerie": "<string>",
"refUsager": "<string>"
},
"wallet": {
"codeClient": "<string>",
"numeroRib": "<string>",
"msisdn": "<string>",
"pan": "<string>",
"cvv": "<string>",
"dateExpiration": "<string>"
}
}
'import requests
url = "https://egimgarsud.gimpayapp.com/api/v1/users"
payload = {
"kyc": {
"nom": "<string>",
"prenoms": "<string>",
"dateNaissance": "<string>",
"lieuNaissance": "<string>",
"paysNaissance": "<string>",
"profession": "<string>",
"adresseEmail": "jsmith@example.com",
"contactMobile1": "<string>",
"nationalite": "<string>",
"codeIso": "CIV",
"adressePostale": "<string>",
"adresseGeographique": "<string>",
"contactMobile2": "<string>",
"nomDuPere": "<string>",
"nomDeLaMere": "<string>",
"nomPrenomConjoint": "<string>",
"contactMobileConjoint": "<string>",
"typeKyc": "<string>"
},
"refContributeurDemandeur": "<string>",
"refContributeurEmetteur": "<string>",
"terminal": {
"marque": "<string>",
"modele": "<string>",
"numeroSerie": "<string>",
"refUsager": "<string>"
},
"wallet": {
"codeClient": "<string>",
"numeroRib": "<string>",
"msisdn": "<string>",
"pan": "<string>",
"cvv": "<string>",
"dateExpiration": "<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({
kyc: {
nom: '<string>',
prenoms: '<string>',
dateNaissance: '<string>',
lieuNaissance: '<string>',
paysNaissance: '<string>',
profession: '<string>',
adresseEmail: 'jsmith@example.com',
contactMobile1: '<string>',
nationalite: '<string>',
codeIso: 'CIV',
adressePostale: '<string>',
adresseGeographique: '<string>',
contactMobile2: '<string>',
nomDuPere: '<string>',
nomDeLaMere: '<string>',
nomPrenomConjoint: '<string>',
contactMobileConjoint: '<string>',
typeKyc: '<string>'
},
refContributeurDemandeur: '<string>',
refContributeurEmetteur: '<string>',
terminal: {
marque: '<string>',
modele: '<string>',
numeroSerie: '<string>',
refUsager: '<string>'
},
wallet: {
codeClient: '<string>',
numeroRib: '<string>',
msisdn: '<string>',
pan: '<string>',
cvv: '<string>',
dateExpiration: '<string>'
}
})
};
fetch('https://egimgarsud.gimpayapp.com/api/v1/users', 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/users",
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([
'kyc' => [
'nom' => '<string>',
'prenoms' => '<string>',
'dateNaissance' => '<string>',
'lieuNaissance' => '<string>',
'paysNaissance' => '<string>',
'profession' => '<string>',
'adresseEmail' => 'jsmith@example.com',
'contactMobile1' => '<string>',
'nationalite' => '<string>',
'codeIso' => 'CIV',
'adressePostale' => '<string>',
'adresseGeographique' => '<string>',
'contactMobile2' => '<string>',
'nomDuPere' => '<string>',
'nomDeLaMere' => '<string>',
'nomPrenomConjoint' => '<string>',
'contactMobileConjoint' => '<string>',
'typeKyc' => '<string>'
],
'refContributeurDemandeur' => '<string>',
'refContributeurEmetteur' => '<string>',
'terminal' => [
'marque' => '<string>',
'modele' => '<string>',
'numeroSerie' => '<string>',
'refUsager' => '<string>'
],
'wallet' => [
'codeClient' => '<string>',
'numeroRib' => '<string>',
'msisdn' => '<string>',
'pan' => '<string>',
'cvv' => '<string>',
'dateExpiration' => '<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/users"
payload := strings.NewReader("{\n \"kyc\": {\n \"nom\": \"<string>\",\n \"prenoms\": \"<string>\",\n \"dateNaissance\": \"<string>\",\n \"lieuNaissance\": \"<string>\",\n \"paysNaissance\": \"<string>\",\n \"profession\": \"<string>\",\n \"adresseEmail\": \"jsmith@example.com\",\n \"contactMobile1\": \"<string>\",\n \"nationalite\": \"<string>\",\n \"codeIso\": \"CIV\",\n \"adressePostale\": \"<string>\",\n \"adresseGeographique\": \"<string>\",\n \"contactMobile2\": \"<string>\",\n \"nomDuPere\": \"<string>\",\n \"nomDeLaMere\": \"<string>\",\n \"nomPrenomConjoint\": \"<string>\",\n \"contactMobileConjoint\": \"<string>\",\n \"typeKyc\": \"<string>\"\n },\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"terminal\": {\n \"marque\": \"<string>\",\n \"modele\": \"<string>\",\n \"numeroSerie\": \"<string>\",\n \"refUsager\": \"<string>\"\n },\n \"wallet\": {\n \"codeClient\": \"<string>\",\n \"numeroRib\": \"<string>\",\n \"msisdn\": \"<string>\",\n \"pan\": \"<string>\",\n \"cvv\": \"<string>\",\n \"dateExpiration\": \"<string>\"\n }\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/users")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"kyc\": {\n \"nom\": \"<string>\",\n \"prenoms\": \"<string>\",\n \"dateNaissance\": \"<string>\",\n \"lieuNaissance\": \"<string>\",\n \"paysNaissance\": \"<string>\",\n \"profession\": \"<string>\",\n \"adresseEmail\": \"jsmith@example.com\",\n \"contactMobile1\": \"<string>\",\n \"nationalite\": \"<string>\",\n \"codeIso\": \"CIV\",\n \"adressePostale\": \"<string>\",\n \"adresseGeographique\": \"<string>\",\n \"contactMobile2\": \"<string>\",\n \"nomDuPere\": \"<string>\",\n \"nomDeLaMere\": \"<string>\",\n \"nomPrenomConjoint\": \"<string>\",\n \"contactMobileConjoint\": \"<string>\",\n \"typeKyc\": \"<string>\"\n },\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"terminal\": {\n \"marque\": \"<string>\",\n \"modele\": \"<string>\",\n \"numeroSerie\": \"<string>\",\n \"refUsager\": \"<string>\"\n },\n \"wallet\": {\n \"codeClient\": \"<string>\",\n \"numeroRib\": \"<string>\",\n \"msisdn\": \"<string>\",\n \"pan\": \"<string>\",\n \"cvv\": \"<string>\",\n \"dateExpiration\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://egimgarsud.gimpayapp.com/api/v1/users")
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 \"kyc\": {\n \"nom\": \"<string>\",\n \"prenoms\": \"<string>\",\n \"dateNaissance\": \"<string>\",\n \"lieuNaissance\": \"<string>\",\n \"paysNaissance\": \"<string>\",\n \"profession\": \"<string>\",\n \"adresseEmail\": \"jsmith@example.com\",\n \"contactMobile1\": \"<string>\",\n \"nationalite\": \"<string>\",\n \"codeIso\": \"CIV\",\n \"adressePostale\": \"<string>\",\n \"adresseGeographique\": \"<string>\",\n \"contactMobile2\": \"<string>\",\n \"nomDuPere\": \"<string>\",\n \"nomDeLaMere\": \"<string>\",\n \"nomPrenomConjoint\": \"<string>\",\n \"contactMobileConjoint\": \"<string>\",\n \"typeKyc\": \"<string>\"\n },\n \"refContributeurDemandeur\": \"<string>\",\n \"refContributeurEmetteur\": \"<string>\",\n \"terminal\": {\n \"marque\": \"<string>\",\n \"modele\": \"<string>\",\n \"numeroSerie\": \"<string>\",\n \"refUsager\": \"<string>\"\n },\n \"wallet\": {\n \"codeClient\": \"<string>\",\n \"numeroRib\": \"<string>\",\n \"msisdn\": \"<string>\",\n \"pan\": \"<string>\",\n \"cvv\": \"<string>\",\n \"dateExpiration\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"status": 123,
"timestamp": "2023-11-07T05:31:56Z",
"body": {
"refUsagerGIMpay": "<string>",
"refInstrumentPaiement": "<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
}C’est le point d’entrée de tout parcours GIMpay : cet appel crée simultanément l’usager, son premier instrument de paiement et enregistre le terminal ayant servi à l’enrôlement. Il retourne une
Les erreurs de validation renvoient un
refUsagerGIMpay et une refInstrumentPaiement, références que vous réutiliserez dans la quasi-totalité des appels suivants.
Avant d’appeler
1
Vérifiez que l'instrument n'est pas déjà enrôlé
Appelez
POST /api/v1/check-existence. S’il retourne true, l’instrument est inconnu de GIMpay et un OTP a été envoyé au numéro rattaché. L’enrôlement peut se poursuivre.2
Récupérez les références de contributeur
refContributeurDemandeur (vous) et refContributeurEmetteur (l’établissement détenteur de l’instrument) s’obtiennent via GET /api/v1/contributors.3
Préparez les champs requis par type d'instrument
Le contenu de l’objet
wallet dépend du type d’instrument enrôlé. Voir la matrice ci-dessous.Champs requis selon le type d’instrument
L’objetwallet accepte huit champs, mais seul un sous-ensemble s’applique à chaque type d’instrument. Les autres doivent être omis.
| Type d’instrument | Champs à fournir |
|---|---|
| Mobile Wallet | msisdn |
| Carte Débit | pan, cvv, typeCarteBancaire |
| Carte Prépayée | codeClient, typeCarteBancaire |
| Compte Bancaire | numeroRib, typeCompteBancaire |
Vous ne pouvez qu’utiliser les instruments de paiement de type
CARTE PREPAYEE pour l’instant.
Pour voir la liste des instruments de paiement, consultez GET /api/v1/wallets/typeRéponses
En cas de succès, le corps utile se trouve dansbody, à l’intérieur de l’enveloppe commune { message, status, body, timestamp } :
Structure attendue
{
"message": "...",
"status": 201,
"body": {
"refUsagerGIMpay": "USER-00123",
"refInstrumentPaiement": "WALLET-00456"
},
"timestamp": "2026-07-16T10:24:31.482Z"
}
400 dont le champ message désigne précisément le champ fautif. Voir la référence des codes d’erreur.
Et ensuite ?
Rattacher d'autres instruments
POST /wallets/card, /bank-account ou /mobile-wallet pour ajouter des instruments à cet usager.Vérifier les droits de l'usager
GET /users/{referenceUsager}/authorization avant toute opération financière.Exécuter une opération
Le parcours complet, du calcul des frais à la validation OTP.
Glossaire
Valeurs acceptées pour
sexe, situationMatrimoniale, typeCarteBancaire…Authorizations
Jeton émis par POST /api/v1/auth/token.
Body
application/json
Show child attributes
Show child attributes
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
Show child attributes
Show child attributes
Instrument de paiement à enrôler avec le client
Show child attributes
Show child attributes
⌘I