Líneas, impuestos y detalles del pedido
Cuando creas una sesión de checkout, puedes pasar detalles itemizados completos. Genius Checkout los usa en cuatro lugares:
- La página de checkout (para que el cliente vea por qué paga)
- La página de éxito y el recibo descargable
- La pasarela de pago (campo PowerTranz
TaxAmount, etc.) - Los payloads de webhook (para que tu backend pueda emparejar por
metadata.order_id, etc.)
Ejemplo
{
"line_items": [
{ "name": "Island Rum Cake", "quantity": 2, "unit_amount": 2500, "description": "750g" },
{ "name": "Shipping", "quantity": 1, "unit_amount": 1500 }
],
"subtotal": 6500,
"tax_name": "GCT",
"tax_rate": 0.15,
"tax_amount": 975,
"amount": 7475
}Referencia de campos
| Campo | Tipo | Descripción |
|---|---|---|
line_items[].name | string | Nombre del ítem mostrado en checkout y recibo |
line_items[].quantity | integer | Cantidad |
line_items[].unit_amount | integer | Precio unitario en la unidad menor (centavos) |
line_items[].description | string | Línea de detalle opcional bajo el nombre del ítem |
subtotal | integer | Suma de líneas antes de impuestos (centavos) |
tax_name | string | Etiqueta como GCT, VAT, Sales Tax |
tax_rate | number | Decimal (0.15 = 15%) — para visualización |
tax_amount | integer | Impuesto pre-calculado en centavos — lo que se cobra |
amount | integer | Total cobrado (centavos). Debe igualar subtotal + tax_amount. |
Validación
amount es la fuente de verdad para el cobro. subtotal + tax_amount se muestra al cliente. Si no coinciden exactamente, el cliente ve el desglose pero se le cobra amount — manténlos consistentes salvo que tengas razón para no hacerlo.
Patrones comunes
Sin impuesto
Omite tax_name, tax_rate, tax_amount. amount debe ser igual a subtotal.
Impuesto incluido en el precio
Algunas jurisdicciones del Caribe incluyen IVA en el precio mostrado. Establece tax_name y tax_amount para comunicar el impuesto incluido al gateway, pero calcula amount para igualar el precio que el cliente espera.
Suscripción con cuota de configuración única
Pasa dos line items — Setup fee y First month subscription. El token creado del cobro puede usarse para renovaciones solo por el monto recurrente. Mira Tokenización.
