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/
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
- 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