Pont · Documentation
RéférenceAPI

Retraits

Envoyer de l'argent vers Mobile Money.

Envoyer de l'argent

POST
/v1/payouts

Authorization

ApiKey
headerAuthorizationBearer <token>

PONT_API_KEY, pour les routes /v1.

Header Parameters

Idempotency-Key?string

Clé d'idempotence (8 à 255 caractères). Sans elle, Pont utilise auto:<type>:<reference>.

Length8 <= length <= 255

Request Body

application/json
  1. body
amount*integer

Montant en unités entières de la devise.

Range1 <= value
currency*Currency

Devise : le XOF et le XAF n'ont pas de décimales, les montants sont des entiers.

Value in"XOF""XAF"
country*Country

Pays (ISO 3166-1 alpha-2).

Value in"BJ""TG""CI""SN""BF""ML""NE""GN""CM""CG""CD""GA"
operator*Operator

Opérateur Mobile Money (<opérateur>_<pays>), indépendant des codes des agrégateurs.

Value in"mtn_bj""moov_bj""celtiis_bj""moov_tg""tmoney_tg""mtn_ci""orange_ci""moov_ci""wave_ci""orange_sn""free_sn""wave_sn""expresso_sn""wizall_sn""orange_bf""moov_bf""orange_ml""moov_ml""mtn_cm""orange_cm""mtn_cg""airtel_cg""airtel_ga"
recipient*
reference*string

Votre référence, 1 à 64 caractères. Sert aussi de clé d'idempotence par défaut.

Length1 <= length <= 64
description?string
Lengthlength <= 255
metadata?

Response Body

Retrait créé.

application/json
  1. response
id*string
mode*string

Mode du serveur au moment de la création.

Value in"test""live"
country*string

Pays (ISO 3166-1 alpha-2).

Value in"BJ""TG""CI""SN""BF""ML""NE""GN""CM""CG""CD""GA"
currency*Currency

Devise : le XOF et le XAF n'ont pas de décimales, les montants sont des entiers.

Value in"XOF""XAF"
provider*string

Agrégateur choisi par Pont (fedapay, pawapay, paydunya, kkiapay, sandbox ou un agrégateur personnalisé).

attemptId*string

Identifiant unique de la tentative, transmis à l'agrégateur quand il l'accepte.

providerRef*|null
failureCode*|null
needsReconciliation*boolean

true quand l'état réel chez l'agrégateur est inconnu : Pont vérifie à chaque cycle, ne réessaie jamais ailleurs.

metadata*

Vos métadonnées libres (valeurs de 500 caractères au plus).

createdAt*integer

Date de création, en millisecondes Unix.

updatedAt*integer

Dernière mise à jour, en millisecondes Unix.

status*TransferStatus

Statut d'un retrait ou d'un remboursement.

Value in"pending""processing""succeeded""failed""cancelled"
amount*integer
operator*Operator

Opérateur Mobile Money (<opérateur>_<pays>), indépendant des codes des agrégateurs.

Value in"mtn_bj""moov_bj""celtiis_bj""moov_tg""tmoney_tg""mtn_ci""orange_ci""moov_ci""wave_ci""orange_sn""free_sn""wave_sn""expresso_sn""wizall_sn""orange_bf""moov_bf""orange_ml""moov_ml""mtn_cm""orange_cm""mtn_cg""airtel_cg""airtel_ga"
recipientPhone*string

Numéro du bénéficiaire.

reference*string
curl -X POST 'http://localhost:8787/v1/payouts' \  -H 'Content-Type: application/json' \  -d '{  "amount": 10000,  "currency": "XOF",  "country": "BJ",  "operator": "mtn_bj",  "recipient": {    "phone": "+2290100000001"  },  "reference": "salaire-oct-12"}'
{  "id": "po_f6be299eb1f44d63a8d4a588965ce39e",  "mode": "test",  "country": "BJ",  "currency": "XOF",  "provider": "fedapay",  "attemptId": "string",  "providerRef": "string",  "failureCode": "string",  "needsReconciliation": true,  "metadata": {    "property1": "string",    "property2": "string"  },  "createdAt": 0,  "updatedAt": 0,  "status": "pending",  "amount": 0,  "operator": "mtn_bj",  "recipientPhone": "string",  "reference": "string"}

Lire un retrait

GET
/v1/payouts/{id}

Authorization

ApiKey
headerAuthorizationBearer <token>

PONT_API_KEY, pour les routes /v1.

Path Parameters

id*string

Identifiant Pont du retrait (po_…).

Response Body

Le retrait.

application/json
  1. response
id*string
mode*string

Mode du serveur au moment de la création.

Value in"test""live"
country*string

Pays (ISO 3166-1 alpha-2).

Value in"BJ""TG""CI""SN""BF""ML""NE""GN""CM""CG""CD""GA"
currency*Currency

