Créer un paiement
Un paiement est l'objet central de l'API KartaPay : vous en créez un pour chaque commande, puis redirigez votre client vers l'URL de paiement renvoyée dans la réponse.
Prérequis
- Un point de terminaison HTTP GET public pour recevoir les callbacks de succès.
- Un point de terminaison HTTP GET public pour recevoir les callbacks d'annulation.
- Un
clientIdunique que vous générez par paiement, utilisé pour rapprocher le paiement entre votre système et KartaPay.
attention
KartaPay ne fournit aucune couche de sécurité pour ces points de terminaison publics du marchand. Vous êtes responsable de leur sécurisation.
Déroulement
- Obtenez un jeton d'accès (voir Authentification).
- Envoyez une requête
POSTde paiement à/v1/payments. - Redirigez le client vers le
submitUrlrenvoyé dans la réponse.
Requête
curl --request POST \
--url https://api-staging.kartapay.me/v1/payments \
--header 'Accept: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAi...' \
--header 'Content-Type: application/json' \
--data '{
"purchase": {
"total": {
"value": "1475",
"currency": "KMF"
}
},
"clientId": "de627e0d87fd2bdcdd7bf72b2c436379",
"cancelUrl": "https://merchant.com/checkout/cancel",
"successUrl": "https://merchant.com/checkout/success"
}'
Réponse
{
"next": "https://checkout-staging.kartapay.me/payment/submit/67928bcc4c9deaf5696a0942",
"data": {
"id": "67928bcc4c9deaf5696a0942",
"status": "pending",
"captured": false,
"purchase": {
"total": {
"value": "1475",
"currency": "KMF"
}
},
"cancelUrl": "https://merchant.com/checkout/cancel",
"successUrl": "https://merchant.com/checkout/success",
"billing": {
"submitUrl": "https://checkout-staging.kartapay.me/payment/submit/67928bcc4c9deaf5696a0942"
},
"createdAt": "2025-01-23T15:51:08.625Z"
}
}
Redirigez le client vers data.billing.submitUrl pour finaliser le
paiement avec le fournisseur de son choix (par ex. Holo, MVola).
Étape suivante
Découvrez Gérer l'annulation et l'approbation pour savoir ce qui se passe une fois le client sur la page de paiement.