Ce démarrage rapide vous guide depuis un terminal connecté jusqu'à un paiement par carte effectué via l'API Cloud. Votre point de vente envoie une requête REST à la plateforme Market Pay via internet, et la plateforme la relaie au terminal.
Note
Prérequis : votre certificat client mTLS est installé (voir Authentification : certificats mTLS), le terminal est connecté au cloud, et vous connaissez son ID terminal sous la forme FABRICANT:NUMÉROSÉRIE (par exemple PAX:1760019815).
URLs de base :
- Production —
https://eci.market-pay.com - Pré-production —
https://eci-stg.market-pay.com
Outil de démonstration : pour vous permettre de tester notre implémentation (accès avec connexion)
https://cloud-api-pos-demo.onrender.com/
1. Vérifiez que le terminal est en ligne
GET /terminals liste les terminaux actuellement connectés pour le code de votre magasin. Si votre terminal n'apparaît pas dans la liste, il n'est pas accessible — consultez la section Dépannage avant de continuer.
2. Effectuez un paiement
POST /process-transaction/{terminal-id}. Les montants sont en unités mineures (1000 = 10,00 €) et la devise est un code numérique ISO 4217 (978 = EUR) :
POST https://eci.market-pay.com/process-transaction/PAX:1760019815?waitTime=20
{
"transactionType": "PURCHASE",
"amount": 1000,
"currency": 978,
"ecrTransactionId": "ticket-0001",
"ecrParams": {
"ecrId": "POS-01",
"notificationUrl": "https://mypos.example.com/notifications",
"printerAvailable": true,
"operatorLanguage": "EN"
}
}3. Obtenez le résultat
Le résultat peut revenir de deux manières, contrôlées par le paramètre de requête waitTime (en secondes) :
-
Synchroniquement — si la transaction se termine dans le délai
waitTime, l'appel retourne 201 avec leTransactionResult. -
Asynchroniquement — si cela prend plus de temps, l'appel retourne 202 Accepted et le résultat est envoyé à votre
notificationUrl. Les mises à jour de statut (WAITING_FOR_CARD,PIN_REQUIRED,BANK_AUTHORIZATION,COMPLETED) sont transmises tout au long du processus. Voir Notifications et le modèle asynchrone.
status: OK et responseCode: "000" signifient que le paiement a été approuvé. Conservez le terminalTransactionId — vous en aurez besoin pour annuler le paiement ou finaliser une pré-autorisation.
Règles qui empêchent les échecs silencieux
-
L’ID terminal est sensible à la casse — le préfixe fabricant doit être en MAJUSCULES (
PAX:…, paspax:…), sinon l'appel retourne 404. -
currencydoit correspondre à la devise configurée sur le terminal — un décalage entraîne un refus avec 404. -
ecrTransactionIdest limité à 35 caractères maximum — les valeurs plus longues sont rejetées. -
Les montants sont en unités mineures —
1000correspond à 10,00 €, pas 1000 €.
Note
Les schémas complets des requêtes et réponses, ainsi qu'une console en direct, sont disponibles sur la référence de l’API Cloud sur l’API Hub.