Desarrolladores
Referencia de la API
POST /payment/charge-saved

POST /payment/charge-saved

Cobra una tarjeta guardada sin intervención del cliente (cobro merchant-initiated, sin 3DS). Crea su propia transacción y devuelve el resultado en la misma llamada.

Auth: requiere x-wpay-key.

Request

CampoTipoRequeridoDescripción
card_keystringEl saved_card.key que guardaste al tokenizar.
amountnumberMonto a cobrar.
currencystringBOB (default) o USD.
descriptionstringNombre de la transacción (default Cobro de suscripción).
order_idstringTu identificador interno.

Response 201

{
  "status": "APROBADO",
  "reference": "WP-1784169095747-578AFA46",
  "cybersource_id": "7364298471236458210433",
  "auth_code": "831000",
  "card_last4": "1111",
  "card_type": "001"
}

status puede ser APROBADO o RECHAZADO — es el resultado final, no hay Step-Up en cobros merchant-initiated.

Errores

HTTPMensaje
400card_key y amount son requeridos
404Tarjeta no encontrada
400La tarjeta no tiene token de cobro
400Tarjeta bloqueada por política antifraude
400Error al procesar el cobro (o el mensaje del gateway)

Pruébalo

El simulador incluye una tarjeta demo con key C8F0D2A1B3E4F5A6B7C8D9E0 (o usa la que guardaste con save_card: true en /payment/process).

POST/payment/charge-saved⚡ Simulador — se ejecuta en tu navegador
Ver cURL equivalente (producción)
curl -X POST "https://api.wizpay.app/payment/charge-saved" \
  -H "x-wpay-key: wpk_sandbox_demo" \
  -H "Content-Type: application/json" \
  -d '{ "card_key": "C8F0D2A1B3E4F5A6B7C8D9E0", "amount": 99.9, "currency": "BOB", "description": "Renovación mensual Plan Pro", "order_id": "ORD-2001" }'