Rentalbuddy

Customer can't pay: card declined, checkout error or charged but no booking

16 min read

A customer is trying to book, the payment does not go through, and quite possibly they are standing at your location right now. This page explains what the customer is seeing, what it means, where to check what happened, and how to get them paid and booked anyway.

If you just need the rescue, jump to Take the payment another way below.

First check: one customer, or everyone?

  • Only one customer fails while others pay fine: the problem is almost always their card, their bank or their approval step (3D Secure). See Card declined, 3D Secure and bank approvals.
  • Everyone fails, or the checkout shows an error before the payment form appears: the problem is on your side — usually the Stripe connection or the payment methods in Stripe. See "The payment could not be started" and the table of other messages below it.
  • Only cheap bookings fail (a very low price, or a large discount): the total is below Stripe's smallest online payment. See "This amount is too small to pay online".
  • "Almost every day someone calls who couldn't book": open your Stripe Dashboard and look at the failed payments. If most of them are failed or unfinished 3D Secure approvals, customers are giving up at their bank's approval step, not failing in Rentalbuddy. That is common with foreign cards and on phones.

What the customer sees at the payment step

When the customer finishes the Checkout step and continues, Rentalbuddy creates their booking with payment status Pending, holds the equipment for them, and opens the payment step. Where they pay depends on your Payment option setting (see the guide on payment methods):

  • In the booking window — the payment form opens inside the booking window on your website. At the top is a countdown labelled Finish in: in minutes and seconds.
  • On Stripe's payment page — the customer's browser leaves your website for a separate payment page, and comes back to your booking page when the payment is done.

The payment form itself — card fields, wallet buttons, the pay button and decline messages — comes from Stripe. If the card is declined, Stripe shows the reason in the form, and the customer can correct the details, try another card or pick another method as long as the time has not run out.

"The payment could not be started"

The customer's message: usually "The payment could not be started. Please try again or contact the location." when they press to go to payment, even though the time is free. If Stripe itself refused to set up the payment, the customer sees "The payment could not be started. Please check your details and try again, or contact the location." Both appear in the language the customer is booking in. When no explanation reaches the booking window, for example because the connection dropped, the customer sees the older wording "We are sorry, it was not possible to create a booking for the current time".

The same messages can also appear when a customer extends or moves a booking, or pays the rest of a booking on their unlock page.

All of these mean the payment could not be set up, not that the time is taken. Most often the cause is Stripe:

  • Stripe is not connected to your account, or the connection was never finished.
  • Stripe is not accepting card payments for your account, for example because Stripe still needs information from you.
  • Stripe refused to create the payment for another reason.

What to check, in order:

  1. Home — "No location can take bookings until payments are set up." or a Stripe needs your attention notice means Stripe is not ready. Follow the guide on connecting Stripe.
  2. Settings → Payments — check the status under Online payments and read any notice from Stripe there; Complete at Stripe takes you to what is missing.
  3. Your Stripe Dashboard — look for tasks or messages from Stripe asking for more information.
  4. If you do not want online payment at all, switch on Disable Stripe Payments on the same tab (see the guide on connecting Stripe for what that does).

Each failed attempt of this kind leaves a booking with Status Canceled and payment status Expired, which is hidden from your Bookings list. No money was taken, but the unit stays held for about seven minutes after the attempt, so a customer who retries straight away may briefly find it taken.

If Stripe is connected and ready and the message still appears, contact support with the time of the attempt and the location.

Other messages at the same moment

The customer sees What it means What to do
"This amount is too small to pay online. The smallest amount that can be paid online is …" (or only "This amount is too small to pay online.") The total costs something but less than Stripe's smallest online payment for your currency. See "This amount is too small to pay online" below.
"Online payment is not available right now. Please contact the location to complete your booking." Stripe had no payment method to offer: card payments are switched off in your Stripe account, or no enabled method takes your currency. A red notice also appears on Home and on Settings → Payments. Turn card payments back on in Stripe (see the guide on payment methods). Book the waiting customer yourself and take the payment another way (see below).
"The payment could not be loaded. Check your connection and try again." The payment form could not load in the booking window, for example because of a dropped connection or something in the browser blocking Stripe. Ask the customer to reload and try again, on another network or browser if needed.
"What you selected is no longer available for this time. Please choose another time." The product or time was no longer available when they pressed to pay — often someone else took the last unit a moment earlier. Ask them to pick another time or product. If nothing can be booked, see the guide on why customers can't book anything.
"The price of your booking has changed. Please refresh the page and try again." The price in the customer's booking window no longer matches the current price, for example because prices were changed while their window was open. Ask them to refresh the page and book again.
"Account is disabled: …" (still in English) Your Rentalbuddy account is not taking bookings. Contact Rentalbuddy support.

When the payment is refused because the amount is too small or no payment method is available, nothing stays held: either no booking is made at all, or it is cancelled at once and the unit is free again straight away.

"This amount is too small to pay online"

