Resumen
Los Payments manejan el cobro de una order. El sistema tiene tres piezas:- Payment Methods — las formas disponibles de pagar (tarjeta de crédito, efectivo, contact balance, …).
- Payments — un registro de pago contra una order.
- Transactions — los cargos o reembolsos individuales dentro de un payment.
Solo las invoices reciben pagos. Un payment solo se puede hacer contra una
invoice order, y la invoice debe estar completada.
Payment Method
Una forma disponible de pagar.| Property | Tipo | Requerido | Descripción |
|---|---|---|---|
name | string | Sí | Nombre visible (por ejemplo Credit Card). |
slug | string | Sí | Identificador — enruta al gateway correcto (p. ej. stripe, cash, contact-balance). |
description | string | Sí | Descripción de cara al cliente. |
is_active | boolean | Sí | Si el método está disponible (desactívalo sin borrarlo). |
Payment
Un registro de pago contra una order.| Property | Tipo | Requerido | Descripción |
|---|---|---|---|
order_id | reference | Sí | La order que se paga. |
contact_id | reference | Sí | El cliente que hace el pago. |
payment_method_id | reference | Sí | El método usado. |
value | number | Auto | El monto, mantenido en sync a medida que se aprueban las transactions. |
description | string | No | Descripción opcional. |
Transaction
Un cargo o reembolso individual dentro de un payment.| Property | Tipo | Requerido | Descripción |
|---|---|---|---|
payment_id | reference | Condicional | El payment al que pertenece (omítelo para crear el payment en línea). |
type | enum | Sí | payment o refund. |
value | number | Sí | El monto. |
status | enum | Auto | processing, approved o rejected. |
message | string | Auto | El motivo, definido cuando una transaction se rechaza. |
Cómo funciona un pago
Una transaction es el punto de entrada. Creas una contra una order (o un payment existente) — si aún no hay payment, se crea uno por ti. La transaction se valida (la order debe aceptar pagos), se procesa por el gateway de su método, y se marca approved o rejected. A medida que se aprueban transactions, el monto pagado de la order se actualiza; cuando el monto pagado alcanza el total de la order, esta se marca como pagada.Refunds y contact balance
- Un refund es una transaction con
type: refund. Un refund no puede exceder el payment que revierte (las refund invoices bajo un return son la excepción — mueven el dinero de vuelta al cliente). - El método contact balance paga desde el crédito guardado de un cliente: un payment aprobado baja su balance, un refund aprobado lo sube.
Seeds
Los payment methods, payments y transactions no están soportados en los Seeds.Gobernanza y permisos
Solo un super admin o un Master puede gestionar los payment methods. Los payments se hacen contra orders — ver Orders para quién puede gestionarlas.Relacionado
Orders
Las invoices son las orders que reciben pagos.
Contacts
El cliente que paga — y cuyo balance se puede usar.