Guías
Cobrar una vez con enlace de pago
Crea una sesión y envía checkout_url. El comprador paga en PayForce. Tú marcas el pedido cuando llega payment.succeeded.
curl -X POST https://api.payforce.co/api/v1/sessions \
-H "Authorization: Bearer pf_live_…" \
-H "Content-Type: application/json" \
-d '{
"amount": 4500,
"currency": "eur",
"description": "Reserva 18 septiembre",
"customer_email": "ana@ejemplo.com"
}'Copia checkout_url en el email o en el botón «Pagar». No confirmes el cobro solo porque el cliente volvió a success_url: espera el webhook.
Suscripción recurrente por SEPA
Primero crea o localiza al cliente. Luego crea la suscripción. El estado inicial es PENDING_CARD hasta que el cliente firma el mandato (en SEPA) o guarda la tarjeta.
curl -X POST https://api.payforce.co/api/v1/customers \
-H "Authorization: Bearer pf_live_…" \
-H "Content-Type: application/json" \
-d '{ "name": "Ana López", "email": "ana@ejemplo.com" }'
curl -X POST https://api.payforce.co/api/v1/subscriptions \
-H "Authorization: Bearer pf_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: sub-ana-2026" \
-d '{
"customer_id": "cus_01HX8",
"amount": 2900,
"currency": "eur",
"interval": "month"
}'En el dashboard, activa SEPA Direct Debit en la cuenta. Envía al cliente el enlace de alta de mandato (payment link o checkout en modo suscripción). El primer cargo se intenta en la fecha de cobro. Si el banco lo devuelve, el registro pasa a impago.
Checkout embebido en tu web
Crea la sesión de widget. Monta esa URL en un iframe o redirige a ella.
curl -X POST https://api.payforce.co/api/v1/checkout/sessions \
-H "Authorization: Bearer pf_live_…" \
-H "Content-Type: application/json" \
-d '{ "amount": 1990, "currency": "eur", "mode": "payment" }'{
"id": "cs_01HX8EMBED",
"object": "checkout_session",
"url": "https://www.payforce.co/checkout-widget/cs_01HX8EMBED",
"client_secret": "pi_3Sabc_secret_xyz",
"status": "open",
"expires_at": "2026-09-11T16:00:00.000Z",
"mode": "payment",
"created_at": "2026-09-11T14:10:00.000Z"
}<iframe
src="https://www.payforce.co/checkout-widget/cs_01HX8EMBED"
title="Pagar"
style="width:100%;min-height:480px;border:0;border-radius:12px"
></iframe>También puedes usar la clave pública pf_pk_live_ en el snippet del Dashboard → Desarrolladores (data-payforce-key) para montar el formulario sin iframe a página completa.
Recuperar un impago
Un impago aparece cuando falla un recibo SEPA o una cuota. En el dashboard, abre Impagos. Tienes tres acciones habituales:
- Generar un enlace de cobro (cuota + recargo, si lo tienes activo).
- Reintentar el cargo sobre el mismo mandato o tarjeta.
- Marcar como pagado si el cliente te pagó fuera (transferencia, efectivo).
El enlace de recuperación es un payment link más. Cuando el cliente paga, llegapayment.succeeded y el impago queda cerrado. No borres el registro a mano: así el dunning no vuelve a avisar.