Stripe has a smallest amount it accepts for one payment, and it depends on your currency: for example 3 SEK, 3 NOK, 2.50 DKK, 0.50 EUR, 0.50 USD or 0.30 GBP. Your figure is shown on Settings → Payments → Online payments. Rentalbuddy checks this before the payment starts:

  • At Checkout (rentals and events), a total above 0 but below the minimum shows "This amount is too small to pay online. The smallest amount that can be paid online is …", and the button to continue stays greyed out.
  • The same message appears when a customer extends a booking, moves it to a time that costs more, or pays the rest of a booking on their unlock page, and the amount due is below the minimum.
  • No booking is made and nothing is held, so you won't find the attempt in Bookings or in Stripe, and Rentalbuddy doesn't notify you.

A total of exactly 0 is always fine. The check doesn't apply when Disable Stripe Payments is on, to bookings you create yourself in the admin, or to test bookings.

Typical causes are a test price such as 1 kr, or a promo code of 90–99 % on a cheap booking. Raise the price, use a 100 % code when the booking should be free, or book it for the customer and register the payment as Manual. The admin also warns you: price fields show "Bookings that total less than … cannot be paid online." when a price is below the minimum, and promo codes of 90–99 % remind you to use 100 % for free bookings.

Card declined, 3D Secure and bank approvals

Rentalbuddy does not decline anyone. The decision is made by Stripe and, most of the time, by the customer's own bank. The common reasons:

What happened What to tell the customer
3D Secure / bank approval failed or was not completed ("authentication failed", "3DS not actioned") Their bank asked them to approve the payment, usually in their banking app or with BankID, and it was not approved. Ask them to try again and complete the approval step with the banking app ready. Very common with European cards.
The bank declined the charge ("card declined") Only their bank knows why — often insufficient funds, a blocked card, or the bank being suspicious of an online payment (foreign cards especially). They should try another card or method, or contact their bank.
Expired or mistyped card details Re-enter the details, or use another card. This includes an expired card saved in Stripe's Link — they can enter the card by hand instead.
The time ran out Not a decline at all — they were too slow, often because a bank approval stalled. Just start again.

Nobody can override a bank's decline, and neither you nor Rentalbuddy can see the bank's reason beyond what Stripe shows. Retrying with another card or method is almost always the fastest fix. If the same customer fails every time while others pay fine, it is their card or bank.

The seven-minute hold, and what happens when it runs out

The moment the customer continues to payment, their booking is created with payment status Pending. That pending booking holds the equipment so nobody else can take it while they pay.

The hold lasts about seven minutes from that moment. If no successful payment has arrived by then:

  • The booking is marked Canceled with payment status Expired.
  • The equipment is released, so the time is bookable again — by this customer or anyone else.
  • The unfinished Stripe checkout is closed as well, so it can no longer be paid.
  • No money has moved. An expired checkout never charges the customer.

With In the booking window, the Finish in: countdown shows the same time. When it reaches 00:00, the customer is taken back to the Checkout step and the hold is released straight away. If the customer presses the back arrow on the payment step, the hold is also released at once. If they simply close the window, the hold runs out on its own.

With On Stripe's payment page there is no countdown in your booking window, but the same seven minutes apply. If the customer comes back to your booking page after the time ran out, their cart is restored with the message "Your payment failed, please try again", and they can start a fresh attempt.

No codes until the payment has gone through. A booking whose online payment is Pending, Expired or Failed gives the customer no unlock and no PIN codes. A customer who cancels a Swish payment is taken back to the checkout. If Stripe has just completed the payment, the customer's unlock page waits up to about 10 seconds for the confirmation.

Two practical consequences:

  • An abandoned checkout blocks a unit for at most about seven minutes. If a unit looks taken right after a failed attempt, wait a few minutes and it frees itself. Several customers in checkout at once can make a location look fully booked for a moment.
  • A failed attempt is not listed. Bookings whose payment is Pending or Expired are hidden from your Bookings list. To confirm the customer really reached the payment step, look for the attempt in your Stripe Dashboard.

Slow payments: 3D Secure, BankID and Klarna

Payments that need an approval outside the payment form — 3D Secure in the banking app, BankID, Klarna — take longer, and the seven minutes keep running while the customer is away approving.

  • Ask the customer to have their banking app or Klarna ready before pressing pay.
  • If the time runs out while they are approving, the payment cannot be completed on that attempt. They start again.
  • Rare edge case: a payment can complete at the very moment the hold runs out. The customer is then charged, but the booking is already cancelled and the equipment released. See Charged but no booking below.

Charged but no booking

The customer says they paid — they have a charge on their card or even a confirmation — but the booking shows Canceled, or you cannot find it.

  1. Search Bookings for the customer's name. Include cancelled bookings (switch off Hide cancelled & expired).
  2. Open the booking. If the Payment section shows a Stripe line with status Paid while the booking's Status is Canceled, the payment arrived just as the hold ran out.
  3. In your Stripe Dashboard, the payment's description is the Rentalbuddy booking ID; you can paste it into the Bookings search box to find the booking.

