Aller au contenu principal

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 clientId unique 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

  1. Obtenez un jeton d'accès (voir Authentification).
  2. Envoyez une requête POST de paiement à /v1/payments.
  3. Redirigez le client vers le submitUrl renvoyé 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.