1 endpoint
API carte
Le paiement par carte tokenisée : la carte est débitée à partir de son identifiant, et le porteur ressaisit son CVV à chaque paiement.
Les intitulés et descriptions d'endpoints viennent du contrat OpenAPI, en anglais — ils ne peuvent pas diverger de l'API.
Votre clé de test se crée depuis le portail, dès l’activation de votre compte.
En clair
Votre client repaie avec la carte qu'il a déjà utilisée chez vous, en ressaisissant seulement son code de sécurité.
Quand l'utiliser
Quand votre client a déjà payé une fois par carte et revient payer devant l'écran : il n'a plus à saisir son numéro de carte, seulement son CVV. L'API carte s'active compte par compte, sur demande.
Comment l'intégrer
- 1Conservez le tokenizedCardId renvoyé par le paiement qui a tokenisé la carte — jamais le numéro de carte ni le CVV.
- 2Au paiement suivant, demandez au porteur son CVV, puis appelez la route avec le cardId et le CVV.
- 3Si redirect vaut true, envoyez le porteur sur redirectionUrl pour terminer 3-D Secure.
- 4Lisez data.status pour connaître l'issue, et gardez operationId pour une capture, une annulation ou un remboursement.
- POST
/v1/operations/payment/link/tokenized/card/{cardId}Payer avec une carte tokenisée (CVV ressaisi)
Payer avec une carte tokenisée (CVV ressaisi)
Débite une carte tokenisée lors d'un paiement carte précédent, sans renvoyer le numéro de carte ni la date d'expiration. Le CVV ne fait pas partie du jeton : le porteur le ressaisit à chaque paiement sur cette route, et la requête est refusée sans lui. cardId est le tokenizedCardId renvoyé par le paiement qui a tokenisé la carte. 3-D Secure est activée et la capture automatique par défaut ; passez autoCapture à false pour n'autoriser que les fonds. Quand redirect vaut true, envoyez le porteur sur redirectionUrl pour terminer 3-D Secure. L'API carte doit être activée pour votre compte, sinon 403 CARD_API_NOT_ENABLED. Les réponses suivent l'enveloppe {status, message, data}.
Schéma · TokenizedCardPaymentRequest
| Champ | Type | Emplacement | Requis | Description |
|---|---|---|---|---|
cardId | integer (int32) | path | Requis | Identifiant de la carte tokenisée : le tokenizedCardId renvoyé par le paiement qui l'a tokenisée. |
phoneNumber | string | query | Optionnel | Facultatif. En sandbox, le wallet de test partagé encaisse toujours. En production, c'est votre wallet marchand qui encaisse, et tout autre numéro est refusé (403 PHONE_NUMBER_NOT_OWNED). |
cvv | string | body | Requis | Code de sécurité de la carte, 3 ou 4 chiffres, ressaisi par le porteur pour ce paiement. Ne le conservez jamais. |
amount | number | body | Requis | Montant à débiter, en MAD, strictement positif. |
threeDSecure | boolean | body | Optionnel | Authentification 3-D Secure. Vaut true par défaut. |
autoCapture | boolean | body | Optionnel | Capture automatique. Vaut true par défaut ; false n'autorise que les fonds. |
acceptUrl | string | body | Optionnel | Adresse de retour du porteur après une étape 3-D Secure réussie. |
declineUrl | string | body | Optionnel | Adresse de retour du porteur après un échec de l'étape 3-D Secure. |
notificationUrl | string | body | Optionnel | URL de votre serveur, enregistrée sur l'opération. |
externalReference | string | body | Optionnel | Votre propre référence, par exemple le numéro de commande. |
Faites votre premier appel en mode test
Créez votre compte, générez votre clé de test depuis le portail et lancez votre première requête aujourd'hui — ou parlez à un intégrateur.
- Gratuit, sans engagement
- Mode test dès l'inscription
- Aucune validation à attendre