Aller au contenu
Chargement des API keys…

Transferts

Envoyez des fonds vers un portefeuille Mobile Money, un portefeuille Djamo ou un autre compte Wajub avec l'API Transfers.

Un transfert est un payout sortant, depuis le solde détenu par notre partenaire de paiement agréé, vers un portefeuille Mobile Money, un portefeuille adressé par numéro de téléphone comme Djamo, ou un autre compte Wajub. Un payout bancaire ne passe que par un compte de versement ajouté dans le Dashboard, que cette API ne peut pas payer. Les transferts sont asynchrones : écoutez transfer.succeeded et transfer.failed.

Clé privée requise

Les transferts exigent la clé privée (sk...) dans l'en-tête Authorization.

Marketplaces : agir pour le compte d'un sous-compte

Une plateforme peut verser un payout pour le compte d'un sous-compte connecté en envoyant un en-tête X-Sync avec sa propre clé (capacité withdrawals requise). Consultez Sous-comptes pour les règles et les cas d'erreur.

Endpoints

MéthodeCheminDescription
POST/transfersCréer un transfert
POST/transfers/batchCréer jusqu'à 500 transferts en un appel
GET/transfersLister les transferts
GET/transfers/{id}Récupérer un transfert

L'objet Transfer

Un transfert se lit par son id. Sa reference vous appartient et son unicité n'est jamais vérifiée : GET /transfers/{id} ne l'accepte donc pas. Le guide des transferts montre un exemple complet.

idstringfacultatif
L'identifiant de tous les autres appels : po_… en live, po_test_… en sandbox.
referencestring?facultatif
Votre propre référence, telle qu'envoyée à la création, ou la référence de la ligne dans un lot. Non unique.
provider_referencestring?facultatif
La référence propre à l'opérateur, une fois que le payout l'a atteint.
amountnumberfacultatif
Montant dans l'unité principale de la devise.
currencystringfacultatif
Code ISO 4217.
descriptionstring?facultatif
Libellé descriptif.
reasonstring?facultatif
Le motif en texte libre envoyé à la création. Ce n'est pas un code d'échec : voir failure_reason.
statusenumfacultatif
processing, review, succeeded, failed ou cancelled, ou pending pour un payout du Dashboard qui attend votre confirmation. cancelled est un payout annulé avant son envoi. Un payout que l'opérateur annule de son côté finit failed.
completebooleanfacultatif
true seulement une fois le transfert succeeded. Il reste false sur failed et cancelled : lisez status pour savoir si un transfert est terminé.
sourcestringfacultatif
api pour un payout créé par votre intégration, dashboard ou recurring pour un payout lancé depuis la Konsole.
failure_reasonstringfacultatif
Le code d'échec, présent uniquement quand status vaut failed ou cancelled.
failure_messagestringfacultatif
L'échec en une phrase, présent uniquement quand status vaut failed ou cancelled.
metadataobjectfacultatif
Vos propres données clé-valeur. Certaines clés sont réservées par Wajub.
ledger_balance_currencystring?facultatif
Le portefeuille sandbox débité. Null sur un payout live.
sandboxbooleanfacultatif
true pour un payout de la sandbox.
providerobject?facultatif
slug et name du prestataire qui porte le payout. null sur un payout sandbox à sa création.
beneficiaryobjectfacultatif
id, name, phone, email et deleted. Un bénéficiaire supprimé depuis reste ici, avec deleted: true.
payment_methodobjectfacultatif
id, account_number et phone de la destination.
succeeded_atdatetime?facultatif
Date d'achèvement, ISO 8601.
created_atdatetimefacultatif
Date de création ISO 8601 (UTC).
updated_atdatetimefacultatif
Date de la dernière modification, ISO 8601.

Cycle de vie

Un payout live est créé processing, ou review quand il est retenu. Un payout du Dashboard qui attend votre confirmation porte pending : confirmé, il suit son cours comme un nouveau payout ; rejeté, il finit cancelled.

Événements

ÉvénementDéclencheur
transfer.createdTransfert créé
transfer.processingTransfert soumis à l'opérateur
transfer.succeededTransfert exécuté avec succès
transfer.failedTransfert échoué
transfer.cancelledArrêté avant son envoi. Aujourd'hui, un tel payout est annoncé en transfer.failed

Que pensez-vous de ce contenu ?