A guest’s card is declined after booking, but the reservation stays on your calendar as confirmed and unpaid.
Why this happens. Some PMS booking APIs, including Guesty’s legacy booking engine API, confirm the reservation first and attempt the charge afterward. A declined card can leave a confirmed, unpaid reservation blocking your calendar. PMS-side payment automations such as ‘collect 100% at pre-confirmation’ do not close this gap for bookings that arrive through the booking engine API.
How to prevent it. Two layers address this:
- Pre-authorization with a 3DS challenge at checkout. The card is authorized and the guest completes their bank’s verification screen before any reservation is created, so a bad card fails on the checkout screen rather than on your calendar. To enable this, enter your Stripe secret key under HomeRunner Settings, then Payment Providers, alongside the publishable key.
- Automatic cancellation of unpaid reservations. Bookings that remain unpaid past a set window (for example, 72 hours) are cancelled, and the dates reopen automatically. Contact support to have auto-cancellation enabled for your account and to choose the window.
A PMS-side workflow that watches for open balances after booking is a useful third layer for partial payments. Only the checkout-level pre-authorization stops the reservation from being created in the first place.
Checking that pre-authorization works. Run a test booking with a zero-balance test card. Before you enable pre-authorization, the reservation is confirmed with no charge scheduled. After you enable it, the checkout should fail and nothing should land on your calendar.