Saltearse al contenido

La búsqueda solo está disponible en las versiones de producción. Intenta construir y previsualizar el sitio para probarlo localmente.

Descripción general de Pay-Out

La API Pay-Out permite a tu negocio enviar dinero a beneficiarios en el extranjero. Cotizas un pago, eliges un pagador (el banco, billetera o red de efectivo que entrega el dinero) y lo ejecutas. El importe se toma de tu billetera Cashela; no interviene ninguna tarjeta ni pago bancario.

Cómo funciona

  1. Descubre adónde puedes enviar dinero: países, servicios y pagadores.
  2. Cotiza: crea una cotización. Fija los importes, la tasa y la comisión durante 30 minutos y lista los pagadores que pueden entregarlo.
  3. Ejecuta: ejecuta la transacción con los datos del beneficiario y uno de los pagadores de la cotización. Cuando Pay-Out está activo para tu cuenta, Cashela reserva el importe en tu billetera e inicia el pago.
  4. Sigue el estado: recibe una notificación firmada en tu callback_url y consulta el estado de la transacción cuando quieras.

Consulta el diagrama de flujo para ver la secuencia completa.

Disponibilidad

Pay-Out está disponible por cuenta, bajo activación: Cashela lo habilita para tu cuenta cuando completas el onboarding. Mientras no esté activo, el descubrimiento y la cotización funcionan, pero ejecutar una transacción responde 503 con el código PARTNER_PAYOUT_DISBURSEMENT_UNAVAILABLE. No se reserva ningún fondo y la cotización sigue vigente hasta que expire, así que puedes repetir la misma llamada cuando Cashela confirme la activación. Consulta Errores.

Antes de empezar

  • Una cuenta Cashela Business.
  • Una clave API y un secreto API creados en el Portal de Desarrolladores de tu panel Cashela Business. Consulta Primeros pasos. La clave debe tener acceso a Pay-Out; si no lo tiene, la API responde 403 Insufficient permissions. y debes contactar con Cashela.
  • Una billetera activa en la moneda desde la que envías, con saldo suficiente. La source.currency de una cotización debe ser una de las monedas de tus billeteras.

Autenticación

Pay-Out usa la misma autenticación HTTP Basic que Pay-In: usuario = tu api_key, contraseña = tu api_secret. Consulta Autenticación para más detalles, listas blancas de IPs y errores de autenticación.

Ventana de terminal
curl https://sandbox-api.cashela.com/api/v1/pay-out/countries \
-u "$CASHELA_API_KEY:$CASHELA_API_SECRET" \
-H "Accept: application/json"
RespuestaSignificado
401 Unauthorized.Credenciales ausentes o incorrectas, credenciales del otro entorno, o una clave desactivada o revocada.
403 IP address is not allowed.La clave tiene lista blanca de IPs y la petición llegó desde otra dirección.
403 Insufficient permissions.La clave no tiene permiso para usar Pay-Out.
403 The partner account is not active.Tu cuenta de negocio no está activa. Contacta con Cashela.
429Demasiadas peticiones. Espera los segundos que indica la cabecera Retry-After.

Entornos

EntornoURL base
Sandboxhttps://sandbox-api.cashela.com
Producciónhttps://production-api.cashela.com

Usa la clave de la tarjeta correspondiente (Sandbox o Producción) del Portal de Desarrolladores. Todas las rutas Pay-Out empiezan por /api/v1/pay-out/.

Endpoints

MétodoRutaPara qué
GET/api/v1/pay-out/countriesPaíses de destino
GET/api/v1/pay-out/servicesServicios de pago
GET/api/v1/pay-out/payersPagadores
POST/api/v1/pay-out/calculateVer una cotización sin guardarla
POST/api/v1/pay-out/quotationsCrear una cotización
GET/api/v1/pay-out/quotations/{reference}Consultar una cotización
POST/api/v1/pay-out/transactions/{reference}Ejecutar una transacción
GET/api/v1/pay-out/transactions/{reference}Consultar una transacción
POST/api/v1/pay-out/transactions/{reference}/callbackReenviar la notificación

Formato de peticiones y respuestas

Envía JSON con Content-Type: application/json y Accept: application/json. Todas las respuestas usan el mismo sobre:

{
"success": true,
"data": { },
"message": "Quotation created successfully."
}

Los errores devuelven success: false y un message. Los errores de validación devuelven 422 con los campos inválidos en errors:

{
"success": false,
"message": "Validation failed.",
"errors": {
"source.currency": ["The source currency is not available in the authenticated owner main wallets."]
}
}

Envía la cabecera opcional X-Trace-Id (un UUID sirve) en cada petición y regístrala; indícala a soporte junto con tu external_identifier.

Idempotencia

Tu external_identifier es la clave de idempotencia de un pago:

  • Si creas otra vez una cotización con el mismo external_identifier y el mismo cuerpo, recibes la cotización existente en lugar de una nueva.
  • Si ejecutas otra vez la misma cotización con el mismo cuerpo, recibes la transacción existente.
  • Si reutilizas un external_identifier con un cuerpo distinto, recibes 409.

También puedes enviar la cabecera Idempotency-Key; se guarda con la cotización y la transacción y se devuelve en el objeto idempotency.

Siguientes pasos