1. Installer le SDK
- npm
- pnpm
- yarn
2. Initialiser le client
3. Créer le payment intent
Côté backend, créez lePaymentIntent au moment du checkout, puis redirigez le client.
Idempotency : si vous appelez
create() deux fois avec le même idempotencyKey (auto-généré par le SDK ou passé explicitement), vous récupérez le même intent, pas de doublon.4. Le client paye
Le client est sur la page de paiement (intent.paymentUrl) :
- Sélectionne sa crypto + le réseau
- Saisit prénom, nom, email (obligatoires) + adresse de remboursement (facultatif)
- Voit l’adresse de dépôt + le QR code + le montant exact à envoyer + un timer
- Envoie les fonds depuis son wallet
confirming. Dès que le réseau confirme la transaction, il passe en completed (ou en irregular si le montant est hors plage configurée).
5. Recevoir le webhook
Quand l’intent atteintcompleted, IzichangePay envoie un POST signé à votre endpoint.
- Express
- Next.js (Pages)
- Next.js (App)
6. Tester de bout en bout
- Côté dashboard, Développeurs → Webhooks → ⋯ → Envoyer un événement test. Vérifiez que votre endpoint répond 200 et que
validateWebhook()ne lance pas. - En mode test, créez un intent depuis un client REST (
curlou Postman) et payez depuis un wallet sur le testnet de la crypto choisie. - Vérifiez les logs côté serveur ET côté dashboard (chaque appel webhook est tracé : statut HTTP, durée, body de réponse).
Erreurs courantes
Prochaine étape
- Authentication : anatomie d’une clé API.
- Idempotency : reprises sûres sans doublons.
- Webhooks : anti-replay, retry policy.