URL PIEdit

Cette URL modifie les détails d'une instruction de paiement existante dans une commande.

URL

PIEdit

Commande de contrôleur

com.ibm.commerce.edp.commands.PIEditCmd

Classe d'implémentation

com.ibm.commerce.edp.commands.PIEditCmdImpl

Lorsque vous exécutez l'URL PIEdit avec cette classe, la commande annule l'instruction de paiement existante avant que la commande ne crée l'instruction de paiement de remplacement. La nouvelle instruction inclut toutes les nouvelles données de protocole, ainsi que le montant ou la devise, ou les deux. Pour vérifier que la nouvelle instruction inclut les informations de paiement requises, spécifiez tous les paramètres de l'URL, y compris les paramètres qui n'ont pas besoin d'être mis à jour.

Vous pouvez également utiliser une autre classe d'implémentation pour PIEditCmd com.ibm.commerce.edp.commands.PIEditWithMergingProtocolDataCmdImpl. Lorsque vous utilisez cette classe, les données du protocole de paiement transmises avec l'URL sont fusionnées avec les données d'origine stockées dans la base de données. Si vous ne spécifiez pas tous les paramètres de l'URL, cette classe utilise les données dans la base de données pour les paramètres manquants afin de mettre à jour l'instruction de paiement.

Commandes appelées

EditUnboundPITaskCmd

EditCmd

Structure de l'adresse URL

http://host_name/path/

Commande PIEdit

Valeurs des paramètres

orderId
Obligatoire : L'identificateur de la commande pour lequel le mode de paiement doit être modifié.
piId
Obligatoire : L'identificateur numérique de l'instruction de paiement à modifier. Le piId peut être obtenu à partir du bean de données EDPPaymentInstructionsDataBean et représente la combinaison du mode de paiement, du montant de paiement et de toutes les données du protocole.
piAmount
Le nouveau montant dans la devise de la commande à utiliser pour cette instruction de paiement. Le format de ce nombre doit s'adapter aux règles d'un objet java.math.BigDecimal. Le nombre doit utiliser un point comme pour séparateur de décimale.
policyId
(Requis si la valeur de PayMethodId n'est pas spécifiée) L'identificateur de la stratégie de paiement. Il s'agit de la clé principale de la table STRATEGIE commerciale des paiements. (Table POLICY avec colonne policytype_id = "Payment").
payMethodId
(Requis si la valeur policyId n'est pas spécifiée) Voir Modes de paiement pour les méthodes prises en charge.
protocolData
Des paires valeur-nom supplémentaires séparées par une esperluette (&) qui seront transmises au plug-in de paiement ou au processeur de paiement en tant que données supplémentaires requises par ce protocole de paiement. Si un mot clé existant est transmis, la valeur du mot clé est remplacée dans l'instruction de paiement.
forceFlag
L'indicateur qui détermine si le mode de paiement doit être modifié, même si le montant cible est inférieur au montant autorisé ou s'il y a un montant versé pour le mode de paiement. Pour ces scénarios, un rappel est créé afin de s'assurer que le RSC est notifié. La valeur par défaut est false.
paymentDataEditable
L'indicateur détermine si les données du protocole de paiement doivent être modifiées par cette requête.
true
Les données du protocole de paiement doivent être modifiées par cette requête. Valeur par défaut.
false
Les données du protocole de paiement ne doivent pas être modifiées par cette requête.
montantDibitable
L'indicateur qui détermine si le montant du mode de paiement doit être modifié par cette requête. Si le paramètre piAmount est fourni et que cet indicateur est true, le montant est modifié par cette requête. La valeur par défaut est true.
purchaseOrder_id
Le numéro du bon de commande spécifié dans la commande. Ce paramètre est facultatif. S'il est défini, la valeur du numéro de commande est renvoyée aux propriétés de réponse à afficher dans la page.
errorViewName
Le nom de la vue qui est redirigée lorsque l'exécution échoue. Si ce paramètre est fourni, le nom de la vue d'erreur par défaut est PaymentInstructionErrorView.
billing_address_id
L'identificateur de l'adresse de facturation
paymentTCId
L'identificateur des conditions générales de paiement pour cette instruction de paiement. Ce paramètre est utilisé par le client professionnel.
valueFrompayMENTTCId
L'indicateur qui détermine si les données du protocole de paiement doivent être extraites des conditions de paiement. Ce paramètre indique également la condition identifiée par le paramètre paymentTCId et ignore les données de protocole transmises dans les propriétés de la requête.
true
Les données du protocole de paiement sont extraites.
false
Valeur par défaut. Les données du protocole de paiement ne sont pas extraites.
URL
L'adresse URL à rediriger une fois que la commande a abouti.

Exemple 1

L'exemple suivant modifie le montant du paiement associé au mode de paiement par carte de crédit AMEX pour la commande 112233. L'identificateur de la stratégie de paiement dans la table POLICY est -9803. Le montant du paiement est changé pour un montant de 75,01 USD pour l'instruction de paiement 27022.


http://host_name/webapp/wcs/stores/servlet/PIEdit?orderID=112233&piId=27022&piAmount=75.01
&policyID=-9803&URL=/

Exemple 2

L'exemple suivant modifie le numéro de routage de chèque (en raison d'une erreur typographique) pour une transaction par chèque électronique. Etant donné que le numéro de routage de chèque est fourni sous forme de données de protocole, la paire nom-valeur &check_routing_number est saisie. Les autres données de protocole qui ne sont pas transmises par PIEdit sont conservées de la même façon qu'avant.


http://host_name/webapp/wcs/stores/servlet/PIEdit?orderID=112233&piID=27023&policyID=-9803
&check_routing_number=999888776&URL=/

Comportement

Vérifiez si la commande est verrouillée par le RSC en cours. Si la commande n'est pas verrouillée et appelée par un RSC, ou si elle est verrouillée par un autre RSC, une exception est émise.

Si l'instruction de paiement à modifier n'est pas liée, appelez EditUnboundPITaskCmd (commande EDP) pour modifier l'instruction de paiement non liée. Une instruction de paiement non liée pour la commande ne contient que des informations relatives au mode de paiement et à la stratégie de paiement. Sinon :
  • Appelez EditCmd (commande EDP) pour modifier l'instruction de paiement
  • Examinez le résultat d'EditCmd et lancez l'exception si le résultat est nul ou s'il y a erreur dans les résultats.

Conditions d'exception

  • ECSystemException
  • ECApplicationException