PayPal is a Pro online gateway using the Orders REST API. The customer returns from PayPal, while the server verifies capture and webhook events before the payment ledger is updated.
Configure
- Open Hotel Booking → Settings → Payments and find PayPal.
- Enable the method and choose Sandbox for rehearsal or Live for an approved production launch.
- Enter the matching app Client ID, Client Secret and Webhook ID.
- Register the displayed Browser return, Browser cancel and Webhook endpoint URLs in the same PayPal app. Subscribe to the checkout approval, reversal and capture events required by the screen.
- Save and verify the configured status.
Verify and recover
Use a PayPal sandbox buyer and future stay dates. Submit Book Now once, approve the order and follow the browser Return. The expected journey is Book Now → Payment → Booking Confirmation. Confirm the amount and currency match the saved booking and that the confirmation reflects captured, processing, failed or cancelled status from the ledger.
PayPal callbacks must be authenticated and idempotent. A browser return alone is not proof of settlement. If capture is processing, wait for the verified webhook and do not submit a second order. If the customer cancels, keep the booking record and use the visible recovery action when offered.
Never expose client secrets, webhook IDs, buyer credentials or order tokens in support material. Compare the redacted PayPal event and booking code when escalating a mismatch.