Payment methods
/v1/payment-methods — métodos de pago tokenizados sobre tu cuenta de
Wompi. Ver también el concepto Método de pago.
El objeto PaymentMethod
{
"id": "pm_01HZXK7QJ5M8Z9X2R3TVQ7A1B2",
"customer_id": "cus_01HZXK7QJ5M8Z9X2R3TVQ7A1B2",
"type": "CARD",
"brand": "VISA",
"last4": "4242",
"exp_month": 12,
"exp_year": 2029,
"is_default": true,
"state": "available",
"created_at": "2026-08-24T15:00:00Z"
}| Campo | Tipo | Descripción |
|---|---|---|
id | string | Identificador único |
customer_id | string | Cliente dueño del método de pago |
type | string | Actualmente solo CARD |
brand | string | Marca de la tarjeta (VISA, MASTERCARD, …) |
last4 | string | Últimos 4 dígitos |
exp_month | integer | Mes de vencimiento |
exp_year | integer | Año de vencimiento |
is_default | boolean | Si es el método por defecto del cliente |
state | string | pending · available · verification_pending |
created_at | datetime | Fecha de creación |
Obtener configuración de tokenización
GET /v1/payment-methods/setup
Devuelve la llave pública de Wompi de tu cuenta, los acceptance tokens y la URL de tokenización. Ningún secreto sale del servidor.
curl https://api.rekurra.dev/v1/payment-methods/setup \
-H "Authorization: Bearer rk_live_XXXXXXXXXXXXXXXXXXXXXXXX"Response — 200 OK
{
"public_key": "pub_prod_XXXXXXXXXXXXXXXXXXXX",
"acceptance_token": "eyJhbGciOi...",
"tokenization_url": "https://production.wompi.co/v1/tokens/cards"
}Crear un método de pago
POST /v1/payment-methods
Request body
{
"customer_id": "cus_01HZXK7QJ5M8Z9X2R3TVQ7A1B2",
"type": "CARD",
"token": "tok_test_1234_abcd",
"acceptance_token": "eyJhbGciOi...",
"accept_personal_auth": "eyJhbGciOi...",
"set_default": true
}| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
customer_id | string | Sí | Cliente al que pertenece el método |
type | string | Sí | Tipo de método; actualmente CARD |
token | string | Sí | Token devuelto por Wompi al tokenizar la tarjeta |
acceptance_token | string | Sí | Token de aceptación de términos de Wompi |
accept_personal_auth | string | Sí | Token de autorización de datos personales de Wompi |
set_default | boolean | No | Si se marca como método por defecto del cliente |
curl -X POST https://api.rekurra.dev/v1/payment-methods \
-H "Authorization: Bearer rk_live_XXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "cus_01HZXK7QJ5M8Z9X2R3TVQ7A1B2",
"type": "CARD",
"token": "tok_test_1234_abcd",
"acceptance_token": "eyJhbGciOi...",
"accept_personal_auth": "eyJhbGciOi...",
"set_default": true
}'Response
201 Created—PaymentMethodconstate: available.202 Accepted—PaymentMethodconstate: verification_pending(3DS pendiente).
Errores posibles
| Status | error.type | Causa |
|---|---|---|
400 | invalid_request | Campos faltantes o token mal formado |
404 | invalid_request | customer_id no existe |
422 | wompi_error | Wompi rechazó la verificación (micro-cobro fallido) |
Listar métodos de pago
GET /v1/payment-methods
Filtro opcional ?customer_id=, más paginación estándar.
curl "https://api.rekurra.dev/v1/payment-methods?customer_id=cus_01HZXK7QJ5M8Z9X2R3TVQ7A1B2" \
-H "Authorization: Bearer rk_live_XXXXXXXXXXXXXXXXXXXXXXXX"Obtener un método de pago
GET /v1/payment-methods/{id}
curl https://api.rekurra.dev/v1/payment-methods/pm_01HZXK7QJ5M8Z9X2R3TVQ7A1B2 \
-H "Authorization: Bearer rk_live_XXXXXXXXXXXXXXXXXXXXXXXX"Errores posibles
| Status | error.type | Causa |
|---|---|---|
404 | invalid_request | El método de pago no existe |
Marcar como método de pago por defecto
POST /v1/payment-methods/{id}/default
curl -X POST https://api.rekurra.dev/v1/payment-methods/pm_01HZXK7QJ5M8Z9X2R3TVQ7A1B2/default \
-H "Authorization: Bearer rk_live_XXXXXXXXXXXXXXXXXXXXXXXX"Eliminar un método de pago
DELETE /v1/payment-methods/{id}
curl -X DELETE https://api.rekurra.dev/v1/payment-methods/pm_01HZXK7QJ5M8Z9X2R3TVQ7A1B2 \
-H "Authorization: Bearer rk_live_XXXXXXXXXXXXXXXXXXXXXXXX"Errores posibles
| Status | error.type | Causa |
|---|---|---|
404 | invalid_request | El método de pago no existe |
409 | invalid_request | Es el único método de pago de una suscripción activa |