Passer au contenu principal
Airtel Money — Open API merchant payments.

Pays couverts

PaysCodeDevise
RwandaRWRWF
D’autres marchés Airtel (Ouganda, Tanzanie, RDC…) seront ajoutés post-launch.

URLs

TypeURL
Portail devdevelopers.airtel.africa
Sandbox UAThttps://openapiuat.airtel.africa
Token OAuthhttps://openapiuat.airtel.africa/auth/oauth2/token
Paymenthttps://openapiuat.airtel.africa/merchant/v1/payments/
USSD client*185#

Credentials requis

À renseigner dans Settings → Stores → Airtel :
ChampTypeDescription
client_idtextOAuth client_id de votre app Airtel Developer.
client_secretpasswordSecret OAuth associé.

Particularités

  • OAuth client_credentials avec corps JSON : contrairement à Orange (qui attend du x-www-form-urlencoded), Airtel exige un corps JSON { "client_id": ..., "client_secret": ..., "grant_type": "client_credentials" } sur le token endpoint. SandPay gère cette variante via oauthClientCredentialsJsonBody.
  • En-têtes X-Country et X-Currency obligatoires sur l’appel POST /merchant/v1/payments/ — déduits du MSISDN ou explicitement passés via le champ country.
  • msisdn envoyé sans le + dans le subscriber.
  • Le payload Airtel sépare subscriber (le payeur) et transaction (le mouvement) — SandPay copie reference dans les deux champs id pour rester idempotent.
  • Réponse imbriquée : data.transaction.id — c’est cette valeur qui est stockée comme provider_tx_id.

Voir aussi