Démarrage rapide : votre premier paiement

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 :

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 le TransactionResult.
  • 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:…, pas pax:…), sinon l'appel retourne 404.
  • currency doit correspondre à la devise configurée sur le terminal — un décalage entraîne un refus avec 404.
  • ecrTransactionId est limité à 35 caractères maximum — les valeurs plus longues sont rejetées.
  • Les montants sont en unités mineures1000 correspond à 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.