Crear Acuerdo de Pago
Descripción
Permite crear un nuevo agreement de pago que define las reglas de distribución y liquidación de las transacciones.
⚙️ Funcionalidades principales
- Distribución de pagos (Split): Define cómo se repartirán los fondos entre el comercio (owner) y sus partners o afiliados. El owner siempre existe y recibe automáticamente la diferencia no asignada a terceros.
- Liquidación bancaria inteligente: Permite dirigir los pagos hacia distintas cuentas bancarias de destino dependiendo del banco de origen del pagador.
- Medios de pago configurables: Determina qué tipos de pago acepta el acuerdo (
immediate_debit,crypto,mobile_payment). split:false: No aplica distribución; el owner recibe el 100 % del pago.true: Usa porcentajes predefinidos que se aplican de manera uniforme en todas las transacciones. Solo se definen las participaciones de los terceros receptores; la diferencia restante se asigna automáticamente al owner, quien siempre debe recibir una parte del pago.
Casos de uso típicos
- Comercios que trabajan con partners y necesitan distribuir comisiones automáticamente.
- Marketplaces que deben dividir los pagos entre vendedores y la plataforma.
- Servicios que liquidan fondos en distintas cuentas según el banco de origen.
- Plataformas que requieren flexibilidad para definir la distribución por cada transacción.
Reutilización
Una vez creado, el agreement puede emplearse en múltiples sesiones de pago, asegurando consistencia en la distribución, control sobre la liquidación bancaria, y trazabilidad completa en todos los movimientos de fondos.
Endpoint
POST/api/v1/ext/agreements
Autenticación Requerida
Bearer / Token: BearerAuth
Requiere el uso de el token obtenido en /auth/login
Esquema: bearer (JWT)
Request
Ejemplos de Body (JSON)
Acuerdo sin Split
{
"title": "Acuerdo sin Split",
"description": "Sin distribución de fondos",
"split": false,
"payment_methods": {
"immediate_debit": true,
"crypto": false,
"mobile_payment": true
},
"default_bank_account_id": "uuid_sofitasa_001",
"rules": [
{
"origin_bank_code": "0105",
"destination_bank_account_id": "uuid_mercantil_007"
}
]
}
Acuerdo con Split Flexible
{
"title": "Acuerdo Flexible",
"description": "Split configurable por sesión de pago",
"split": true,
"payment_methods": {
"immediate_debit": true,
"crypto": false,
"mobile_payment": true
},
"default_bank_account_id": "uuid_sofitasa_001",
"rules": [
{
"origin_bank_code": "0105",
"destination_bank_account_id": "uuid_mercantil_007"
}
]
}
Responses
- 200
- 400
- 401
- 403
- 409
- 422
- 429
- 500
Acuerdo creado exitosamente
Solicitud inválida - Campo faltante
No autorizado - Token inválido
Prohibido - Sin permisos
Conflicto - Acuerdo duplicado
Entidad no procesable - Datos inválidos
Límite de requests excedido
Error interno del servidor