La page de paiement
Payiz dessine tout : le choix de l’opérateur, le numéro, le suivi, le reçu. Vous créez le paiement, vous y envoyez le client, et le webhook vous dit la suite.
Quand la choisir
Pas de serveur du tout ? Un lien de paiement de l’espace ouvre la même page, sans une ligne de code : Encaisser, puis envoyez son adresse.
Créer le paiement
Votre serveur crée le paiement avec sa clé secrète. La réponse porte payment_url : la page de ce paiement-là, valable jusqu’à expires_at.
curl https://api.payiz.app/v1/payments \
-H "Authorization: Bearer sk_test_…" \
-H "Idempotency-Key: cmd-42" \
-H "Content-Type: application/json" \
-d '{
"amount": 10000,
"currency": "XOF",
"description": "Commande 42",
"reference": "cmd-42",
"return_url": "https://boutique.bj/merci"
}'{
"object": "payment",
"id": "pay_01j9x3kq7m4tzv8qhw2n",
"status": "requires_payment",
"payment_url": "https://pay.payiz.app/pay_01j9x3kq7m4tzv8qhw2n",
"return_url": "https://boutique.bj/merci",
"expires_at": 1790089092
}Y envoyer le client
Redirigez-le depuis votre site, ou envoyez l’adresse par WhatsApp, SMS ou e-mail. Il choisit son opérateur, saisit son numéro et valide sur son téléphone. Avec le SDK Node :
const paiement = await payiz.payments.create(
{
amount: 10000,
currency: 'XOF',
reference: 'cmd-42',
return_url: 'https://boutique.bj/merci',
},
{ idempotencyKey: 'cmd-42' },
)
redirect(paiement.payment_url)Le retour chez vous
Une fois payé, la page renvoie le client vers return_url. Ce retour se falsifie : il sert à dire merci, pas à livrer.
Être prévenu
Livrez sur le webhook payment.succeeded, comme pour le widget et le paiement direct. Un échec du payeur arrive en payment.attempt_failed : le paiement reste payable, et la page lui propose de recommencer.