Then either refund the payment and ask the customer to book again, or create a new booking for them yourself. Both ways are described step by step in the guide on refunding or cancelling a booking. Before charging a customer again, always check the booking and Stripe first — if the payment succeeded, do not take it twice.

If customers are regularly charged without getting a booking, that is not the rare timing case — contact support, as it can point to an older Stripe connection that no longer reports payments to Rentalbuddy.

Customers thrown back to the start, or paying twice

If customers pay and are then sent back to the start of the booking window, believe the booking failed and book again, the booking button script is often on your website page twice. See the guide on installing the booking button. Refund the duplicate booking as described in the guide on refunding or cancelling a booking.

Where to check what happened

  1. The booking. Open Bookings (cancelled bookings are shown unless Hide cancelled & expired is on). A booking that was paid shows Paid or Partially paid under Payment Status. A customer who "couldn't pay" usually left an Expired booking, and bookings whose payment is Pending or Expired are not shown in your list, so finding no booking at all is normal after a failed payment.
  2. The booking's Payment section. If the customer got as far as submitting a payment, a Stripe line may be listed with its Payment ID and a status such as Processing or Canceled — an attempt that did not take money. Only Paid means money was taken.
  3. Your Stripe Dashboard. The decline reason and the 3D Secure outcome are on the payment's page in Stripe. Search for the Payment ID from the booking. If there is nothing in Stripe, the customer never submitted a payment — an abandoned or timed-out checkout, one of the checkout messages described above, or an amount too small to pay online.

Rentalbuddy itself does not show decline reasons. The diagnosis of a declined card always lives in Stripe.

Take the payment another way

Option 1 — let them retry. Fastest when the problem was 3D Secure or a typo. Ask them to book again with their banking app ready, or use a different card or payment method.

Option 2 — book it for them and send a payment link, or take the money yourself. Create the booking in the admin (see the guide on editing, moving or cancelling a booking), then on the booking:

  1. In the Payment section, press New payment. The Add payment box opens.
  2. Enter the Amount — the box shows the Amount left to pay.
  3. Under Payment method:, choose:
    • Payment link Stripe — "Payment link is sent to the customer's email". The customer pays online on their own phone, and the payment lands on the booking like any Stripe payment. Good when the card works but the checkout kept timing out. Stripe's minimum applies here too: with an Amount below it, the box says "The smallest amount that can be paid online is … Choose Manual to register the payment yourself." and Register Payment stays greyed out.
    • Manual — you took the money yourself. Choose the Payment type (for example Pay On Site, Manual Swish, Manual Card Payment or Manual Invoice), set the Status, and add a Payment note if you want.
  4. Press Register Payment.

A manual payment only records money you collected — cash, your own card terminal, your own Swish. Rentalbuddy does not move any money for manual payments.

Common questions

Why does checkout say "The payment could not be started" or "it was not possible to create a booking for the current time" when the time is free? Both mean the payment could not be set up, most often because Stripe is not connected or not accepting card payments. Check Home, Settings → Payments and your Stripe Dashboard.

The checkout tells my customer the price of their booking has changed. Prices changed while their booking window was open. Ask them to refresh the page and book again.

Are the checkout error messages in my customer's language? Yes, they appear in the language the customer is booking in. Only "Account is disabled: …" is still in English.

Can a customer who didn't finish paying still get their PIN code? No. A booking whose online payment is Pending, Expired or Failed gives no unlock and no PIN codes. The customer has to complete a new booking, or you book it for them and take the payment another way.

A customer says the checkout told them the amount is too small to pay online. The total was above 0 but below Stripe's smallest payment for your currency (3 SEK, for example). Check the price and any promo code; a free booking needs a total of exactly 0.

Customers get "Online payment is not available right now". No payment method is switched on in your Stripe account for your currency, usually because cards were switched off. Turn card payments back on in Stripe; the red notice on Home has an Open Stripe button.

Was my customer charged for the failed attempt? No. A declined, abandoned or expired checkout takes no money. Only a Stripe line with status Paid on the booking means money was taken.

I can't find the customer's failed booking in Bookings. That is normal: bookings whose payment is Pending or Expired are not shown in your Bookings list. Look for the attempt in your Stripe Dashboard instead.

How long does an abandoned checkout block the equipment? About seven minutes from when the customer continued to payment. Then the booking expires and the unit is released automatically.

Can I see why the card was declined? Not in Rentalbuddy. If the attempt reached Stripe, the reason is on the payment in your Stripe Dashboard.

Foreign customers keep failing to pay — what's wrong? Usually their bank's 3D Secure approval or a bank decline of a foreign online payment. Check the failed payments in Stripe, and offer a payment link or a manual payment if they are on site.

The customer paid exactly as the booking expired — now it's cancelled but paid. Refund the payment and let them book again, or create a new booking for them. See the guide on refunding or cancelling a booking.

Payments fail for everyone. That is not a customer problem. Check the Stripe connection under Settings → Payments and any tasks in your Stripe Dashboard.

Klarna or TWINT doesn't show up, only card. That is not a failed payment — see the guide on payment methods: those methods need Payment option set to On Stripe's payment page.

Related guides