Developers/Guías
Cuentas y CVU
Creá cuentas de pago con CVU sobre Coinag/Coelsa. Podés usar la API nativa Gallo (/v1) o la fachada wallet (/wallet/v1).
Entornos
- Homolog:
https://api.dev.gallo-pay.com· keygpk_test_… - Producción:
https://api.prod.gallo-pay.com· keygpk_live_…
Dos familias de paths
/v1/accounts— API nativa: alta CVU, alias, balance, movimientos, comprobantes./wallet/v1— fachada estilo Bind:Cuenta,CVU, saldos y comprobantes en PascalCase.
Ambas usan el mismo tenant (tu x-api-key). Elegí una familia y mantené consistencia; no mezcles IDs entre capas sin mapear.
Alta de CVU
Nativa — curl
curl -X POST https://api.dev.gallo-pay.com/v1/accounts \
-H "x-api-key: gpk_test_…" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"cuit": "20370994049",
"titular": "JUAN PEREZ",
"tipoPersona": "F",
"alias": "gallo.juan.perez",
"pep": false,
"nationality": "AR"
}'Respuesta típica (201):
{
"cvu": "0000003100000000000147",
"cuit": "20370994049",
"titular": "JUAN PEREZ",
"tipoPersona": "F",
"alias": "gallo.juan.perez",
"status": "active"
}Wallet — Cuenta → CVU
# 1) Alta de cuenta (titular)
curl -X POST https://api.dev.gallo-pay.com/wallet/v1/Cuenta \
-H "x-api-key: gpk_test_…" \
-H "Content-Type: application/json" \
-d '{
"cuitCuil": "20370994049",
"nombre": "Juan",
"apellido": "Perez",
"razonSocial": "Juan Perez",
"email": "juan@example.com",
"celular": "1168599999",
"actividadAfip": "000012",
"habilitado": true,
"esPep": false,
"esFatca": false,
"esUif": false,
"nacionalidad": "AR"
}'
# 2) Emitir CVU (usar id de la respuesta anterior)
curl -X POST https://api.dev.gallo-pay.com/wallet/v1/CVU \
-H "x-api-key: gpk_test_…" \
-H "Content-Type: application/json" \
-d '{ "idCuenta": 123, "nombreCVU": "Juan Perez", "aliasAutomatico": true }'Schemas completos: referencia OpenAPI.
Perfil PLAFT / Regis (opcional)
El alta wallet (POST /wallet/v1/Cuenta) acepta campos opcionales de perfil PLAFT que Gallo informa a Regis (Coinag) en el onboarding. Si no los enviás aplicamos defaults conservadores.
{
"tipoPersona": "F", // F | J
"sujetoObligado": 0,
"nse": 3, // nivel socioeconómico (catálogo Regis)
"nivelRiesgo": 1,
"perfilTransaccional": 2,
"ingresosAnuales": 12000000, // ingresos anuales declarados
"montoAnualInvertir": 1000000,
"facturacionEstimada": 25000000, // facturación estimada declarada
"pepDetalle": { // solo si esPep = true
"parentesco": "titular",
"funcionCargo": "Diputado",
"fechaAlta": "2026-01-01",
"fechaBaja": null
},
"domicilio": { "…": "…", "pais": 1 } // código país Regis (1 = AR)
}Todos estos campos vuelven en el detalle de la cuenta (GET /wallet/v1/Cuenta/:id), junto con tipoPersona y nacionalidad.
Múltiples CVU por cuenta
Una cuenta wallet puede tener más de un CVU activo. El detalle de la cuenta incluye el array cvus[] con todos los CVUs activos (id, cvu, alias, nombreCvu, fechaAlta). Los campos planos cvu / alias / cuentaCVUId siguen apuntando al CVU primario (el más antiguo).
- Un segundo
POST /wallet/v1/CVUsobre una cuenta con CVU activo responde 422 (“La cuenta ya tiene un CVU activo”). El alta de CVUs adicionales la gestiona Gallo (ops) a pedido. - Con alias automático, los CVUs adicionales reciben un sufijo de secuencia para no colisionar con el alias del primario.
- El lookup
GET /wallet/v1/CuentaCVUByCbuCvuOrAliasahora devuelvetipoCuenta(p. ej.CVU,CC,CA) para cuentas propias y externas.
Saldos
curl https://api.dev.gallo-pay.com/v1/accounts/0000003100000000000147/balance \ -H "x-api-key: gpk_test_…" curl "https://api.dev.gallo-pay.com/v1/accounts/0000003100000000000147/balance/historical?date=2026-08-01" \ -H "x-api-key: gpk_test_…"
Wallet: GET /wallet/v1/SaldoActualByCVU/:cvu, SaldoHistoricoByCVU, SaldosActuales.
El saldo es ledger Gallo (disponible / retenido). Ver comprobantes.
Eventos
Tras el alta y los cash-in recibís account.created, account.alias.updated, account.credited, account.closed. Detalle: webhooks.