URL PIAdd

Cette URL ajoute un nouveau mode de paiement à une commande. Cette commande appelle l'instruction de tâche EditCmd pour ajouter le mode de paiement.

URL

PIAdd

Commande de contrôleur

com.ibm.commerce.edp.commands.PIAddCmd

Classe d'implémentation

com.ibm.commerce.edp.commands.PIAddCmdImple

Commandes appelées

AddUnboundPITaskCmd

EditCmd

Structure de l'adresse URL

http://host_name/path/
Nom hôte entièrement qualifié de votre serveur HCL Commerce Server et du chemin de configuration.

orderId
Obligatoire : L'identificateur de la commande auquel le mode de paiement doit être ajouté.
URL
Obligatoire : L'adresse URL à rediriger une fois que la commande a abouti.
piAmount
Obligatoire : Le montant dans la devise de commande à utiliser pour ce mode 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
L'identificateur de la stratégie de paiement. Il s'agit de la clé principale de la table de la stratégie commerciale des paiements. (Table POLICY avec colonne policytype_id = "Payment"). Voir Modes de paiement pour obtenir une liste des modes pris en charge par HCL Commerce (les modes de paiement sont configurables).
  • Si ce paramètre est manquant, alors payMethodId est nécessaire. Cette commande tente d'obtenir l'identificateur de stratégie de la table de stratégie commerciale via le nom de stratégie en tant que payMethodId.
payMethodId
Facultatif : Le nom du mode de paiement. Il s'agit du nom de stratégie de la table de la stratégie commerciale des paiements. (Table POLICY avec colonne policytype_id = "Payment"). Si policyId est transmis, ce paramètre n'est pas nécessaire puisque cette commande le définit toujours comme nom de stratégie de la table de stratégie commerciale via policyId.
(Au moins l'un des deux paramètres policyId et payMethodId doit être transmis. Si les deux sont transmis, policyId aura la priorité sur payMethodId.)
purchaseorder_id
Facultatif : 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 sera renvoyée aux propriétés de réponse à afficher dans la page.
errorViewName
Facultatif : 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
Facultatif : L'identificateur de l'adresse de facturation
  • Si tous les paramètres billto_firstname, billto_lastname, billto_address1, billto_city et billto_stateprovince sont transmis, ces paramètres seront utilisés comme données du protocole d'adresse de facturation, et le paramètre billing_address_id ne sera pas utilisé. Dans le cas contraire, cette commande obtiendra les données du protocole d'adresse de facturation à partir de la ou des tables d'adresses dans HCL Commerce conformément à billing_address_id.

paymentTCId
Facultatif : l'identificateur des modalités de paiement pour cette instruction de paiement. Ce paramètre est utilisé par le client professionnel.
valueFromPaymentTC
Facultatif : l'indicateur permettant de déterminer si les données du protocole de paiement doivent être extraites des modalités de paiement, identifiées par le paramètre paymentTCId, et d'ignorer les données de protocole transmises dans les propriétés de la requête. Les valeurs true et false sont incluses. La valeur par défaut est false.
valueFromProfileOrder
Facultatif : l'indicateur permettant de déterminer si les données du protocole de paiement doivent être extraites du profil de paiement rapide de l'utilisateur, et d'ignorer les données de protocole transmises dans les propriétés de la requête. Les valeurs sont Y ou N. La valeur par défaut est N.
protocolData
Facultatif : 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. Par exemple, pour une carte de crédit, &cc_brand=AMEX. Notez que protocolData n'est pas le paramètre directement transmis. Il contient plutôt simplement les paires nom-valeur de données de protocole de l'instruction de paiement actuelle. Tous les paramètres, à l'exception de purchaseorder_id seront placés dans protocolData.

Exemple 1

L'exemple suivant ajoute le mode de paiement par carte de crédit AMEX à la commande 112233, pour un montant de 105,50 USD, avec des valeurs de données de protocole pour le compte de carte de crédit, la marque et l'expiration. L'hypothèse est que la commande existe déjà et utilise USD comme monnaie.


http://host_name/webapp/wcs/stores/servlet/PIAdd?orderId=112233&piAmount=105.50
&policyId=-9803&URL=/
     &cc_nameoncard=Jane+Smith
     &billto_address1=4911+Sunnybrook+Dr
     &billto_city=Beverly+Hills
     &billto_stateprovide=CA
     &billto_zipcode=90210
     &billto_country=USA
     &account=account_value
     &cc_brand=AMEX
     &expire_month=09
     &expire_year=2005
     &billing_address_id=10001000006363
     &errorViewName=DoPaymentErrorView

Exemple 2

L'exemple suivant ajoute le mode de paiement par chèque électronique à la commande 112233, pour un montant de 300 USD, et fournit le numéro de routage de chèque requis par ce mode de paiement pour effectuer la transaction. L'hypothèse est que la commande existe déjà et utilise USD comme monnaie.


http://host_name/webapp/wcs/stores/servlet/PIAdd?orderId=112233&piAmount=300
&policyId=-9802&URL=/
     &account=account_value
     &check_number=1159
     &check_routing_number=123456789
     &billing_address_id=10001000006363
     &errorViewName=DoPaymentErrorView

Comportement

Vérifiez si la commande est verrouillée par le CSR 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 à ajouter n'est pas 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) :
  • Appelez AddUnboundPITaskCmd (commande EDP) pour ajouter l'instruction de paiement non liée.
Sinon :
  • Appelez EditCmd (commande EDP) pour ajouter l'instruction de paiement.
  • Examinez le résultat de EditCmd et lancez une exception si le résultat est nul ou s'il y une erreur dans les résultats

Conditions d'exception

  • ECSystemException
  • ECApplicationException