Encaisser un paiement mobile money

Sur le serveur Production, déclenche une sollicitation réelle (push, USSD ou SMS) vers le numéro du payeur ; sur Sandbox, l'issue est pilotée par les deux derniers chiffres du numéro (cf. [numéros de test](/docs/numeros-de-test)). La réponse `200` signifie « demande acceptée », jamais « payé » : l'issue est poussée par le webhook sortant, et se relit sur `GET /v1/transactions/by-id/{transactionId}` avec l'`id` renvoyé ici — cf. [réconciliation](/docs/reconciliation).

POST
/v1/pay-in
AuthorizationBearer <token>

Clé d'API de l'organisation, envoyée en Authorization: Bearer sk_live_… (sk_test_… sur le serveur Sandbox). Il n'existe aucun header X-API-Key.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/pay-in" \  -H "Content-Type: application/json" \  -d '{    "orderId": "string",    "amount": 100,    "phoneNumber": "string",    "currencyCode": "string"  }'
{  "success": true,  "data": {    "orderId": "string",    "transactionId": "75906707-8c31-479c-b354-aa805c4cefbc",    "status": "string",    "message": "string",    "failureCategory": "INSUFFICIENT_FUNDS",    "failureReason": "string",    "failureCode": "string"  }}