Planification du traitement des paiements en attente

Pour traiter les paiements en attente, planifiez les commandes OrderPaymentSynchronize, ProcessDepositableAmount et OrderClose sur le planificateur HCL Commerce. Si vous utilisez le plug-in Paymentech, planifiez également les commandes PPCPaymentechBatchCtrlCmd PPCPaymentechGetCtrlCmd.

Pourquoi et quand exécuter cette tâche

L'exemple suivant montre pourquoi un paiement en attente serait traité.

Supposons qu'une commande existe pour 100 $ et que le montant initial associé aux articles de commande en stock était de 100 $, mais qu'il y a deux exécutions de commande car le client souhaite que les articles soient expédiés à deux adresses différentes. Une exécution de commande concerne 40 $ et l'autre 60 $. La configuration des Règles de paiement prévoit que les dépôts de paiement s'accumulent plutôt que de se produire à chaque exécution de commande. Les états cibles pour le paiement sont les suivants : PrimePayment - Approve, ReservePayment - Approve et FinalizePayment - Deposit.

Lors de l'état PrimePayment, 100 $ sont approuvés. Lors de l'état ReservePayment, rien ne se passe car la commande est déjà approuvée. Au cours du premier état FinalizePayment, 40 $ doivent être déposés, mais comme la configuration des règles de paiement est configurée pour accumuler des dépôts, aucun dépôt n'est exécuté. Au cours du deuxième état FinalizePayment, 60 $ doivent être déposés. Puisque les 100 $ sont prêts pour le dépôt, un dépôt de 100 $ se produit.

Si, après l'approbation de 100 $ l'article de commande pour la deuxième exécution de commande (60 $) devient indisponible de façon permanente, le dépôt ne sera jamais effectué. Dans ce cas, une commande de contrôleur planifiée, EDPDepositableAmountProcessCmd, doit être exécutée pour traiter le dépôt de 40 $ pour l'article disponible.

La commande de contrôleur EDPDepositableAmountProcessCmd dépose des montants qui ont été approuvés et qui auraient pu être déposés, mais qui ne l'ont pas encore été.

Procédure

  1. Pour planifier le traitement des paiements en attente, procédez comme afin de planifier un travail de niveau site, en sélectionnant les commandes suivantes dans la liste Instruction de travail.
    OptionDescription
    OrderPaymentSynchronize Vérifie si la commande est totalement autorisée. Si OUI, le statut de la commande est remplacé par "C", et un événement avec le nom "PaymentAuthorizationComplete" est élevé au niveau du bus d'événements professionnel. Si NON, la commande PrimePaymentCmd est appelée avec le montant initial défini sur le montant total de la commande pour autoriser entièrement la commande en cours.
    ProcessDepositableAmoun Ce travail du planificateur dépose des montants qui ont été approuvés et qui auraient pu être déposés, mais qui ne l'ont pas encore été. ProcessDepositableAmount appellera la commande de contrôleur EDPDepositableAmountProcessCmd. Il n'a pas de paramètres de travail associés.
    OrderClose Ce travail du planificateur vérifie si la commande expédiée est totalement déposée. Si OUI, le statut de la commande est remplacé par "D". Si NON, les commandes ReservePaymentCmd et FinalizePaymentCmd sont appelées à déposer le montant total de la commande en cours.
  2. Si vous utilisez le plug-in Paymentech, planifiez les travaux suivants au niveau du site.