Cierre del pedido
POST
Guardar la propina
POST /api/checkout/set-tip
Descripción
Aplica la propina que el cliente eligió, por monto o por porcentaje.
Detalles
Guarda la propina sobre lo que el pedido lleva en ese momento y devuelve los totales actualizados. Solo aplica cuando el restaurante dejó la propina como voluntaria: la obligatoria y la deshabilitada no se pueden cambiar desde el celular. Se ajusta solo con el pedido ya enviado, no mientras se arma. Al quitarla, el cliente puede contar el motivo si quiere.
Permisos requeridos
auth-order
Request
| Nombre | Tipo | Requerido | Reglas |
|---|---|---|---|
| tipType | string | Sí |
enum:amount,percent,none
|
| amountCents | int | No |
min_value:0
|
| percent | int | No |
min_value:0
max_value:100
|
| reasonCode | string | No |
enum:slow_service,unfriendly,cash_tip,custom
|
| reasonNote | string | No |
max:200
|
Respuesta
Campos que devuelve dentro de data. Nada fuera de esta lista sale en la respuesta.
| Campo | Tipo | Descripción |
|---|---|---|
| productsCents | int | Total de los productos, en centavos |
| taxInclusionMode | string | Si los precios incluyen impuestos |
| totalBaseCents | int | Subtotal antes de impuestos, en centavos |
| taxCents | int | Impuestos, en centavos |
| priceCents | int | Total de los productos con impuestos, en centavos |
| discountReasonName | string Admite vacío | Motivo del descuento |
| discountCents | int | Descuentos, en centavos |
| tipAmountCents | int | Propina, en centavos |
| tipModeApplied | string | Cómo se calculó la propina |
| isTipOverridden | bool | Si la propina la eligió el cliente |
| deliveryFeeCents | int | Costo del domicilio, en centavos |
| deliveryModeApplied | string | Cómo se calculó el domicilio |
| grandTotalCents | int | Total a pagar, en centavos |
| balanceCents | int | Saldo pendiente, en centavos |
| paymentStatus | string | Estado del pago |
Ejemplo de request
curl -X POST https://restofy.pro/api/checkout/set-tip \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <accessToken>" \
-d '{
"tipType": "string"
}'
Los valores son demo: reemplázalos por datos reales del negocio.
Ejemplo de respuesta
Actualizado: 2026-10-09T02:12:12Z
HTTP 200
Request
{
"tipType": "percent",
"percent": 10
}
Response
{
"success": true,
"message": "Operación realizada correctamente",
"data": {
"productsCents": 500000,
"taxInclusionMode": "inclusive",
"totalBaseCents": 0,
"taxCents": 0,
"priceCents": 500000,
"discountReasonName": null,
"discountCents": 0,
"tipAmountCents": 50000,
"tipModeApplied": "voluntary",
"isTipOverridden": 1,
"deliveryFeeCents": 0,
"deliveryModeApplied": "disabled",
"grandTotalCents": 550000,
"balanceCents": 550000,
"paymentStatus": "unpaid"
}
}