Bookable minimo
Para una integracion Scheduled Offer minima:Bookable completo
Para una plataforma madura:events
Contrato de estados
Tu plataforma recibe eventos SimplePay como
booking.confirmed; usa esos eventos como contrato publico de integracion.
Campos que conviene persistir
Para Bookable:event.idevent.typebooking.idbooking.statusbooking.paymentStatusbooking.eventTypeIdbooking.productIdbooking.resourceIdbooking.tenantCustomerIdbooking.startsAtbooking.endsAtbooking.quantitybooking.amountMinorbooking.currencybooking.simplepayCheckoutSessionIdbooking.simplepayCheckoutSessionId
event.idevent.type- Checkout Session ID
spcs_... - Payment Link ID
splink_..., si aplica - PaymentIntent ID
sppi_..., si aplica client_reference_idmetadata.order_ido equivalente- amount y currency esperados
No persistas secretos ni credenciales en tus tablas de eventos. Guarda
referencias, estados y snapshots no sensibles.
Deduplicacion
Tu tabla de eventos deberia tener una llave unica porevent.id.
schema.sql
dedupe.ts