Mode test
Une clé qb_test_sk_… travaille sur l’application sandbox. Vous pouvez dérouler tout le parcours sans argent réel.
Ce qui change avec une clé de test
- Aucun appel n’est fait à Wave.
- Aucun e-mail de facture n’est envoyé.
- Les numéros de facture commencent par
TEST-INV-. - Les événements de webhook portent
livemode: false.
La page de paiement simulée
Appelez payments.initiate (POST /v1/payments/initiate) avec une clé de test : la réponse contient un redirectUrl, qui mène à une page de paiement de test QBill. Cette page propose deux boutons, Pay et Decline.
curl -X POST https://api.qbill.dev/v1/payments/initiate \
-H "x-api-key: qb_test_sk_…" \
-H "content-type: application/json" \
-d '{"invoice_id":"<id de la facture>","phone_number":"+2250700000000","provider":"wave"}'
- Pay : la facture passe à
paidet l’événementinvoice.paidest envoyé. - Decline : le paiement passe à
failedet les relances démarrent (voir Relances).
Avec le SDK Node (bientôt sur npm) : qbill.payments.initiate({ invoice_id, phone_number }).
Pour recevoir les événements, voir Webhooks.
Passer en production
Créez une clé qb_live_sk_… sur l’application de production et remplacez la clé de test par celle-ci. Le code ne change pas : mêmes routes, mêmes corps de requête. Seule la clé change, et avec elle l’application (voir Authentification et clés).