Flujo de Pago
Las APIs de pago devuelven resultados de solicitud en result_code y resultados de negocio en biz_response.result_code. HTTP 200 no significa que el pago fue exitoso. Todas las solicitudes de pago se inician desde una identidad de terminal del cliente activada.
La terminal envia pay, pre-create u orden enviada firmada con `terminal_sn`.
MUWE valida credenciales de terminal, alcance del comercio, idempotencia y ruta de proveedor.
El proveedor maneja la autorizacion o devuelve el payload de pago del consumidor.
El consumidor completa el pago en el canal configurado o en la terminal POS vinculada.
MUWE devuelve estado de negocio exitoso, fallido o en progreso.
Si el resultado es incierto, consulta antes de entregar, cancelar, reembolsar o reintentar.
Pago iniciado por el comercio
- El cajero, POS o MIS del comercio inicia la solicitud de pago desde una terminal del cliente activada.
- El cliente llama
POST /upay/v2/paycon unclient_snunico. - Si
biz_response.result_codeesPAY_SUCCESS, entrega bienes. - Si es
PAY_IN_PROGRESS, o hay error de red despues de que la solicitud pudo llegar a MUWE, consulta porclient_sn. - Si la orden no llega a estado final dentro del tiempo limite del comercio, llama
POST /upay/v2/cancel. - Nunca reutilices el mismo
client_snpara un nuevo intento despues de un pago fallido o incierto.
Envio de orden MIS a POS
- El MIS o caja del comercio crea una orden para una terminal POS vinculada.
- El POS recibe la orden y conduce el flujo de pago con el consumidor.
- MUWE procesa el pago con el proveedor configurado.
- El cliente recibe notificacion o consulta
POST /upay/v2/queryhasta llegar a un estado final.
Pre-creacion QR
- El cliente llama
POST /upay/v2/precreate. - MUWE devuelve
qr_codeo payload de pago del proveedor. - El comercio muestra el codigo QR o URL de pago.
- El cliente final completa el pago en la app del proveedor.
- El cliente espera notificacion o consulta
POST /upay/v2/query.
Reembolso
Los reembolsos son idempotentes por refund_request_no.
- Consulta la orden y confirma que se puede reembolsar.
- Llama
POST /upay/v2/refundconsnoclient_sny unrefund_request_nounico. - Si el resultado del reembolso es incierto, consulta usando la identidad de la orden original y
refund_request_no. - No envies un reembolso de reemplazo con un nuevo
refund_request_nohasta que el primero sea final.
Recuperacion por cancelacion
cancel es para ordenes no pagadas o inciertas. Usalo cuando el cliente no puede probar que el pago fallo pero necesita prevenir un exito posterior.
Si cancel devuelve CANCEL_SUCCESS, la orden queda cerrada. Si devuelve CANCEL_ERROR, CANCEL_ABORT_ERROR o hay timeout de red, sigue consultando y escala si la orden no llega a estado final.
Reversa
revoke no es la misma operacion que cancel. Usa POST /upay/v2/revoke solo para reversa del mismo dia de una orden pagada cuando la ruta del proveedor lo soporta explicitamente.
Estados finales
| Estado | Significado |
|---|---|
PAID | Pago completado. |
PAY_CANCELED | Pago fallido y cancelado. |
REFUNDED | Reembolso total. |
PARTIAL_REFUNDED | Reembolso parcial. |
CANCELED | Orden cancelada antes de completar el pago. |
Estados intermedios como CREATED, IN_PROG, ERROR_RECOVERY y PRE_SUCCESS no son finales. Consulta hasta recibir un estado final o requerir intervencion de soporte.