MonduRouteurStable

Confirm order (Mondu)

Confirme auprès de Mondu qu’une commande autorisée est devenue ferme dans le CMS ou l’ERP.

Vue d’ensemble

Confirm order (Mondu) traduit l’engagement métier du marchand : la commande existe réellement dans le CMS ou l’ERP et peut entrer dans son cycle d’exécution.

Le node confirme uniquement une commande qui correspond encore à l’autorisation Mondu. Si le montant, la devise ou la référence ont changé, il sélectionne la route mismatch.

  • external_order_id vaut toujours order.id, sans fallback vers une référence ERP.
  • Une commande déjà confirmée peut être traitée de nouveau sans créer une seconde confirmation.
  • La confirmation ne déclenche pas le payout : la facture doit ensuite être soumise.

Scénario type

Le CMS confirme une commande initialement autorisée à 1 000 EUR. Le process order.confirmed appelle ce node. Si l’ERP a recalculé la commande à 1 050 EUR, la route mismatch bloque la confirmation et expose les deux montants.

Prise en main

Déclenchez ce node lorsque le même order Ormuz devient ferme dans le CMS ou l’ERP.

Avant confirmation

  • Commande déjà autorisée par Mondu
  • Même order.id que lors de l’autorisation
  • Montant et devise inchangés

Après le résultat

  • Traiter mismatch comme un blocage métier
  • Ne facturer que depuis la route confirmed
Exemple de configuration
ParamètreBindingRôle
orderconfirmed_orderMême objet que lors du checkout
buyer_confirmed_atevent.occurred_atOptionnel
À retenir Une différence de montant ne doit jamais être ignorée. L’autorisation Mondu porte sur les conditions exactes envoyées lors de la création.

Routes de décision

confirmed

Commande confirmée

Le montant, la devise et l’identité externe correspondent à l’autorisation Mondu, puis l’ordre est confirmé ou était déjà dans un état ultérieur compatible.

Action recommandéePoursuivre vers l’expédition et la facturation.
mismatch

Commande modifiée

La commande Ormuz ne correspond plus à l’autorisation Mondu sur le montant, la devise ou la référence canonique.

Action recommandéeBloquer la confirmation, analyser les écarts et annuler ou recréer l’ordre Mondu selon le cas.
not_authorized

Ordre non confirmable

L’ordre Mondu n’est ni authorized, ni déjà confirmé dans un état compatible.

Action recommandéeTraiter l’état retourné : attendre, proposer une alternative, annuler ou relancer un parcours selon sa valeur.
Attention mismatch signifie que la commande ne correspond plus aux conditions autorisées. Prévoyez une branche visible pour la bloquer et la traiter.

Exemple de processus

Commande Ormuz
Confirmer une commande (Mondu)
Confirmed
Mismatch
Not authorized
Expédier et facturer
Bloquer et analyser
Traiter l’état Mondu

Confirmer la commande uniquement si elle correspond exactement à l’autorisation Mondu.

Résolution des données

Le node déduit automatiquement les données nécessaires à partir des objets Ormuz reliés.

DonnéeSource ou règle
Commande Mondu concernéeorder.id identifie la commande autorisée
Identité attendueexternal_reference_id = order.id
Montant actuelorder.amount_including_tax
Devise actuelleorder.currency
Référence de confirmationexternal_order_id = order.id uniquement

Paramètres 3

Contexte principal

Objets et configuration qui déterminent l’opération Mondu.

extension_config_idRequisref(extension_config:mondu)
Configuration Mondu active utilisée pour l’opération. Elle définit notamment l’environnement, le moyen de paiement par défaut, le délai net, la langue et les options marketplace éventuelles.
orderRequisOrder
Commande Ormuz enregistrée qui porte tout le cycle Mondu. Son identifiant order.id est utilisé comme external_reference_id puis comme external_order_id.

Conditions commerciales

Choix de paiement, délai et paramètres du parcours.

buyer_confirmed_atOptionneldatetime
Date et heure auxquelles l’acheteur a confirmé la commande, si cette information est disponible. Utilisez une date ISO 8601.

Sorties 8

Objet Mondu

Objet Mondu principal produit ou actualisé par le node.

orderMondu order
Ordre Mondu avec son identifiant, son état, ses montants, sa devise, ses références externes et ses dates.

Décision et contrôle

Informations utilisées pour orienter la suite du processus.

selected_routeenum
Route choisie à partir du résultat métier retourné par Mondu.
selected_valuestring
Valeur Mondu ayant conduit au routage. Elle peut être plus précise que la route, par exemple un état avancé regroupé sous authorized ou confirmed.

Diagnostic de cohérence

Détails disponibles lorsque la commande ne correspond plus à l’autorisation Mondu.

mismatch_fieldsOptionnelstring[]
Liste des champs qui ne correspondent plus à l’autorisation Mondu : external_reference_id, amount et/ou currency.
expected_amountOptionnelamount
Montant en unités mineures porté par l’autorisation Mondu.
actual_amountOptionnelamount
Montant en unités mineures porté par la commande Ormuz au moment de la confirmation.
expected_currencyOptionnelcurrency code
Devise portée par l’autorisation Mondu.
actual_currencyOptionnelcurrency code
Devise portée par la commande Ormuz au moment de la confirmation.

Comportement

Identifier la commande autorisée

Le node part du même order Ormuz que celui utilisé lors de la demande Mondu.

Comparer les conditions commerciales

La référence, le montant et la devise doivent correspondre à l’autorisation.

Diriger les écarts

Tout écart produit mismatch avec les valeurs attendues et actuelles.

Traiter l’état Mondu

Une commande non autorisée produit not_authorized. Une commande déjà confirmée produit confirmed.

Confirmer la commande

Lorsque la commande est encore authorized et cohérente, Mondu la considère comme ferme.

Limites et responsabilités

  • Le node ne modifie pas l’autorisation si le montant change.
  • Il ne crée pas de nouvel ordre Mondu.
  • Il ne soumet ni facture ni preuve de livraison.
  • Il ne garantit pas le versement marchand à lui seul.

Résolution des problèmes

Route `mismatch`

Consultez mismatch_fields et les valeurs attendues/actuelles. Annulez ou recréez le parcours si les conditions commerciales ont changé.

Route `not_authorized`

Consultez selected_value pour distinguer attente, refus, annulation ou expiration.

Commande Mondu introuvable

Vérifiez que le Hosted Checkout ou l’ordre asynchrone a été créé à partir du même order.id.