Baraka Pay DOCS

← Retour à la documentation

Bien démarrer

Créez votre premier paiement dans le sandbox en quelques minutes.

Un seul cœur, deux intégrations

Chaque paiement Baraka Pay est un PaymentIntent — l'enregistrement canonique d'une obligation de paiement. L'API directe et le paiement hébergé par Baraka Pay pilotent tous deux le même PaymentIntent, de sorte que vos comptes ne divergent jamais.

Connectez-vous au portail Developer pour créer une clé API sandbox, puis créez votre premier intent.

Créer un PaymentIntent

Envoyez un montant en unités mineures, une référence marchande et un paymentType — l'indicateur de routage qui sélectionne directement l'adaptateur du fournisseur (voir Choisir un type de paiement ci-dessous). Les écritures rejouées doivent porter une Idempotency-Key.

POST /v1/payment-intents Authorization: Bearer sk_test_... Idempotency-Key: 6f1c... { "amount": { "minor": 12500, "currency": "CDF" }, "merchantReference": "ORDER-1042", "paymentType": "mpesa" }

Confirmer et attendre la vérité

Confirmez l'intent ; Baraka Pay renvoie une action suivante neutre vis-à-vis du fournisseur. Certains types de paiement (les marques mobile money) ont besoin du msisdn du payeur lors de la confirmation — voir Choisir un type de paiement. Considérez le webhook signé (ou une recherche côté serveur) comme le seul signal faisant foi du succès.

POST /v1/payment-intents/{id}/confirm Authorization: Bearer sk_test_... Idempotency-Key: 7a2d... { "msisdn": "+243900000000" }

Choisir un type de paiement

paymentType est un catalogue plat : card, eft, qr, mpesa, airtel_money, orange_money, tigo_money, mtn_momo, apple_pay, google_pay, samsung_pay. Il sélectionne directement le fournisseur — la famille (par ex. « wallet » pour les marques mobile money et les portefeuilles d'appareil) n'est qu'un regroupement d'affichage, jamais un routage.

msisdn n'est requis à la confirmation que pour les types de paiement à instrument msisdn (les marques mobile money) ; les autres types confirment sans lui et pilotent la suite via l'action suivante renvoyée.

Le paiement hébergé assigne paymentType en appelant select-method avec le choix du payeur avant confirm ; les appelants de l'API directe le définissent plutôt lors de create.