Encaisser en redirigeant le payeur vers la page de paiement Izzi: aucune UI à développer.
Idéal si vous voulez encaisser rapidement sans développer de formulaire de paiement.
Votre backend crée la session ; Izzi gère l'affichage, la saisie et la finalisation du paiement.
Les sessions créées avec une clé izzi_mk_sandbox_… héritent de l'environnement SANDBOX.
La page hébergée affiche un bandeau « Mode test ». Seuls les PSP test (Stripe test, Pawapay sandbox, etc.) sont autorisés: pas de wallet institutionnel ni de ledger INTERNAL.
Les charges sandbox sont enregistrées pour vos tests mais exclues du règlement production et des payouts live.
Pour des sessions PRODUCTION, utilisez une clé izzi_mk_live_… ; le portail JWT ne peut pas créer de session production sans clé live.
Depuis votre serveur, appelez POST /checkout/sessions avec votre clé API.
La réponse contient id (sessionId) et url: redirigez le payeur vers url.
curl -X POST https://api.izzi-finance.com/api/v1/checkout/sessions \
-H "Authorization: Bearer izzi_mk_sandbox_…" \
-H "Content-Type: application/json" \
-d '{
"amount": "2500",
"currency": "USD",
"title": "Commande #1234",
"successUrl": "https://merchant.example/success",
"cancelUrl": "https://merchant.example/cancel"
}'Utilisez data.url de la réponse (ex. https://checkout.example/session/cs_…).
Le payeur voit le montant, les méthodes autorisées et le branding de votre marchand.
Vous n'appelez pas /complete vous-même: la page hébergée s'en charge.
GET /checkout/pay/:sessionId: charge les données publiques de la session.
POST /checkout/pay/:sessionId/complete: finalise le paiement choisi par le payeur.
GET /checkout/pay/:sessionId/status: polling si le paiement est asynchrone.
À la finalisation, vous recevez payment.succeeded et checkout.session.completed.
Configurez vos endpoints dans le menu Développeurs, section Webhooks (voir le guide Webhooks).
successUrl et cancelUrl sont optionnelles à la création de session.
Après paiement, Izzi redirige automatiquement le payeur (écran de confirmation, compte à rebours 3 s) vers l'URL configurée.
Les paramètres session_id, charge_id (si disponible), amount, currency et status sont ajoutés en query string: fusionnés avec les paramètres déjà présents dans votre URL.
Exemple : https://merchant.example/success?order_id=42 devient https://merchant.example/success?order_id=42&session_id=cs_…&amount=2500¤cy=USD&status=SUCCEEDED&charge_id=…
Variante sans créer de session à chaque commande : POST /payments/links pour un lien réutilisable.
Le payeur ouvre GET /checkout/links/:slug/open qui crée une session enfant et retourne url.