Recharge self-service : listez les packs et payez par carte via Stripe Checkout.
Rechargez depuis votre backend quand GET /v1/balance passe sous votre seuil. Le prix des packs est fixé côté serveur : nous ne faisons jamais confiance à un montant fourni par le client.
GET /v1/credits/packs — scope balance:read
Réponse
[
{
"code": "standard",
"label": "Standard",
"credits": 1000,
"price_xaf": 42000,
"unit_price_xaf": 42,
"discount_percent": 16
}
]
POST /v1/credits/checkout — scope balance:read
Le paiement se fait par carte via Stripe — le seul moyen supporté par l'API dev. L'appel crée une session Stripe Checkout et renvoie une checkout_url à ouvrir dans un navigateur. Le montant vient du pack (côté serveur), jamais de l'appelant.
Requête
curl -X POST https://wa-api.geskap.com/v1/credits/checkout \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{ "pack_code": "standard" }'
Réponse (201)
{
"order_id": "…",
"pack_code": "standard",
"credits": 1000,
"amount_xaf": 42000,
"checkout_url": "https://checkout.stripe.com/…"
}
Astuce — Les crédits sont accordés par le webhook
Ouvrez checkout_url pour payer. Les crédits sont accordés par le webhook Stripe une fois le paiement confirmé — jamais à la création de la session. Vérifiez ensuite GET /v1/balance.