Configura una pasarela de pago (gateway) para una Company o, opcionalmente, para una
Branch concreta. name es el nombre del gateway (stripe, paypal, …) y config
guarda las claves para inicializar su SDK. Normalmente hace falta el SDK del proveedor para
implementar el cobro.
branch_id: el método es de la company y recauda la plataforma.branch_id: es un método propio del comercio y recauda el comercio directamente
(habitual en marketplaces, donde cada comercio define los suyos).PAYMENTS_MODE de
la sucursal.config)Objeto con las claves específicas del gateway (solo se conservan las que el gateway declara
como editables) más whitelist / blacklist de clientes. Vistas derivadas:
visible_config — solo las claves públicas del gateway.internal_config — config sin whitelist ni blacklist.whitelist / blacklist — listas de clientes tomadas de config.tax_percent + tax_flat_e2 + currency_iso)Recargo adicional que se cobra al cliente por usar el método: tax_percent es un porcentaje y
tax_flat_e2 un monto fijo en céntimos (× 100). currency_iso es solo la moneda en la que se
muestra ese impuesto; el cobro real se convierte a la moneda de la orden. El endpoint
get-tax calcula el recargo para un monto dado.
name se guarda internamente con prefijo <branch_id>: para el índice único, pero el
accesor lo devuelve sin prefijo.company_id está en $hidden.| Atributo | Tipo | Descripción |
|---|---|---|
id |
int |
|
name |
string |
Nombre del gateway a usar (stripe, paypal, …) |
config |
array |
Claves de inicialización del SDK del gateway + whitelist/blacklist (ver "Configuración") |
enabled |
bool |
Si el método está activo para cobrar |
tax_percent |
float |
Recargo porcentual por usar el método |
tax_flat_e2 |
int |
Recargo fijo por usar el método, en céntimos (× 100) |
created_at |
datetime\|null |
|
updated_at |
datetime\|null |
|
company_id |
int |
{@link Company} dueña del método (oculto) |
currency_iso |
string |
Moneda en la que se muestra el recargo del método |
branch_id |
int\|null |
{@link Branch} propietaria del método; si es nulo, es de la company y recauda la plataforma |
allLogs |
ApiLog> |
|
blacklist |
array |
Clientes bloqueados para este método (de config) |
currency |
Currency\|null |
{@link \App\Currency} correspondiente a currency_iso |
currency_tax |
CurrencyTax |
Impuesto del método resuelto sobre su moneda |
tax |
Tax |
Datos del recargo del método (iso, tax_percent, tax_flat_e2) |
internal_config |
array |
config sin whitelist ni blacklist |
logs |
ApiLog> |
|
visible_config |
array |
Subconjunto de config con solo las claves públicas del gateway |
whitelist |
array |
Clientes permitidos para este método (de config) |
{
"id": 19,
"name": "stripe",
"config": {
"public_key": "pk_test_FdMRjWhvmpDlQATdzn1IgwTl",
"secret_key": "sk_test_qOc9zLm2kowVdEpQEpQtrZk3",
"whitelist": [],
"blacklist": []
},
"enabled": true,
"tax_percent": 0.03,
"tax_flat_e2": 30,
"created_at": "2020-05-05 01:48:43",
"updated_at": "2025-01-16 19:50:42",
"currency_iso": "USD",
"branch_id": null
}
Configurar método de pago
Crea un PaymentMethod a nivel de la Company —recauda la plataforma— a partir
de una pasarela del catálogo. config lleva las claves del SDK del gateway; si no se envía
currency_iso se usa la moneda internacional de la company.
{warning} Responde 404 si la pasarela (
name) no está en el catálogo, y 503 si el servicio de pagos no está disponible.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{company}/payment-methods |
Authorization |
{
"name": "required|string|in:paypal,instapago,zelle,payco,stripe,balance,pos,banco_de_venezuela,binance,bancamiga_ci,sypago_ci,post-payment",
"enabled": "required|boolean",
"config": "required",
"tax_percent": "numeric|between:0.0000,1.0000",
"tax_flat_e2": "integer|min:0",
"currency_iso": "required_with:tax_flat_e2|string|min:3|max:8"
}
Listar métodos de pago de la compañía
Devuelve los PaymentMethod configurados a nivel de la Company — los que
recauda la plataforma. Aplica cuando la company es marketplace
(setting_is_marketplace = true).
{info} Responde 503 si el servicio de pagos no está disponible.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{company}/payment-methods |
N/A |
Actualizar método de pago
Modifica los campos enviados del PaymentMethod: enabled, config, tax_percent,
tax_flat_e2 y currency_iso.
| Método | URI | Cabeceras |
|---|---|---|
| PATCH | /companies/{company}/payment-methods/{payment_method} |
Authorization |
{
"name": "string|max:32|in:paypal,instapago,zelle,payco,stripe,balance,pos,banco_de_venezuela,binance,bancamiga_ci,sypago_ci,post-payment",
"enabled": "boolean",
"config": "required",
"tax_percent": "numeric|between:0.0000,1.0000",
"tax_flat_e2": "integer|min:0",
"currency_iso": "required_with:tax_flat_e2|string|min:3|max:8"
}
Eliminar método de pago
Borra la configuración del PaymentMethod indicado.
| Método | URI | Cabeceras |
|---|---|---|
| DELETE | /companies/{company}/payment-methods/{payment_method} |
Authorization |
Devuelve los PaymentMethod que aplican a la Branch: sus métodos propios —que
recauda el comercio directamente— y, según el modo de pagos de la sucursal
(PAYMENTS_MODE), también los de la company. Aplica cuando la company no es marketplace
(setting_is_marketplace = false).
{info} Responde 503 si el servicio de pagos no está disponible.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{company}/branches/{branchId}/payment-methods |
Authorization |
Para el PaymentMethod identificado por name (opcionalmente el de una sucursal, vía
branch_id), calcula el recargo por usar el método y el total a cobrar para un monto dado
(order_e2, tax_e2, currency_to_use).
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{company}/payment-methods/{name}/get-tax |
Authorization |
{
"order_e2": "required|integer|min:0",
"tip_e2": "required|integer|min:0",
"currency_to_use": "string|min:3|max:8",
"branch_id": "nullable|integer"
}
Registra y vincula el identificador del cliente en la pasarela del PaymentMethod
(por ejemplo, el Customer de Stripe) y lo devuelve. A partir de ahí se puede acceder al
wallet de tarjetas del cliente en esa pasarela. Un admin debe indicar client_id; un
cliente opera sobre sí mismo.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{company}/payment-methods/{payment_method}/get-user |
Authorization |
Devuelve las tarjetas guardadas del cliente en el wallet de la pasarela del
PaymentMethod, junto con su identificador de cliente en la pasarela. Un admin debe
indicar client_id; un cliente opera sobre sí mismo.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{company}/payment-methods/{payment_method}/cards |
Authorization |
Registra una tarjeta (source) en el wallet del cliente en la pasarela del
PaymentMethod. La operación está limitada por frecuencia (rate limit) por cuenta.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{company}/payment-methods/{payment_method}/cards |
Authorization |
{
"source": "required|string"
}
Quita la tarjeta card_id del wallet del cliente en la pasarela del PaymentMethod.
| Método | URI | Cabeceras |
|---|---|---|
| DELETE | /companies/{company}/payment-methods/{payment_method}/cards |
Authorization |
{
"card_id": "required|string"
}
Marca la tarjeta card_id como predeterminada del cliente para ese PaymentMethod y
devuelve el listado actualizado.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{company}/payment-methods/{payment_method}/select-card |
Authorization |
{
"card_id": "required|string"
}
Devuelve las pasarelas de pago que la Company puede configurar, con su estado actual (configurada / habilitada). Es la lista que alimenta la pantalla de configuración de métodos de pago.
{info} Responde 503 si el servicio de pagos no está disponible.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{company}/payment-methods/set-up |
Authorization |
Igual que el catálogo de la company, acotado a la Branch indicada.
{info} Responde 503 si el servicio de pagos no está disponible.
| Método | URI | Cabeceras |
|---|---|---|
| GET | /companies/{company}/branches/{branchId}/payment-methods/set-up |
Authorization |
Igual que configurar un método de pago, pero asociado a la Branch (branch_id): el
comercio recauda directamente. Requiere acceso a la sucursal.
{warning} Responde 404 si la pasarela (
name) no está en el catálogo, y 503 si el servicio de pagos no está disponible.
| Método | URI | Cabeceras |
|---|---|---|
| POST | /companies/{company}/branches/{branchId}/payment-methods |
Authorization |
{
"name": "required|string|in:paypal,instapago,zelle,payco,stripe,balance,pos,banco_de_venezuela,binance,bancamiga_ci,sypago_ci,post-payment",
"enabled": "required|boolean",
"config": "required",
"tax_percent": "numeric|between:0.0000,1.0000",
"tax_flat_e2": "integer|min:0",
"currency_iso": "required_with:tax_flat_e2|string|min:3|max:8"
}