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.
- 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
ybillto_stateprovince
, se utilizarán como datos de protocolo de dirección de facturación y el parámetrobilling_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 conbilling_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
- Llamar a AddUnboundPITaskCmd (mandato EDP) para añadir la instrucción de pago independiente
- 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