URL PIAdd

esta URL añade un nuevo método de pago a un pedido. Este mandato llama al mandato de tarea EditCmd para añadir la modalidad de pago.EditCmd

URL

PIAdd

Mandato de controlador

com.ibm.commerce.edp.commands.PIAddCmd

Clase de implementación

com.ibm.commerce.edp.commands.PIAddCmdImpl

Mandatos llamados

AddUnboundPITaskCmd

EditCmd

Estructura de URL

http://host_name/path/
El nombre totalmente calificado de HCL Commerce Server y la vía de acceso de configuración.

orderId
Se necesita: Obligatorio: el identificador del pedido al que se va a añadir el método de pago.
URL
Se necesita: la URL al que se debe redirigir cuando el mandato se completa satisfactoriamente.
piAmount
Se necesita: El importe en la moneda del pedido que se ha de utilizar para este método de pago. El formato de este número debe ajustarse a las normas de un objeto java.math.BigDecimal. El número debe utilizar un punto para una posición decimal.
policyId
El identificador de la política de pago. Es la clave primaria de la tabla de políticas de negocio de pago. (La tabla POLICY con la columna policytype_id = 'Payment). Consulte Modalidades de pago para obtener una lista de métodos admitidos por HCL Commerce (los métodos de pago son configurables).
  • Si este parámetro falta, se necesita payMethodId y este mandato intenta obtener el identificador de política de la tabla de políticas de negocio a través del nombre de política como payMethodId.
payMethodId
Opcional: El nombre de método de pago. Es el nombre de política de la tabla de políticas de negocio de pago. (La tabla POLICY con la columna policytype_id = 'Payment'). Si se pasa policyId, este parámetro no es necesario ya que este mandato siempre lo establece como el nombre de política de la tabla de políticas de negocio mediante policyId.
Se debe pasar al menos uno de los dos parámetros policyId y payMethodId. Si se pasan los dos, policyId tendrá prioridad sobre payMethodId.)
purchaseorder_id
Opcional: El número de orden de compra especificado en el pedido. Este parámetro es opcional y, si está definido, el valor del número de orden de compra se volverá a enviar a las propiedades de respuesta para visualizarse en la página.
errorViewName
Opcional: El nombre de la vista a la que se redirige cuando la ejecución no se realiza correctamente. Si se proporciona este parámetro, el nombre de vista de error predeterminado es PaymentInstructionErrorView.
billing_address_id
Opcional: El identificador de dirección de facturación.
  • Si se pasan todos los parámetros billto_firstname, billto_lastname, billto_address1, billto_city y billto_stateprovince, se utilizarán como datos de protocolo de dirección de facturación y el parámetro billing_address_id no se utilizará. De lo contrario, este mandato obtendrá los datos de protocolo de la dirección de facturación de la tabla o tablas relacionadas con direcciones en HCL Commerce de acuerdo con billing_address_id.

paymentTCId
Opcional: el identificador de términos y condiciones de pago para esta instrucción de pago. Este parámetro lo utiliza el cliente de la empresa.
valueFromPaymentTC
Opcional: el distintivo que indica si los datos de protocolo de pago deben extraerse de los términos y condiciones de pago identificados por el parámetro paymentTCId e ignorar todos los datos de protocolo que se han pasado en las propiedades de la solicitud. Los valores son true y false; el valor predeterminado es false.
valueFromProfileOrder
Opcional: el distintivo que indica si los datos de protocolo de pago deben extraerse del perfil de caja rápida del usuario e ignorar todos los datos de protocolo que se han pasado en las propiedades de la solicitud. Los valores son Y o N. El valor predeterminado es N.
protocolData
Opcional: pares nombre-valor adicionales separados por un carácter (&) que se pasarán al plug-in de pago o al procesador de pago como datos adicionales que ese protocolo de pago necesita. Por ejemplo, para una tarjeta de crédito, &cc_brand=AMEX. Tenga en cuenta que protocolData no es el parámetro que se pasa directamente, sino que solo contiene los pares nombre-valor de los datos de protocolo de la instrucción de pago actual. Todos los parámetros, excepto purchaseorder_id, se pondrán en protocolData.

Ejemplo 1

El ejemplo siguiente añade el método de pago de tarjeta de crédito AMEX al pedido 112233, por un importe de 105,50 USD, con valores de datos de protocolo para la cuenta, tipo y caducidad de la tarjeta de crédito. Se supone que el pedido ya existe y que utiliza USD como moneda.


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

Ejemplo 2

El ejemplo siguiente añade el método de pago de cheque electrónico al pedido 112233, por un importe de 300 USD, y proporciona el número de identificación del banco que ese método de pago necesita para realizar la transacción. Se supone que el pedido ya existe y que utiliza USD como moneda.


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

Comportamiento

Comprobar si el pedido está bloqueado por el CSR actual. Si el pedido no está bloqueado y ha sido llamado por un CSR, o si está bloqueado por otro CSR, se emite una excepción

Si la instrucción de pago que se va a añadir es independiente (una instrucción de pago independiente para el pedido solo tiene la información para el método de pago y la política de pago):
  • Llamar a AddUnboundPITaskCmd (mandato EDP) para añadir la instrucción de pago independiente
De lo contrario:
  • Llamar a EditCmd (mandato EDP) para añadir la instrucción de pago
  • Examinar el resultado de EditCmd y generar una excepción si el resultado es nulo o si hay un error en los resultados

Condiciones de excepción

  • ECSystemException
  • ECApplicationException