PdC de paiement fractionné : prérequis et configuration de l’environnement

Suivez toutes les étapes de ce tutoriel avant d’exécuter l’une des invites de build. La raison la plus courante de l’interruption du flux en milieu de tutoriel est qu’une seule étape n’est pas renseignée.

​1. Configuration requise pour Adobe Commerce

  • Adobe Commerce 2.4.5 ou version ultérieure (sur site ou Commerce Cloud)
  • Accès Git au projet Commerce (vous ajoutez un module sous app/code/)
  • Accès à Commerce Admin

Commerce Cloud uniquement : activer les événements I/O

Ajoutez les éléments suivants à .magento.env.yaml et déployez-les avant d’ajouter le module :

stage:
  global:
    ENABLE_EVENTING: true

Avertissement : ce déploiement doit se terminer correctement avant que la dépendance du module Événement I/O puisse être résolue.

​2. Configuration d’administration de Commerce

Effectuez ces étapes avant toute autre chose. Le JavaScript d’extraction dépend des correspondances de chaîne exactes.

2 bis. Activer l’option Contre remboursement avec le titre exact

Stores > Configuration > Sales > Payment Methods > Cash On Delivery Payment

  • Enabled : Oui
  • Title : Cash (cette chaîne exacte est celle à laquelle correspond le JavaScript de passage en caisse)

Remarque : si votre boutique utilise une implémentation ou un titre de paiement à la livraison (COD) différent, ajustez les payment-method-helper.js dans le module Commerce.

2 ter. Activer le crédit de magasin

Stores > Configuration > Customers > Customer Configuration > Store Credit Options

  • Enable Store Credit Functionality : Oui

2 quater. Ajouter du crédit de boutique à votre client de test

Customers > All Customers > [votre client de test] > Store Credit > Update Balance

Ajoutez au moins 50 de dollars de crédit en magasin. Vous effectuerez un test avec une commande inférieure à 100 $ au total.

2j. Création de l’intégration Commerce

System > Integrations > Add New Integration

  • Name : Split Payment App Builder (ou tout nom que vous préférez)

  • Dans l’onglet API , accordez au minimum :

    • Magento_Sales::actions (obligatoire pour le point d’entrée cash-received)
    • Magento_Sales::cancel (obligatoire pour le point d’entrée cash-decline)
    • Gestion des devis ou des paniers (complet ou un sous-ensemble approprié)
    • Customer balance (complet ou un sous-ensemble approprié)

Sélectionnez Save, puis Activate.

Copiez les quatre valeurs ; elles ne s’affichent qu’une seule fois :

Valeur
Variable d’environnement
Clé du client
COMMERCE_CONSUMER_KEY
Secret du client
COMMERCE_CONSUMER_SECRET
Jeton d’accès
COMMERCE_ACCESS_TOKEN
Jeton d’accès secret (Access Token Secret)
COMMERCE_ACCESS_TOKEN_SECRET

Stockez ces valeurs en toute sécurité. Vous en avez besoin dans chaque fichier .env d’App Builder.

​3. Adobe Developer Console et App Builder

  • Accès à une organisation Adobe Developer Console
  • Un projet (nouveau ou réutilisé)
  • Un espace de travail configuré ; les invites supposent Stage
  • Adobe I/O Events ajouté en tant que service à l’espace de travail
  • ​connecté en tant que fournisseur d’événements pour l’espace de travail

Le code d’événement utilisé dans la preuve de concept est le suivant : com.adobe.commerce.observer.sales_order_place_before

Si vous n’avez pas connecté Commerce en tant que fournisseur d’événements, consultez Configuration de Commerce pour émettre des événements vers Adobe I/O dans le guide Extensibilité de Commerce.

​4. Environnement de développement local

# Required versions
node --version    # 18.x or later
npm --version     # any recent version

# Adobe I/O CLI
npm install -g @adobe/aio-cli

# Authenticate
aio login

# Select your project and workspace
aio app use
# Confirm the org, project, and workspace shown are correct

​5. Deux répertoires de projet à connaître

Ce tutoriel utilise deux racines de répertoire distinctes. Gardez-les séparées.

racine du projet (votre référentiel git Magento) :

<commerce-root>/
└── app/code/Client/SplitPayment/   ← Module goes here

Racine du projet (le dossier split-payment-orchestrator du package source ou un nouveau projet que vous créez) :

split-payment-orchestrator/
├── app.config.yaml
├── package.json
├── .env                            ← Copy from .env.example, then fill in
└── actions/

​6. entity_id comparé à increment_id

Utilisez toujours entity_id (l’identifiant numérique de base de données), et non increment_id (par exemple 000000042), dans les appels REST.

Recherchez des entity_id à partir de l’URL de commande Commerce Admin :

/admin/sales/order/view/order_id/42/   →   entity_id = 42

Ou à partir du script de simulation :

node scripts/simulate-split-payment.mjs show 42

​7. Le seuil de 100 $

L’interface utilisateur de paiement partagé et les commandes cibles de garde de seuil 100,00 $ ou moins. Le flux se comporte comme suit :

  • À 100 $ ou moins : l’interface utilisateur de paiement partagé s’affiche ; le client peut définir un fractionnement de l’encaisse et du crédit en magasin
  • Au-dessus de $100: CheckoutPlugin renvoie une erreur à l’étape de paiement

Pour effectuer un test, créez un panier dont le sous-total, les frais d’expédition et les taxes sont inférieurs ou égaux à 100 $ (par exemple, un produit de moins de 90 $, de sorte que les frais d’expédition et de taxe soient toujours inclus dans la limite).

Le seuil est stocké dans :

  • Configuration de Commerce : split_payment/general/threshold (100 par défaut en etc/config.xml)
  • Environnement App Builder : PAYMENT_THRESHOLD=100 (doit correspondre à Commerce).

​8. Fastly (Commerce Cloud uniquement)

Les actions App Builder appellent Commerce via REST (/rest/V1/split-payment/orders/...). Si votre projet Commerce Cloud utilise Fastly avec une liste autorisée IP, les adresses IP de sortie du runtime App Builder doivent être placées sur la liste autorisée.

Comment vérifier : Exécutez d’abord le script de simulation (curl direct avec signature OAuth). Si cela fonctionne mais que l’action App Builder renvoie 403, Fastly bloque probablement la requête.

Utilisez la documentation actuelle d’Adobe sur les plages d’adresses IP de sortie App Builder et ajoutez-les à votre configuration Fastly si nécessaire.

Liste de contrôle de vérification

Avant de démarrer les invites de build, vérifiez les points suivants :

  • [ ] version de Commerce est la version 2.4.5 ou ultérieure
  • [ Les événements d’E/S ] sont activés (Commerce Cloud) et déployés.
  • [ ] l’option Contre remboursement est activée avec le titre défini exactement sur Cash
  • [ Le crédit de la boutique ] est activé.
  • [ ] Le client du test a un crédit de magasin d’au moins 50 $
  • [ ] L’intégration Commerce est créée et activée, et les quatre valeurs OAuth sont enregistrées
  • [ ] Le service Événements I/O et le fournisseur d’événements Commerce sont configurés pour le projet App Builder
  • [ ] aio login est terminé et l’espace de travail approprié est sélectionné avec aio app use
  • [ ] Node.js version 18 ou ultérieure est installé et l’interface de ligne de commande aio est installée
  • [ ] fichiers .env sont préparés conformément à Répartition des POC de paiement : référence des variables d’environnement (et votre package source, le cas échéant)

Toutes les ressources de cette série

Ressources de référence

recommendation-more-help
commerce-learn-help-home