Présentation du service
Catalogue & Order (vendu sous les marques ClicoResto ou ClicoPresto) est un service dédié aux éditeurs de solution de caisse pour le commerce de proximité (CHR, commerce de détail, ...). Il permet de diffuser un catalogue de produits dans un portail de vente intègrant les fonctions de paiement et de suivi de commande. Ce service est développé, exploité et maintenu par CentralPay.
Son rôle est de permettre l’alimentation de catalogues de produits dynamiquement depuis un Système d’Information tiers, éditeur de solution métiers ou de solution de caisse. Une fois la vente réalisée, ce service permet d’interagir avec les états d’une commande afin d’en faciliter les étapes de gestion et de suivi.
Ce service n'a pas vocation réaliser la gestion de stocks.
Schémas fonctionnels simplifiés
Schéma simplifié d'organisation générale du service

Schéma simplifié des flux de commandes

Composition du service
Le service Catalogue & Order est composé :
- D’un portail de vente
- Site de m-commerce destiné aux consommateurs. Il assure la diffusion du catalogue, le paiement, les interactions consommateur et le suivi des commandes
- De l’API catalogue :
- Informations sur un lieu de vente (logo, adresse, lieu de commande, moyen de vente, heures d’ouvertures, etc.…)
- Catalogue de produits (catégories, sous-catégories, produits, tarifs, …) associé à un type de vente
- Consulter les references de l'API catalogue
- De l’API Order
- Permet d’enregistrer et de suivre l’état des commandes, d’assurer la liaison avec le SI tiers, de déclencher les fonctions de paiement lors des appels de l’API catalogue
- De l'API Centralpay
- Permet principalement d'initier les demandes de paiement "PaymentRequest" et de débiter les cartes (Capture) une fois une commande validée.
- De SmartForm :
- Initié par le service "Payment Request", le formulaire de paiement intelligent "SmartForm" est hébergé dans l'environnement PCI-DSS de CentralPay. il intègre toutes les étapes et échanges liés aux reglements par Carte Bancaire, virements, prélèvements et bientot chèques déjeuner dématérialisés.
- D’un Dashboard Commerçant
- Destiné aux commerçants et partneaires, il permet d'accèder à tous les services CentralPay et d'interragir sur l’état des commandes
Détails des objets de l’API Catalogue
L’API catalogue est composée des objets suivants :
STORE
Il permet de définir les caractéristiques de l’enseigne commerciale telles que le nom, l’adresse, le logo, les langues parlées
SALES-MODE
Il permet de préciser des contextes ou type de vente avec les horaires de service associés. Par exemple :
- Pour le cas d’un service de commande « Click & Collect » : défini les horaires accessibles du service
- Pour le cas d’un restaurant pratiquant le « Order & Pay » : défini les horaires d’ouverture du lieu en question
- Pour le cas d'un point de collecte dans un magasin : défini l'ouverture d'un point de vente, popup store ou autre
LOCATION
Cet objet est associé à un « SALES-MODE ». Il permet d’accéder à l’adresse précise d’un CATALOGUE sous forme d’URL ou de QRCODE.
Au minimum une LOCATION doit être associée à un « SALES-MODE ».
- Dans le cas d’un click & collect, il peut s’agir du point de collecte.
- Dans le cas d’un restaurant, il peut d’agir de multiples LOCATIONS représentées par des numéros de table. Dans ce cas, il y aura autant de LOCATION que de tables. Chaque client pourra ainsi scanner le QRcode de sa table et consulter le catalogue qui lui est destiné avec la bonne tarification.
FEATURE
Cette fonction permet de définir les caractéristiques additionnelles liées à un « PRODUCT ».
Par exemple : contient des lactoses ou 100% laine vierge
CATEGORY
Cet objet permet de classer des PRODUCTS dans une ou plusieurs catégories qui seront ensuite affichées dans une page dédiée. Pour des raisons d’ergonomie, les PRODUCTS d’une CATEGORY sont affichées dans une page web dédiée. Dans celle-ci, il est également possible de rassembler des PRODUCTS dans une ou plusieurs sous-catégories afin de les classer à l’intérieur de la page elle même
PRODUCT
Un PRODUCT est caractérisé par une photo, un nom, une description dans une langue (translation), un prix basé sur un SALES-MODE et un temps de préparation (par exemple si un délai de 15 mn a été associé, il ne sera pas possible de récupérer la commande avant ce délai).
Il est associé à une ou plusieurs CATEGORY et une ou plusieurs FEATURE (option)
Un PRODUCT peut être mis à jour en temps réel ce qui permet de ne pas l’afficher dans le catalogue en cas d’indisponibilité.
QUESTION
Cet objet permet de composer des menus ou d’apporter des compléments d’états liés à un produit.
Ils sont de deux types :
- Product : correspond au choix d’une variante d’un PRODUCT qui rentre dans la composition d’un menu par exemple
- Information : état associé à un PRODUCT. Par exemple : saignant, à point, bien cuit
CATALOGUE
Un catalogue est généré pour chaque SALES-MODE en fonction des PRODUCTS et CATEGORY associées. La génération dynamique des catalogues permet ainsi de spécifier facilement des contextes de ventes précis sans démultiplier les variantes de produits.
ORDER
ORDER est un objet de l’API Catalogue qui permet de suivre l’état d’une commande tout au long de son processus de fabrication :
CREATED : le panier a été validé mais n’a pas été payé
NEED_ACTION : la commande a été réglée et nécessite une action du commerçant qui pourra ensuite être
- VALIDATED : le commerçant a validé la commande
- PARTIAL : le commerçant l’a pris partiellement en charge
- CANCELED : le commerçant n’a pu la prendre en charge
QRCODE
En fonction de la LOCATION, ce service assure la génération de QRcode permettant d’accéder à un catalogue
Les étapes du processus de commande
1. Accès au catalogue
Le consommateur se connecte à l’URL associée à une LOCATION. Cette adresse peut être fournie sous forme de QRcode ou d’adresse web type https://www.clicoresto.com/arnj-trvs et correspond, soit à une adresse d’un commerce physique, soit d’une position dans ce commerce (une table ou une zone par exemple).
L’adresse délivrée permet d’accéder au catalogue des produits selon les conditions définies du SALES-MODE.
Le consommateur peut ensuite parcourir les PRODUCTS d’une CATEGORY et les commander.
2. Validation d’une commande
Lorsqu’il valide sa commande, une ORDER de l’API catalogue est créé. Pour des raisons de sécurité, l’API catalogue procède à une vérification de cohérence sur les informations passées. Par exemple :
- Le produit existe-t-il bien dans le Catalogue ?
- Les tarifs sont-ils les corrects ?
- La date de retrait est-elle valide ?
Si les informations sont valides, l’API catalogue crééra la commande dans l’API Order de CentralPay afin de déclancher les fonctions de paiement.
NB : L’API Order a pour but de faire le lien entre l’API Catalogue, le service de paiement de CentralPay et le commerçant. Pour cela elle initie les demandes de paiement, averti le commerçant de nouvelles commandes, permet d’interagir avec le processus de commande.
Chaque partenaire est libre d’insérer sa propre API Order en lieu et place de celle de Centralpay afin de créer les processus métiers spécifiques. Dans ce contexte, une intégration spécifique doit etre prévue devra se conformer aux formats de retours attendu par l’API catalogue.
3. Initialisation du paiement
Au statut de la commande CREATED, afin de pouvoir rediriger le consommateur vers le formulaire de paiement "SmartForm", l’API Order génère une « PaymentRequest ». L’API Order récupère en retour l’UUID de la PaymentRequest et le lien vers le SmartForm puis les envoie à l’API catalogue.
NB : Selon les configurations de la demande de la « PaymentRequest », plusieurs clients peuvent se partager le montant de la commande. Dans cette configuration, la « PaymentRequest » ventilera le montant en plusieurs sous-montant (un par client) appelés « Breakdowns ».
4. Accès au formulaire de paiement
L’API catalogue adresse ensuite la configuration du formulaire de paiement à afficher dans le portail de commande pour que le client soit redirigé vers le formulaire « SmartForm ».
5. Confirmation du paiement
Une fois la PaymentRequest payée, CentralPay déclenche un webhook "PaymentRequest_Transaction_Succeeded" vers l’API Order afin de mettre à jour le statut de la commande.
NB : la PaymentRequest est toujours paramétrée sans capture. Ainsi, seule une autorisation est émise, la demande de débit (capture) doit être initié plus tard une fois la commande validée par le consommateur.
Notifications et changements de statuts
Les changement de statuts de commandes sont gérés depuis l'API Order qui communique l'information à l'API Catalogue afin de permettre la substitution d'une éventuelle API Order tiers.
Les notifications d'évènement et webhook initiées par Centralpay partent de l'API Catalogue. Le service de notifications "Push & Pay" intégrera prochainement les statuts des ORDER pour permettre d'automatiser les interaction email, SMS ou JSON avec les parties. Les HOOKS sont ORDER_CREATED, ORDER_UPDATED.
CentralPay assure en standard les notifications de changement d'état sur le portail de vente et le le dashboard commerçant.
6. Suivi de commandes
Une fois le Paiement réalisé avec succès, le statut de la commande passe alors à « NEED_ACTION ». Pour permettre la poursuite du cycle et notamment le débit sur la carte, le commerçant doit, au choix :
- Valider la commande
Statut : VALIDATED.
Le montant prévu est envoyé en Capture et le consommateur débité de sa transaction.
La prochaine étape sera initiée par le commerçant en fonction de l’avancement de la commande. L’objet Order de l’API catalogue passera à divers statuts : READY, COLLECTED, CLOSED
Des statuts de processus libre, « ProcessStatus » sont également à disposition en complément.
- Valider partiellement la commande
Statut : PARTIAL
Le cas d’une commande partielle permet de n’accepter qu’une partie de la commande et de ne débiter que le montant nécessaire. Le montant partiel à capturer doit donc être initié dans cette étape.
La suite est identique au cas des commandes validées.
- Refuser la commande
Statut : CANCEL
Si une commande est refusée, les transactions précédemment autorisées sont également annulées de sorte que le consommateur ne soit jamais débité.
Les étapes d'intégration
Centralpay a mis en place un processus totalement automatisé sans friction qui permet de fluidifier l'onboarding des commerçants dans l'écosystème de services. Une fois la première intégration réalisée, chaque nouveau commerçant doit pouvoir être intégré rapidement, automatiquement et sans contraintes en utilisant les données déjà structurées dans l'environnement du partenaire.
Voici les grandes étapes de ce processus :
1 - Partenaire : initialisation de la demande d'enrollement
Le partenaire initie la demande d'enrollement qui sera transmise au commerçant par Centralpay. La demande d'enrollement correspond au processus d'entrée en relation commerciale avec Centralpay. Le commeçant poursuit son enrolement reglementaire depuis le portail d'onboarding de CentralPay, communique les pièces légales nécessaires et procède à la signature électronique des CGV et de la grille tarrifaire. Il confirme également le role et statut du partenaire pour les étapes techniques.
2 - Centralpay : validation du compte de paiement
Les équipes risque & conformité vérifient les pièces légales et confirment la demande de création du compte.
3 - Centralpay : création du compte de paiement
CentralPay créé le compte de paiement, ouvre les accès aux APIs et communique les identifiants API au partenaire et au commerçant.
CentralPay procède ensuite à la création du STORE de l'API Catalogue pour le compte du commerçant. Le STORE assure la liaion entre le compte de paiement et le service Catalogue & Order. Il permet également l'initiation des demandes de paiements.
4 - Partenaire : Configuration du store
Le partenaire finalise le paramétrage du STORE et précise notament les langues disponibles, le nom commercial, le logo de l'enseigne, ...
6 - Partenaire : configuration des SALES-MODE
Un SALES-MODE doit à minima être créé pour rendre le service fonctionnel. Il sera nécessaire de préciser un contexte de ventes, par exemple :
- Pour le cas d’un service de commande « Click & Collect » : définir les horaires du service
- Pour le cas d’un restaurant pratiquant le « Order & Pay » : définir les horaires d’ouverture du lieu en question
- Pour le cas d'un point de collecte dans un magasin : défini l'ouverture d'un point de vente, popup store ou autre
7 - Partenaire : configuration d' une LOCATION
Le partenaire doit créer à minima une LOCATION qu'il associera au SALES-MODE.
Il recevra en retour le code permettant de construire l'URL d'accès au catalogue.
8 - Partenaire : configuration d'une CATEGORY
Le partenaire doit créer à minima une CATEGORY.
9 - Partenaire : configuration d'un PRODUCT
Afin de visualiser le catalogue, vous devez à minima créer un PRODUCT qui sera associé aux éléments précédement créés, à savoir CATEGORY et SALES-MODE
Une fois arrivé à cette étape, vous avez créé un catalogue avec un produit d'une catégorie. Vous pouvez vous connecter sur portail de vente avec le code URL fourni dans LOCATION, accèder à un produit et le commander dans le portail de vente. Les commandes arriveront automatiquement dans le portail du commerçant.