Cobro de órdenes
POST
Cobrar la orden
POST /api/pos-payment/process-payment
Descripción
Registra uno o varios pagos sobre la orden, actualiza su saldo y, cuando queda totalmente pagada, emite la factura.
Detalles
Registra el cobro de la orden aceptando uno o varios métodos de pago en una misma operación. Valida que la caja tenga sesión abierta, que la secuencia de facturación pertenezca a esa caja, que los métodos sean válidos y, para gift card, anticipo, saldo a favor o crédito, que el saldo y los límites lo permitan. El monto cobrado no puede exceder el saldo pendiente. Si tras el cobro la orden queda totalmente pagada, se cierra y se emite la factura. Falla si la orden ya está cerrada, cancelada o marcada como cortesía.
Permisos requeridos
cash.module
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| orderUuid | string | Sí | — |
| cashRegisterId | int | Sí |
min_value:1
|
| invoiceSequenceId | int | No |
min_value:1
|
| invoiceRecipientId | int | No |
min_value:1
|
| tipOverridden | bool | Sí | — |
| tipAmountCents | int | Sí |
min_value:0
|
| printInvoice | bool | No | — |
| methods | array | Sí | — |
| methods[].methodId | int | Sí |
min_value:1
|
| methods[].amountCents | int | Sí |
min_value:1
|
| methods[].reference | string | No | — |
| methods[].partyId | int | No |
min_value:1
|
| methods[].prepaidBalanceCode | string | No | — |
Ejemplo de request
curl -X POST https://app.restofy.co/api/pos-payment/process-payment \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"orderUuid": "string",
"cashRegisterId": 1,
"tipOverridden": true,
"tipAmountCents": 1,
"methods": [
{
"methodId": 1,
"amountCents": 1
}
]
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-07-15T13:20:48Z
HTTP 200
Request
{
"orderUuid": "fe1fab65-3981-4f18-9b4e-12ae11cc0558",
"cashRegisterId": 1,
"invoiceSequenceId": 1,
"tipOverridden": false,
"tipAmountCents": 0,
"methods": [
{
"methodId": 1,
"amountCents": 4600000
}
]
}
Response
{
"success": true,
"message": "Pago registrado",
"data": {
"paymentStatus": "paid",
"orderLifecycleStatus": "closed",
"paidCents": 4600000,
"balanceCents": 0,
"grandTotalCents": 4600000,
"invoiceId": "1",
"invoiceNumber": "F0002",
"invoiceUuid": "9be7e415-7eb3-11f1-ac02-f2368af4d8ac",
"isElectronic": 0,
"tableLabel": "Mesa 01",
"orderCode": "66E-K54"
}
}