Saltar al contenido principal

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.
Los payments se procesan mediante plugins de gateway, y soportan refunds y contact balances. Para el panorama, consulta el overview de Commerce.
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.
PropertyTipoRequeridoDescripción
namestringNombre visible (por ejemplo Credit Card).
slugstringIdentificador — enruta al gateway correcto (p. ej. stripe, cash, contact-balance).
descriptionstringDescripción de cara al cliente.
is_activebooleanSi el método está disponible (desactívalo sin borrarlo).

Payment

Un registro de pago contra una order.
PropertyTipoRequeridoDescripción
order_idreferenceLa order que se paga.
contact_idreferenceEl cliente que hace el pago.
payment_method_idreferenceEl método usado.
valuenumberAutoEl monto, mantenido en sync a medida que se aprueban las transactions.
descriptionstringNoDescripción opcional.

Transaction

Un cargo o reembolso individual dentro de un payment.
PropertyTipoRequeridoDescripción
payment_idreferenceCondicionalEl payment al que pertenece (omítelo para crear el payment en línea).
typeenumpayment o refund.
valuenumberEl monto.
statusenumAutoprocessing, approved o rejected.
messagestringAutoEl 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.
Las transactions no se pueden editar una vez creadas. Para revertir un pago, crea una transaction de refund.

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.