Flujo de integración
Un depósito sigue siempre la misma secuencia. Los pasos 1 y 2 se pueden guardar en caché brevemente; el paso 2 conviene repetirlo antes de cada depósito, porque las comisiones, la disponibilidad y los campos obligatorios pueden cambiar.
Paso a paso
-
Consulta los países.
GET /api/v1/pay-in/deposit-creation/countriesdevuelve los países disponibles para tu cuenta en el entorno actual. Ver Obtener países. -
Consulta los métodos de pago.
POST /api/v1/pay-in/deposit-creation/available-payment-methodsconcountryyamount. Cada opción te da el códigopayment_method, las comisiones, el total que paga tu cliente, lo que se te acredita y los campos del cliente obligatorios para ese método (mandatory_fields,required_fields,document_types). Ver Obtener métodos de pago. -
Recoge los datos del cliente. Construye tu formulario con los campos obligatorios de la opción elegida. Ver Datos del pagador y documentos.
-
Crea el depósito.
POST /api/v1/pay-in/deposit-creationcon tuexternal_identifierúnico y, opcionalmente, la cabeceraIdempotency-Key. Ver Crear un depósito. -
Envía a tu cliente a pagar. Si la respuesta trae un enlace de pago (
data.details.paying.metadata.redirect_url), redirige a tu cliente o ábrelo en una ventana nueva. Si no, muestra las instrucciones de pago. Los pagos con tarjeta siempre usan la página de pago alojada por Cashela; ver Pagos con tarjeta. -
Tu cliente paga antes de que venza el enlace (
validity_period). Después vuelve a turedirect_url. -
Recibe la notificación. Cuando el depósito llega a un estado final, Cashela envía un
POSTfirmado a tunotification_url. Verifica la firma, actualiza tu pedido y responde2xx. Ver Webhooks. -
Concilia. Consulta el depósito con
GET /api/v1/pay-in/transactions/{reference}siempre que necesites confirmar su estado o importes. Ver Consultar un depósito y estados.
Ciclo de vida del depósito
COMPLETED, DECLINED, CANCELLED, FAILED y REVERSED son finales. Ver la tabla completa de estados.
Lista de control de producción para este flujo
- Llama a Obtener métodos de pago antes de cada depósito; no fijes códigos de método ni comisiones.
- Guarda tu
external_identifierantes de llamar a Crear un depósito, para que un reintento use el mismo. - Verifica la firma de cada notificación y procesa el estado final de cada depósito una sola vez.
- Trata la vuelta a
redirect_urlsolo como navegación. - Concilia dinero solo en
COMPLETED(yREVERSED).