No. A customer returning to your site after checkout is not proof that their payment succeeded. Keep the order pending until your server verifies the payment provider’s eligible paid status. Use the return page to reassure the customer and show progress; do not let a redirect alone trigger fulfillment, grant access, release goods, or mark the order paid.
Why a return URL does not confirm payment
A return URL records a browser navigation: the customer reached a page after leaving checkout. It does not independently establish what happened to the payment. The customer may return before an asynchronous payment settles, or may reach the URL without a confirmed successful payment.
As an Amazon Associate I earn from qualifying purchases.
Payment providers expose payment state separately from the checkout flow’s navigation or completion state. For example, Stripe Checkout distinguishes a Session’s status from its payment_status, and identifies payment_status as the field to use when deciding whether to fulfill an order. A completed Session can still have an unpaid payment status when funds are not yet available. Stripe Checkout Session object
Recommended Free Tools
Keep the order pending until the server verifies payment
1. Create a pending order before redirecting
Create and persist the order or checkout attempt on your server before sending the customer to the provider. Associate the order with the provider’s Session or payment identifier so a later status check or provider notification can be matched to the right order. The exact database schema is an application choice; the important point is to have a durable pending record before checkout leaves your site.
#1 Best Overall
- With Square Terminal, you can ring up sales, accept payments, and print receipts, all with one device. Use it at the counter or ring up customers anywhere in your store.
- Accept all major credit and debit cards and pay one low rate with no hidden fees and no long-term contracts.
- Process chip cards in just two seconds.
- Get your money as soon as the next business day.
- Use it cordlessly with the built-in battery, designed to last all day.
2. Treat the return page as a progress screen
On return, show a neutral message such as “We’re checking your payment” unless your server can verify that the provider reports an eligible paid state. If useful, the page can request the status from your server using the provider’s Session or payment ID. Do not trust a query parameter, browser redirect, or client-side success message as the sole authority for changing the order’s durable state.
3. Confirm the provider’s status on the server
Process provider notifications on your server and transition the order only when the status and event appropriate to that payment method confirm success. Keep fulfillment separate from the return-page code. Make state transitions and fulfillment safe to repeat: providers may retry notifications, and application logic should avoid fulfilling the same order twice.
Rank #2
- Use the, easy-to-use, and customizable POS to get started.
- Accept contactless payments, chip cards, Apple Pay, and Google Pay from anywhere, with improved connectivity, extended battery life, and enhanced security. Pay one low rate for every tap or dip.
- No long-term commitments or contracts, no monthly fees- and with offline payments, keep taking payments for up to 24 hours.
- Safely and securely accepts payments anywhere. Plus, get data security, 24/7 fraud prevention, and payment-dispute management at no extra cost.
- Use the, easy-to-use, and customizable POS to get started.
Stripe Checkout: check payment status and handle delayed methods
Stripe Checkout exposes Session status values such as open, complete, and expired, separately from payment_status values such as paid, unpaid, and no_payment_required. Stripe says to use payment_status when deciding when to fulfill. A Session can be complete while payment is still unpaid, including when a delayed payment method has not resolved yet. Stripe Checkout Session object
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
For delayed payment methods, do not fulfill merely because you received checkout.session.completed. Also handle the relevant asynchronous outcome events: checkout.session.async_payment_succeeded and checkout.session.async_payment_failed. Verify the resulting Session payment state before acting. Leave the order pending while the result is unresolved; if payment fails, keep it unpaid or failed and provide a retry or support path rather than marking it paid. Stripe Checkout fulfillment
Rank #3
- With Square Handheld, you can accept payments, take tableside orders, or scan barcodes anywhere. With a slim design and comfortable grip, the POS is easy to carry in your palm or pocket. Square Handheld is designed to withstand water splashes and dust. Add an optional protective case for accidental drops. A long-lasting battery and offline payments let you keep selling.
- Slim, pocketable, and lightweight so you can accept payments wherever your customers are.
- Take tableside orders, bust lines, or use the built-in barcode scanner, all with one sleek device.
- A battery that can power through your shift and offline payments let you keep selling, even if your internet is down.
- Accept all major credit and debit cards and pay one simple rate with no hidden fees and no long-term contracts required.
Checkout.com Flow: wait for the payment-status webhook
Checkout.com Flow describes redirect-based asynchronous and synchronous payment flows in which the customer may be sent to a success or failure URL. Its guidance is to wait for the payment-status webhook before fulfillment: “Wait for the webhook before you start your order fulfillment process.” The return route is useful for the customer experience, but the redirect itself is not the fulfillment signal. Checkout.com Flow redirect flow
Checkout.com also documents an optional server-side payment-details lookup using the cko-payment-id supplied in the return URL. That lookup can help the page display current status, while webhook-driven confirmation remains the stated fulfillment guidance. Checkout.com Flow redirect flow
Rank #4
- The Clover Compact and Clover Mini /Station sync with each other through the Clover Dashboard and cloud-based network. This allows you to manage transactions, track sales, and access business data across both devices seamlessly. Plug in, not battery/mobile. Requires New Processing account through Powering POS. (US, PR, USVI). CANNOT be used with a different Processor. Rate match guarantee. Contact us for questions
Apply the same rule with other providers
Stripe’s event names and Checkout.com’s Flow guidance are provider-specific examples, not universal conventions. For your chosen provider, payment method, account, and region, check the current documentation for:
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →- Which server-side event or status represents final payment success.
- Whether a payment method can settle asynchronously and what success and failure events apply.
- How to retrieve the authoritative payment status on your server.
- Whether a return-page status lookup is available and what identifier it requires.
- What state to retain and what customer action to offer when payment is delayed or fails.
Keep the order pending until that provider-specific confirmation arrives. A customer’s return can support a helpful status page, but it should not change the order to paid by itself.
Quick Recap
Best Value
- A complete countertop point of sale — Combine dual responsive touchscreens, built-in POS software, and durable hardware for a fast, reliable checkout experience.
- Serve customers faster — Run smoothly through busy shifts, complex menus, and big orders with high-speed processing, memory, and responsive touchscreen displays.
- Accept every way they pay — Take all major cards at one simple rate, with no hidden fees or long-term contracts. Receive funds as soon as the next business day.
- Handle real-world demands — Resist everyday spills, dust, and wear with a durable, IP54-rated design.
- Stay reliable through every rush — Maintain strong connectivity and consistent performance through your busiest hours.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