Devise : le XOF et le XAF n'ont pas de décimales, les montants sont des entiers.

Value in"XOF""XAF"
provider*string

Agrégateur choisi par Pont (fedapay, pawapay, paydunya, kkiapay, sandbox ou un agrégateur personnalisé).

attemptId*string

Identifiant unique de la tentative, transmis à l'agrégateur quand il l'accepte.

providerRef*|null
failureCode*|null
needsReconciliation*boolean

true quand l'état réel chez l'agrégateur est inconnu : Pont vérifie à chaque cycle, ne réessaie jamais ailleurs.

metadata*

Vos métadonnées libres (valeurs de 500 caractères au plus).

createdAt*integer

Date de création, en millisecondes Unix.

updatedAt*integer

Dernière mise à jour, en millisecondes Unix.

status*TransferStatus

Statut d'un retrait ou d'un remboursement.

Value in"pending""processing""succeeded""failed""cancelled"
amount*integer
operator*Operator

Opérateur Mobile Money (<opérateur>_<pays>), indépendant des codes des agrégateurs.

Value in"mtn_bj""moov_bj""celtiis_bj""moov_tg""tmoney_tg""mtn_ci""orange_ci""moov_ci""wave_ci""orange_sn""free_sn""wave_sn""expresso_sn""wizall_sn""orange_bf""moov_bf""orange_ml""moov_ml""mtn_cm""orange_cm""mtn_cg""airtel_cg""airtel_ga"
recipientPhone*string

Numéro du bénéficiaire.

reference*string
curl -X GET 'http://localhost:8787/v1/payouts/string'
{  "id": "po_f6be299eb1f44d63a8d4a588965ce39e",  "mode": "test",  "country": "BJ",  "currency": "XOF",  "provider": "fedapay",  "attemptId": "string",  "providerRef": "string",  "failureCode": "string",  "needsReconciliation": true,  "metadata": {    "property1": "string",    "property2": "string"  },  "createdAt": 0,  "updatedAt": 0,  "status": "pending",  "amount": 0,  "operator": "mtn_bj",  "recipientPhone": "string",  "reference": "string"}
POST
/v1/payouts/{id}/refresh

Authorization

ApiKey
headerAuthorizationBearer <token>

PONT_API_KEY, pour les routes /v1.

Path Parameters

id*string

Identifiant Pont du retrait.

Response Body

Le retrait à jour.

application/json
  1. response
id*string
mode*string

Mode du serveur au moment de la création.

Value in"test""live"
country*string

Pays (ISO 3166-1 alpha-2).

Value in"BJ""TG""CI""SN""BF""ML""NE""GN""CM""CG""CD""GA"
currency*Currency

Devise : le XOF et le XAF n'ont pas de décimales, les montants sont des entiers.

Value in"XOF""XAF"
provider*string

Agrégateur choisi par Pont (fedapay, pawapay, paydunya, kkiapay, sandbox ou un agrégateur personnalisé).

attemptId*string

Identifiant unique de la tentative, transmis à l'agrégateur quand il l'accepte.

providerRef*|null
failureCode*|null
needsReconciliation*boolean

true quand l'état réel chez l'agrégateur est inconnu : Pont vérifie à chaque cycle, ne réessaie jamais ailleurs.

metadata*

Vos métadonnées libres (valeurs de 500 caractères au plus).

createdAt*integer

Date de création, en millisecondes Unix.

updatedAt*integer

Dernière mise à jour, en millisecondes Unix.

status*TransferStatus

Statut d'un retrait ou d'un remboursement.

Value in"pending""processing""succeeded""failed""cancelled"
amount*integer
operator*Operator

Opérateur Mobile Money (<opérateur>_<pays>), indépendant des codes des agrégateurs.

Value in"mtn_bj""moov_bj""celtiis_bj""moov_tg""tmoney_tg""mtn_ci""orange_ci""moov_ci""wave_ci""orange_sn""free_sn""wave_sn""expresso_sn""wizall_sn""orange_bf""moov_bf""orange_ml""moov_ml""mtn_cm""orange_cm""mtn_cg""airtel_cg""airtel_ga"
recipientPhone*string

Numéro du bénéficiaire.

reference*string
curl -X POST 'http://localhost:8787/v1/payouts/string/refresh'
{  "id": "po_f6be299eb1f44d63a8d4a588965ce39e",  "mode": "test",  "country": "BJ",  "currency": "XOF",  "provider": "fedapay",  "attemptId": "string",  "providerRef": "string",  "failureCode": "string",  "needsReconciliation": true,  "metadata": {    "property1": "string",    "property2": "string"  },  "createdAt": 0,  "updatedAt": 0,  "status": "pending",  "amount": 0,  "operator": "mtn_bj",  "recipientPhone": "string",  "reference": "string"}