Skip to main content
La idempotencia permite reintentar una operacion cuando hay timeouts, errores de red o procesos duplicados sin crear multiples objetos de negocio. SimplePay acepta el header Idempotency-Key en operaciones write.
request

Cuando usarlo

Usalo en:
  • POST /v1/hosted-checkout/sessions
  • POST /v1/payment-links
  • POST /v1/refunds
  • POST /v1/products
  • POST /v1/customer-hub/customers y demas writes /v1/customer-hub/*
  • POST /v1/bookable-payments/setup
  • POST /v1/bookable-payments/holds
  • POST /v1/bookable-payments/holds/{id}/payment
  • POST /v1/bookable-payments/bookings
  • Cualquier create, update o lifecycle mutation Bookable.

Buenas keys

Malas keys

Evita keys aleatorias si tu backend puede reintentar el mismo trabajo desde cero.
bad
Usa keys deterministicas derivadas de tu entidad de negocio.

Patron recomendado

1

Crea una entidad local pendiente

Por ejemplo orders.status = pending_payment.
2

Genera una key deterministica

Usa el ID local y una version de operacion: order_1001_checkout_v1.
3

Llama SimplePay

Incluye Idempotency-Key y guarda el ID que responde SimplePay.
4

Reintenta con la misma key

Si hay timeout, repite exactamente la misma operacion con la misma key.
idempotent-checkout.ts
No reutilices la misma key para operaciones semanticamente distintas. Si cambias monto, producto o cliente, incrementa la version de la key.
Last modified on July 1, 2026