Skip to main content
POST
/
customers
/
session
/
charges
curl https://api.onepay.la/v1/customers/session/charges \
  -X POST \
  -H "Authorization: Bearer sk_test_xxx" \
  -H "X-Customer-Token: 12|a1b2c3d4e5f6..." \
  -H "Content-Type: application/json" \
  -d '{
    "payment_method_id": "bb02b2fd-154c-4c90-9fdf-cec3a0b25cf5",
    "amount": 50000,
    "currency": "COP",
    "description": "Pago mensualidad marzo",
    "approve": true
  }'
{
  "charge_id": "9e02966f-2ddf-4ee7-a391-5b5b7653e232",
  "status": "in_progress",
  "message": "Cargo aprobado en modo prueba."
}
Crea un cargo (débito) a una tarjeta del cliente autenticado. El flujo varía según el modo:
  • Modo test: El cargo se procesa inmediatamente. Requiere el parámetro approve (true para aprobar, false para rechazar).
  • Modo live: Se envía una solicitud de aprobación al cliente vía WhatsApp. El cargo se ejecuta cuando el cliente aprueba, o expira automáticamente en 5 minutos.
Solo se permite un cargo pendiente por tarjeta. Si ya existe un cargo en estado created, el endpoint retornará error 422.

Headers

Authorization
string
required
Bearer token de tu empresa.
X-Customer-Token
string
required
Token de sesión del cliente obtenido en /customers/login/verify.

Body

payment_method_id
string
required
ID de la tarjeta del cliente. Debe pertenecer al cliente autenticado y coincidir con el modo (test/live).
amount
integer
required
Monto del cargo en centavos. Mínimo: 100 (equivale a $1 COP).
currency
string
required
Moneda del cargo. Valores válidos: COP, USD.
description
string
required
Descripción del cargo. Máximo 255 caracteres.
approve
boolean
Solo en modo test. Controla si el cargo se aprueba (true) o se rechaza (false).
Este parámetro es obligatorio en modo test. Si no se envía, el endpoint retorna 422 sin crear el cargo.

Flujo de aprobación (modo live)

curl https://api.onepay.la/v1/customers/session/charges \
  -X POST \
  -H "Authorization: Bearer sk_test_xxx" \
  -H "X-Customer-Token: 12|a1b2c3d4e5f6..." \
  -H "Content-Type: application/json" \
  -d '{
    "payment_method_id": "bb02b2fd-154c-4c90-9fdf-cec3a0b25cf5",
    "amount": 50000,
    "currency": "COP",
    "description": "Pago mensualidad marzo",
    "approve": true
  }'
{
  "charge_id": "9e02966f-2ddf-4ee7-a391-5b5b7653e232",
  "status": "in_progress",
  "message": "Cargo aprobado en modo prueba."
}