Online Payment Links
Send your guests a secure online payment link so they can pay for their booking by card. Card payments are processed through Stripe and recorded automatically in hejGuide -- no manual entry needed. If you haven't connected Stripe, hejGuide instead sends a bank-transfer request with your bank details.
Prerequisites
Online card payments run through Stripe. Connect it once in Account settings → Payment details — it's a Pro-plan feature and only the account owner can connect it.
- Stripe connected — the link takes the guest to a hosted Stripe checkout to pay by card.
- No provider connected — the "link" becomes a bank-transfer request: the guest gets an email with your IBAN and a payment reference. You then record the payment manually once the money arrives.
TIP
Mollie is not a provider you can connect in hejGuide — Stripe is the only online-payment integration. See Connecting Stripe.
How payment links work
Understanding the technical flow helps you troubleshoot issues and explain the process to guests:
- You create the request -- On the booking's Payments tab, you specify the amount and a due term (in days) and click Send. hejGuide generates a unique, secure payment token for this transaction.
- Guest receives an email -- hejGuide emails the guest the payment link. The email shows the property name and the amount due. (With no Stripe connected, the email contains your bank details instead of a Pay-Now button.)
- Guest clicks and pays -- The link takes the guest to a secure Stripe checkout page. hejGuide does not handle card numbers -- that is all managed by Stripe's certified payment infrastructure.
- Stripe processes the payment -- The guest enters their card details and confirms. Stripe processes the transaction.
- Webhook confirms payment -- Once the payment succeeds, Stripe sends a webhook back to hejGuide, which automatically records the payment on the booking.
- You're notified -- The guest sees a confirmation page, and the request status flips to Paid on the Payments tab.
For a card payment, this flow typically takes under a minute from the guest's perspective. A bank-transfer request is settled once you record the incoming transfer yourself.
Sending a payment link
- Open the booking and go to the Payments tab.
- Click "Send Payment Link".
- Enter the amount the guest should pay. This can be:
- The full outstanding balance.
- A deposit amount (e.g., 30% of the total).
- A specific amount for an additional charge (add a description to mark it as an extras request).
- Optionally set how many days the link stays valid (defaults to the listing's payment term).
- Click Send.
The guest receives the payment email within moments. hejGuide also shows you the link so you can copy and share it manually if needed.
TIP
You can send multiple payment links for the same booking. This is the standard workflow for deposit + balance collection: send a deposit link at booking time and a second link for the balance closer to check-in.
Concrete example: deposit + balance via payment links
A guest books a stay totalling EUR 1,200. You want to collect a 30% deposit now and the balance 14 days before check-in.
Step 1 -- Send deposit link
- Open the booking, go to Payments, click "Send Payment Link".
- Enter EUR 360 as the amount.
- Send the link.
The guest receives an email, clicks the link, and pays EUR 360 by card on Stripe checkout. The payment is recorded automatically. Balance remaining: EUR 840.
Step 2 -- Send balance link
14 days before check-in, you return to the same booking:
- Click "Send Payment Link" again.
- Enter EUR 840 as the amount.
- Send the link.
The guest pays the balance via credit card. The payment is recorded automatically. Balance remaining: EUR 0. The booking is now fully paid.
Both payment links and their statuses remain visible in the payment history on the Payments tab.
Payment methods
Card payments go through Stripe, which provides broad global coverage:
- Credit cards (Visa, Mastercard, American Express, Discover)
- Debit cards
- Apple Pay and Google Pay (if enabled)
- SEPA Direct Debit (Europe)
- iDEAL, Bancontact, and other local methods (if enabled)
- Additional methods depending on your Stripe dashboard configuration
TIP
The payment methods your guests see at checkout are controlled by your Stripe account settings, not by hejGuide. To enable or disable specific methods, log in to your Stripe dashboard.
If no provider is connected, the request is sent as a bank transfer instead — the guest receives your bank details (account holder, IBAN, BIC, amount, and reference) by email and pays you directly.
Payment request statuses
Each payment request you send has one of these statuses, visible on the booking's Payments tab:
| Status | Meaning |
|---|---|
| Pending | The request is active and unpaid -- the guest hasn't paid yet (this covers both newly-sent and overdue requests). |
| Paid | The guest completed the payment. The amount has been recorded on the booking. |
| Expired | The validity period elapsed without payment. |
| Cancelled | You (or the system) cancelled the request -- e.g. a duplicate stay request once another one was paid. |
Sending a reminder (escalation)
There is no per-link "Resend" in hejGuide. Instead, you send a reminder on the existing pending request, and the message escalates each time you do:
- Open the booking and go to the Payments tab.
- On the pending request, send a reminder.
The wording steps up automatically: request → reminder → overdue. Sending the first reminder upgrades the email from the initial request to a friendly reminder; sending again moves it to an overdue notice. The same payment link/token is reused throughout — you never stack a second open request for the same balance.
TIP
Because the reminder reuses the existing request, you can't create a second open request for the same outstanding balance. Send a reminder on the one that's already open instead.
When a payment request expires
Each request has a validity period (the due term you set, or the listing default). If it lapses, the status shows Expired and the guest's link no longer works.
You don't need to recreate it: when you send a reminder on an expired request, hejGuide extends it by 7 days and reactivates the link. The reminder email goes out with the refreshed expiry.
Automatic recording and reconciliation
When a guest completes an online payment:
- The payment is automatically recorded on the booking's Payments tab.
- The booking's balance remaining updates immediately.
- The request status changes from Pending to Paid.
- You do not need to manually record online payments. Doing so would create a duplicate entry.
WARNING
Never manually record a payment for an amount that was paid through a card payment link. Stripe's webhook handles this automatically. If you see a request with status "Paid", the payment has already been recorded. (For a bank-transfer request, you do record the payment yourself once the money arrives — there's no provider to confirm it.)
Integration with automated emails
If you use the Guest Journey to send automated payment reminders, those emails can include online payment links. This creates a fully automated deposit collection flow:
- Guest makes a booking.
- Automated email sends a deposit payment link.
- Guest pays through the link.
- Payment is recorded automatically.
- Before check-in, automated email sends a balance payment link.
- Guest pays the balance.
The entire payment collection process can run without manual intervention.
Troubleshooting
Guest says the payment page shows an error
- Check if the request has expired on the Payments tab. If expired, send a reminder to extend it by 7 days.
- Verify your Stripe account is active and in good standing.
Payment was made but not recorded in hejGuide
- This is rare but can happen if Stripe's webhook was delayed. Wait a few minutes and refresh the booking.
- Check your Stripe dashboard to confirm the payment was processed on their side.
- If the payment shows as successful in Stripe but not in hejGuide, contact support.
Guest wants to pay with a method not available
- Card methods are configured in your Stripe dashboard, not in hejGuide. Enable the desired method there.