URL OrderCancel
Cancelar el pedido especificado cambiando el estado de pedido, anulando las asignaciones de inventario y cancelando todos los artículos en espera. Este URL no elimina el pedido de la base de datos. OrderCancel puede cancelar pedidos con un estado de pedido A, B, C, I, L, M, N.
Estructura de URL
- http:// host_name/ path/
- El nombre completo de Transaction server y la vía de acceso de configuración.
Valores de parámetros
- langId
- Establece o restablece el idioma preferido durante el tiempo que dura la sesión; los idiomas soportados para una tienda se encuentran en la tabla STORELANG.
- forUser
- El ID de conexión del usuario en cuyo nombre se ejecutará el mandato. Este parámetro solo lo puede especificar una persona con autorización para procesar pedidos.
- forUserId
- Igual que forUser, pero identifica al usuario mediante el ID de usuario interno que aparece en la tabla USERS.
- URL
- Se necesita: El URL al que se llama cuando el mandato se completa satisfactoriamente.
- storeId
- La tienda asociada al pedido.
- orderId
- Se necesita: El número de referencia del pedido que se ha de cancelar.
- forcedCancel
- Opcional: Este parámetro se utiliza para cancelar un pedido que ha depositado el pago. Si hay transacciones de depósito para un pedido, el pedido solo se puede cancelar si el parámetro se establece en forcedCancel=true. El valor predeterminado es false.
- forcedCancelWithRefund
- Opcional: Este parámetro se utiliza para realizar el reembolso de pago durante la cancelación de un pedido. Los requisitos previos para este parámetro son:
- Debe haber depositado transacciones de pago del pedido antes de que el pedido se haya cancelado.
- El parámetro forcedCancel debe establecerse en true.
Ejemplo
El ejemplo siguiente cancela el pedido que tiene el número de referencia 1 y muestra el carro de la compra.
http://myhostname/webapp/wcs/stores/servlet/OrderCancel?
orderId=1&URL=/webapp/commerce/InterestItemDisplay
Comportamiento
- Comprueba si el pedido existe y si su atributo de estado especifica A, B, C, I, L, M, N o W. Si no es así, devuelve un error.
- Cancela el pedido especificado cambiando el estado del pedido por X.
- Desasigna el inventario existente y esperado llamando al mandato de tarea AllocateInventory y especificando todos los artículos de pedido del pedido en el parámetro reverseOrderItems.
- Cancela el pago.
- Si hay una petición de aprobación de pedido pendiente para un comprador B2B, este URL la cancela.
- Si el pedido tiene pagos depositados y el parámetro forcedCancel es true, el pedido se cancela y no se desencadena ninguna acción de reembolso de pago. Si el pedido tiene pagos depositados y los dos parámetros forcedCancel y forcedCancelWithRefund son true, el pedido se cancela y se realiza la acción de reembolso de pago.
Condiciones de excepción
Si el ID de pedido especificado no es válido o si el estado del pedido no es A, B, C, I, L, M, N o W, no se ejecuta el proceso y el mandato falla.