[Skip to main content](#vessel-content)

#   Stripe Checkout: paid and confirmed order is set to “Cancelled” 24 hours later b

##

- **[totama](/forum/user/70635-totama "View totama's Profile")**
- [![totama's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/70635-totama "View totama's Profile") Topic Author
- [ Offline](/forum/user/70635-totama)

Less More

- Posts: 53
- Thank you received: 5
-
-

2 weeks 6 days ago [\#100000323](#100000323) by [totama](/forum/user/70635-totama "View totama's Profile")  *[Stripe Checkout: paid and confirmed order is set to “Cancelled” 24 hours later b](/forum/27-checkout/100000067-stripe-checkout-paid-and-confirmed-order-is-set-to-cancelled-24-hours-later-b#100000323 "-- HikaShop version -- : 6.7.1 -- Joomla version -- : 5.4 -- Browser(s) name and version -- : Firefox 158.0  Hello, We are testing credit card payments with Stripe Checkout (sandbox mode) in HikaShop, and we see the following problem: an order that was paid and set to “Confirmed” is later changed to “Cancelled”. Environment  &#42; Joomla 5.4  &#42; HikaShop Essential 6.7.1 &#91;2610202116&#93;  &#42; Stripe Checkout payment plugin, test/sandbox mode  What we see in the HikaShop order history  &#42; 2026-10-19 12:32 (server time): “payment notification was received with the state paid. Transaction: pi&#95;3USFkCHwuXBczTHH15IY23nP” → status changes to Confirmed.  &#42; 2026-10-20 12:28 (server time): “payment notification was received with the state expired. Session: cs&#95;test&#95;a12wLXY3rmwSAwgxz6dMlYmkAIwcA5MGhP8z0bjuu4nJsCJAFR2goQzn20” → status changes to Cancelled.  As a result, the digital product download is blocked, because the order status no longer allows it. What we see in the Stripe Dashboard (Events, sandbox) The Stripe Dashboard shows CEST time, which is 2 hours ahead of the HikaShop server time. The expired session above corresponds to the  event on Oct 20 at 2:28:34 PM CEST. Around each completed payment there is also a separate Checkout Session that was never paid and expired 24 hours later:  Expired session  Expired at (CEST)  cs&#95;test&#95;a1pu1YuDHhHUPm4EtB95UXZlElo42pCWf9EyeFn2VXwHSN867HqikxeTgR  Oct 20, 6:44 AM  cs&#95;test&#95;a12wLXY3rmwSAwgxz6dMlYmkAIwcA5MGhP8z0bjuu4nJsCJAFR2goQzn20  Oct 20, 2:28 PM  cs&#95;test&#95;a1kFcc96hOXHs33201NSMJUaBdsQwzAdrKsF673WEZ4O8Y7kMoHWO5rXuK  Oct 20, 6:03 PM  For example, the session cs&#95;test&#95;a1kFcc… (expired Oct 20, 6:03 PM) belongs to  according to its  . It was created about 1 minute before the payment completed on Oct 19 at 6:04 PM (session cs&#95;test&#95;a1BFWfN39…, payment pi&#95;3USJ37HwuXBczTHH1SY9BHpk). The expired session IDs differ from the sessions that were actually completed, so it looks like a second Checkout Session is created for the same order, and its expiry webhook sets the already confirmed order to Cancelled. What we would like to ask  &#42; Does the plugin create a new Checkout Session each time the customer reaches the payment step or returns to it? (Is it possible that two sessions are created for one order even without going back and forth?)  &#42; How should the plugin handle  for an order that is already paid and confirmed? In our case the status is overwritten.  &#42; Is the correct configuration to subscribe the webhook endpoint only to  and  ? Our current endpoint events: &#91;paste here what is selected in Stripe Dashboard → Webhooks&#93;.  &#42; Can you recommend a fix or patch (for example, ignoring  for orders that are already confirmed or shipped)?  We attach screenshots of the HikaShop order history and of the Stripe Events list. We can also provide the full order ID, the webhook configuration and debug logs if needed. Thank you for your help. Best regards, Dániel Metz metzdaniel.hu")* was created by *[totama](/forum/user/70635-totama "View totama's Profile")*

-- HikaShop version -- : 6.7.1
-- Joomla version -- : 5.4
-- Browser(s) name and version -- : Firefox 158.0

Hello,
We are testing credit card payments with Stripe Checkout (sandbox mode) in HikaShop, and we see the following problem: **an order that was paid and set to “Confirmed” is later changed to “Cancelled”.**
**Environment**

- Joomla 5.4
- HikaShop Essential 6.7.1 \[2610202116\]
- Stripe Checkout payment plugin, test/sandbox mode

**What we see in the HikaShop order history**

1. 2026-10-19 12:32 (server time): “payment notification was received with the state paid. Transaction: pi\_3USFkCHwuXBczTHH15IY23nP” → status changes to **Confirmed**.
2. 2026-10-20 12:28 (server time): “payment notification was received with the state expired. Session: cs\_test\_a12wLXY3rmwSAwgxz6dMlYmkAIwcA5MGhP8z0bjuu4nJsCJAFR2goQzn20” → status changes to **Cancelled**.

As a result, the digital product download is blocked, because the order status no longer allows it.
**What we see in the Stripe Dashboard (Events, sandbox)**
The Stripe Dashboard shows CEST time, which is 2 hours ahead of the HikaShop server time. The expired session above corresponds to the Code:

checkout.session.expired

event on Oct 20 at 2:28:34 PM CEST. Around each completed payment there is also a **separate Checkout Session that was never paid** and expired 24 hours later:

| Expired session | Expired at (CEST) |
|---|---|
| cs_test_a1pu1YuDHhHUPm4EtB95UXZlElo42pCWf9EyeFn2VXwHSN867HqikxeTgR | Oct 20, 6:44 AM |
| cs_test_a12wLXY3rmwSAwgxz6dMlYmkAIwcA5MGhP8z0bjuu4nJsCJAFR2goQzn20 | Oct 20, 2:28 PM |
| cs_test_a1kFcc96hOXHs33201NSMJUaBdsQwzAdrKsF673WEZ4O8Y7kMoHWO5rXuK | Oct 20, 6:03 PM |

For example, the session cs_test_a1kFcc… (expired Oct 20, 6:03 PM) belongs to Code:

order_id=32

according to its Code:

cancel_url

. It was created about 1 minute before the payment completed on Oct 19 at 6:04 PM (session cs_test_a1BFWfN39…, payment pi_3USJ37HwuXBczTHH1SY9BHpk).
The expired session IDs differ from the sessions that were actually completed, so it looks like **a second Checkout Session is created for the same order**, and its expiry webhook sets the already confirmed order to Cancelled.
**What we would like to ask**

1. Does the plugin create a new Checkout Session each time the customer reaches the payment step or returns to it? (Is it possible that two sessions are created for one order even without going back and forth?)
2. How should the plugin handle Code:

checkout.session.expired

for an order that is already paid and confirmed? In our case the status is overwritten.
3. Is the correct configuration to subscribe the webhook endpoint only to Code:

checkout.session.completed

and Code:

checkout.session.async_payment_succeeded

? Our current endpoint events: \[paste here what is selected in Stripe Dashboard → Webhooks\].
4. Can you recommend a fix or patch (for example, ignoring Code:

expired

for orders that are already confirmed or shipped)?

We attach screenshots of the HikaShop order history and of the Stripe Events list. We can also provide the full order ID, the webhook configuration and debug logs if needed.
Thank you for your help.
Best regards,
Dániel Metz
metzdaniel.hu

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzI3LWNoZWNrb3V0LzEwMDAwMDA2Ny1zdHJpcGUtY2hlY2tvdXQtcGFpZC1hbmQtY29uZmlybWVkLW9yZGVyLWlzLXNldC10by1jYW5jZWxsZWQtMjQtaG91cnMtbGF0ZXItYj90bXBsPW1hcmtkb3du) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[nicolas](/forum/user/63-nicolas "View nicolas's Profile")**
- [![nicolas's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar63.png?1793428657)](/forum/user/63-nicolas "View nicolas's Profile")
- [ Offline](/forum/user/63-nicolas)

Less More

- Posts: 86363
- Thank you received: 14296
-
-

2 weeks 6 days ago [\#100000324](#100000324) by [nicolas](/forum/user/63-nicolas "View nicolas's Profile")  Replied by *[nicolas](/forum/user/63-nicolas "View nicolas's Profile")* on topic *[Stripe Checkout: paid and confirmed order is set to “Cancelled” 24 hours later b](/forum/27-checkout/100000067-stripe-checkout-paid-and-confirmed-order-is-set-to-cancelled-24-hours-later-b#100000324 "-- HikaShop version -- : 6.7.1 -- Joomla version -- : 5.4 -- Browser(s) name and version -- : Firefox 158.0  Hello, We are testing credit card payments with Stripe Checkout (sandbox mode) in HikaShop, and we see the following problem: an order that was paid and set to “Confirmed” is later changed to “Cancelled”. Environment  &#42; Joomla 5.4  &#42; HikaShop Essential 6.7.1 &#91;2610202116&#93;  &#42; Stripe Checkout payment plugin, test/sandbox mode  What we see in the HikaShop order history  &#42; 2026-10-19 12:32 (server time): “payment notification was received with the state paid. Transaction: pi&#95;3USFkCHwuXBczTHH15IY23nP” → status changes to Confirmed.  &#42; 2026-10-20 12:28 (server time): “payment notification was received with the state expired. Session: cs&#95;test&#95;a12wLXY3rmwSAwgxz6dMlYmkAIwcA5MGhP8z0bjuu4nJsCJAFR2goQzn20” → status changes to Cancelled.  As a result, the digital product download is blocked, because the order status no longer allows it. What we see in the Stripe Dashboard (Events, sandbox) The Stripe Dashboard shows CEST time, which is 2 hours ahead of the HikaShop server time. The expired session above corresponds to the  event on Oct 20 at 2:28:34 PM CEST. Around each completed payment there is also a separate Checkout Session that was never paid and expired 24 hours later:  Expired session  Expired at (CEST)  cs&#95;test&#95;a1pu1YuDHhHUPm4EtB95UXZlElo42pCWf9EyeFn2VXwHSN867HqikxeTgR  Oct 20, 6:44 AM  cs&#95;test&#95;a12wLXY3rmwSAwgxz6dMlYmkAIwcA5MGhP8z0bjuu4nJsCJAFR2goQzn20  Oct 20, 2:28 PM  cs&#95;test&#95;a1kFcc96hOXHs33201NSMJUaBdsQwzAdrKsF673WEZ4O8Y7kMoHWO5rXuK  Oct 20, 6:03 PM  For example, the session cs&#95;test&#95;a1kFcc… (expired Oct 20, 6:03 PM) belongs to  according to its  . It was created about 1 minute before the payment completed on Oct 19 at 6:04 PM (session cs&#95;test&#95;a1BFWfN39…, payment pi&#95;3USJ37HwuXBczTHH1SY9BHpk). The expired session IDs differ from the sessions that were actually completed, so it looks like a second Checkout Session is created for the same order, and its expiry webhook sets the already confirmed order to Cancelled. What we would like to ask  &#42; Does the plugin create a new Checkout Session each time the customer reaches the payment step or returns to it? (Is it possible that two sessions are created for one order even without going back and forth?)  &#42; How should the plugin handle  for an order that is already paid and confirmed? In our case the status is overwritten.  &#42; Is the correct configuration to subscribe the webhook endpoint only to  and  ? Our current endpoint events: &#91;paste here what is selected in Stripe Dashboard → Webhooks&#93;.  &#42; Can you recommend a fix or patch (for example, ignoring  for orders that are already confirmed or shipped)?  We attach screenshots of the HikaShop order history and of the Stripe Events list. We can also provide the full order ID, the webhook configuration and debug logs if needed. Thank you for your help. Best regards, Dániel Metz metzdaniel.hu")*

Hi,

Thank you for the detailed report, it pointed straight at the cause. You are right: since HikaShop 6.7.0, when a customer comes back to the checkout before paying, the payment page is rebuilt and the plugin opens a new Stripe Checkout Session for the same order. The first session is never paid, and Stripe sends checkout.session.expired for it 24 hours later. The plugin then treated that event as the cancellation of the order, even though the order had been paid through the other session.

This is fixed in Stripe Checkout plugin version 1.5.9: only the expiry of the order's latest session (the one stored on the order) can cancel it. The expiry of any earlier session is just written to the plugin's log and ignored. Please download the new version from your account ([ www.hikashop.com/support/documentation/4...oad-your-plugin.html](https://www.hikashop.com/support/documentation/478-download-your-plugin.html)) and install it over the current one in the Joomla extension manager. Product page: [ www.hikashop.com/marketplace/product/296-stripe-checkout.html](https://www.hikashop.com/marketplace/product/296-stripe-checkout.html)

About your questions: yes, two sessions can exist for one order when the customer reaches the payment step again (back button, reloading the payment page, returning from Stripe's page). No patch is needed any more, and you should keep the webhook as the plugin registered it, including checkout.session.expired, which is still used to cancel an order that really expired without payment (and for the methods where the customer pays later). The orders already set to Cancelled by this behaviour have to be put back to Confirmed by hand in the back-end.

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzI3LWNoZWNrb3V0LzEwMDAwMDA2Ny1zdHJpcGUtY2hlY2tvdXQtcGFpZC1hbmQtY29uZmlybWVkLW9yZGVyLWlzLXNldC10by1jYW5jZWxsZWQtMjQtaG91cnMtbGF0ZXItYj90bXBsPW1hcmtkb3du) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

Board Categories HikaShop Install &amp; Update Product &amp; Category Display Content Creation Sales and Orders Orders management Reports &amp; Statistics Customers Checkout Payment Methods Shipping Methods Import &amp; Export (CSV, XLS…) Specific Features Affilation Taxes Wishlist Vote Carousel &amp; Slider Mass Actions Filters &amp; Search Discount &amp; Coupon Feature Request Integrations Showcase General Talk about HikaShop Development HikaShop 3.0 Beta Translation Commercial Jobs HikaShop Components HikaMarket Market: Feature requests Market: How to? Market: Bug Report HikaSerial General talk about HikaSerial Serial: Bug Report Serial: How to? Support en Français de HikaSerial (French Support) HikaSubscription HikaAuction Auction: Feature requests Auction: How to? Auction: Bug report Hikashop around the world Support en Français (French Support) Russian FAQ. Курс выживания с Hikashop. Частые вопросы и о Расширения Hikashop Наши сайты на Hikashop 日本語版サポート(Japanese Support) Thai German Archives Bug Report How to?

[](/forum/topics/feed/mode-topics?format=feed&type=rss)

Time to create page: 0.051 seconds

[Powered by](/forum/credits) [Kunena Forum](https://www.kunena.org)
