URL PIEdit

esta URL cambia los detalles de una instrucción de pago existente en un pedido.

URL

PIEdit

Mandato de controlador

com.ibm.commerce.edp.commands.PIEditCmd

Clase de implementación

com.ibm.commerce.edp.commands.PIEditCmdImpl

Cuando se ejecuta la URL PIEdit con esta clase, el mandato cancela la instrucción de pago existente antes de que el mandato cree la instrucción de pago de sustitución. La nueva instrucción incluye todos los nuevos datos de protocolo y el importe o moneda, o ambas cosas. Para asegurarse de que la nueva instrucción incluya la información de pago necesaria, especifique todos los parámetros para la URL, incluidos los parámetros que no necesita actualizar.

Alternativamente, puede utilizar otra clase de implementación para la PIEditCmd com.ibm.commerce.edp.commands.PIEditWithMergingProtocolDataCmdImpl Cuando se utiliza esta clase, los datos de protocolo de pago que se pasan en con la URL se fusionan con los datos originales que se almacenan en la base de datos. Si no especifica todos los parámetros para la URL, esta clase utiliza los datos en la base de datos para los parámetros que faltan para actualizar la instrucción de pago.

Mandatos llamados

EditUnboundPITaskCmd

EditCmd

Estructura de URL

http://host_name/path/

Mandato PIEdit

Valores de parámetros

orderId
Se necesita: El identificador del pedido para el que se va a cambiar el método de pago.
piId
Se necesita: El identificador numérico de la instrucción de pago a modificar. El piId puede obtenerse del bean de datos EDPPaymentInstructionsDataBean y representa la combinación de la modalidad de pago, importe de pago y todos los datos de protocolo.
piAmount
El nuevo importe en la moneda del pedido que debe utilizarse para esta instrucción 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
(Obligatorio si no se especifica PayMethodId) El identificador de política de pago. Es la clave primaria de la tabla POLICY de negocio de pago. (Tabla POLICY con la columna policytype_id = "Payment").
payMethodId
(Obligatorio si no se especifica policyId) Consulte Modalidades de pago para ver las modalidades soportadas.
protocolData
Más parejas nombre-valor que están separadas por un ampersand (&) pueden pasar al plug-in de pago o al procesador de pago como datos adicionales que son necesarios en dicho protocolo de pago. Si se pasa una palabra clave existente, el valor de la palabra clave se sobrescribe en la instrucción de pago.
forceFlag
El distintivo para indicar si debe editarse la modalidad de pago aunque el importe final sea menor que el importe autorizado l haya algún importe depositado para la modalidad de pago. Para estos escenarios, se crea un recordatorio para asegurarse de que se notifica al CSR. El valor predeterminado es false.
paymentDataEditable
El distintivo indica si esta solicitud debe editar los datos de protocolo de pago.
true
Esta solicitud debe editar los datos de protocolo de pago. El valor predeterminado.
false
Esta solicitud no debe editar los datos de protocolo de pago.
amountEditable
El distintivo para indicar si esta solicitud debe editar el importe de modalidad de pago. Si se proporciona el parámetro piAmount y este distintivo es true, esta petición edita el importe. El valor predeterminado es true.
purchaseOrder_id
El número de orden de compra que se ha especificado en el pedido. Este parámetro es opcional y, si se establece, el valor del número de pedido de compra se vuelve a enviar a las propiedades de respuesta que van a mostrarse en la página.
errorViewName
El nombre de vista a la que se redirecciona 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
El identificador de dirección de facturación.
paymentTCId
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.
valueFromPaymentTCId
El distintivo que indica si los datos de protocolo de pago deben extraerse de los términos de pago. Este parámetro también indica la condición que se ha identificado con el parámetro paymentTCId e ignora todos los datos de protocolo que se han pasado en las propiedades de la solicitud.
true
Se extraen datos de protocolo de pago.
false
El valor predeterminado. No se extraen los datos de protocolo de pago.
URL
la URL al que se debe redirigir cuando el mandato se completa satisfactoriamente.

Ejemplo 1

El ejemplo siguiente cambia el importe de pago que está asociado con el método de pago con la tarjeta de crédito AMEX para el pedido 112233. El identificador de la política de pago en la tabla POLICY es -9803. El importe del pago se cambia por un importe de 75,01 euros para la instrucción de pago 27022.


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

Ejemplo 2

En el siguiente ejemplo se cambia el número de identificación del banco (debido a un error tipográfico) para una transacción de cheque electrónico. Puesto que el número de identificación del banco se suministra como datos de protocolo, se introduce el par nombre-valor &check_routing_number. Los otros datos de protocolo que no se pasan por PIEdit se mantienen igual que antes.


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

Comportamiento

Compruebe 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 editar es independiente, llame a EditUnboundPITaskCmd (mandato EDP) para editar la instrucción de pago 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. De lo contrario:
  • Llame a EditCmd (mandato EDP) para editar la instrucción de pago
  • Examine el resultado de EditCmd y genere una excepción si el resultado es nulo o si hay un error en los resultados.

Condiciones de excepción

  • ECSystemException
  • ECApplicationException