Verticals / Vertical guide

What breaks in an AI-built e-commerce store?

Matt Turley, Continuum. Updated November 5, 2026.

For founders running a custom storefront, a headless shop or a subscription box built with AI tools rather than on a hosted platform.

The short answer

What breaks in an AI-built e-commerce store?

Anything the browser decides. If the price, discount or quantity comes from the page rather than the server, a customer can change it. After that: stock that oversells under simultaneous orders, orders created only if the success page loads, and refunds that change your records but not the payment.

What is really going on

A hosted shop platform has years of edge cases built in. A custom, AI-built store has the screens and the happy path, and meets each edge case for the first time in front of a customer: two people buying the last item, a card that needs extra authentication, a discount code used twice, a refund after shipping.

The most important rule is simple: the server decides money. The browser may display a price, but the amount that is charged must be computed on the server from your own product data, never taken from a form field.

Because several systems are involved (payments, inventory, email, shipping, a CRM), every order is a small distributed process, and processes of that kind fail in the gaps between systems.

Where stores go wrong, most common first

  1. The price or discount is trusted from the browser

    How to tell Change a price, quantity or coupon value in the browser tools or in the request, and complete checkout. If the new amount is charged, the server trusts the client.

    The fix Send only product ids and quantities. Look up prices and validate discounts on the server, then create the payment for the amount you computed.

  2. Stock oversells under simultaneous orders

    How to tell Two checkouts for the last item both succeed. The code reads the stock count, then writes it later, so two requests can both read "1".

    The fix Decrement stock in a single atomic database operation, or reserve it for a short time at checkout and release it when the reservation expires.

  3. The order exists only if the success page loads

    How to tell Paid orders are missing for customers who closed the tab. Fulfilment emails never send for those orders.

    The fix Create and confirm the order from the payment provider's webhook. Our pages on webhooks that do not fire and orders missing from the CRM cover this.

  4. Tax, shipping and currency are approximations

    How to tell Tax is a flat rate, shipping ignores weight or destination, or a currency is converted on the page. Totals differ from what you collect.

    The fix Use a tax and shipping service or a payment provider's built-in tax calculation, compute totals on the server and test the countries you sell to.

  5. Refunds and cancellations are half-implemented

    How to tell A refund button updates the order status in your database without refunding the card, or the reverse. Stock is not returned and the customer is not told.

    The fix Perform the refund through the payment provider, update the order from the resulting event and return stock and notify the customer in one flow.

  6. Card data touches your server

    How to tell Your code receives card numbers in a form field and passes them on. That moves the burden of card-data security onto you.

    The fix Use the payment provider's hosted checkout or its secure card fields so card numbers never reach your server, which keeps your compliance scope small.

How we diagnose it

  1. Tamper with the checkout. Change prices, quantities, shipping and coupon values in the request and see what the server accepts.
  2. Race the last item. Start two checkouts for the last unit at nearly the same moment and see how many succeed.
  3. Close the tab after paying. Pay, close the page before the redirect and see whether the order, the email and the stock change still happen.
  4. Refund and cancel. Refund a fulfilled order and a pending one and compare the payment, the order record, the stock and the emails.
  5. Read the order code. We read the order path from cart to fulfilment and rank the gaps between systems by the money they could lose.

What fixing it changes

  • The server computes every amount from its own product data.
  • Stock changes are atomic or reserved, so the last item sells once.
  • Orders are created and fulfilled from payment events, not the success page.
  • Refunds, cancellations and stock stay consistent across systems.
  • Card data never touches your server.

When you do not need us

If you sell a few products and a hosted platform would meet your needs, use one. It is usually safer than custom code. Custom stores are justified when you need logic a platform cannot do, and they need the checks above.

Your next step

A Ship Check reads the checkout, order and payment code and ranks what will lose money or orders first. A Ship Fix is the fixed-scope job if the order path needs rebuilding.

Ship Check, $299: A senior engineer reads your codebase and sends a written verdict (fine, fixable or rewrite), what will break first, a security and data read, and a costed plan, within 48 hours of repo access or it is free. It has a 7-day money-back and is credited against a Ship Fix. Or: See Ship Fix, $4,000 to $15,000.

Get a Ship Check, $299 →See all services and prices →
FAQ

Straight answers

Is it safe to build my own checkout with AI?
It can be, if the payment provider's hosted checkout or secure fields handle the card data and the server computes every amount. Custom checkout code that handles card numbers or trusts browser values is where the real risk sits.
How do I stop overselling?
Make the stock change in one atomic database operation, or reserve stock when checkout starts and release it on timeout. Reading a count and writing it back later is the pattern that oversells.
Do I need to worry about PCI?
Everyone who accepts cards has obligations, but using the provider's hosted checkout or secure fields keeps your scope small. Check which form your payment provider asks you to complete.
Keep reading
A customer paid, but the order is not in my CRM. Why?By symptom. Payment and CRM record are two separate writes joined by your code. Where the chain usually breaks, how to trace one order end to end, and how to fix it.Why is my Stripe webhook not firing?By symptom. Stripe is usually sending the event and your server is refusing it. How to read the delivery log, the six usual causes, and the fix for each.What breaks in an AI-built marketplace app?By vertical. Two-sided marketplaces built with AI tools: seller onboarding, payouts, fees, refunds, disputes and who sees whose data. What breaks and how to test it.What should I check before launching my AI-built app?By stage. A launch-week checklist for apps built with AI tools: who can see whose data, secrets, the real payment path, email, backups, monitoring and a rollback plan.My app broke right after launch. What do I do first?By stage. The first hours after a launch goes wrong: stop the damage, find the failure, protect users and data, then make it stable. What usually breaks, in order.What breaks in an AI-built B2B SaaS app before launch?By vertical. For B2B SaaS built with AI tools: tenant isolation, roles, invites, billing and the enterprise asks that arrive first. What breaks and how to check.
Sources
  1. 1. Stripe: Checkout, Stripe: A hosted payment page that keeps card data off your server.
  2. 2. Stripe: Fulfill orders, Stripe: Fulfilment from webhook events rather than the redirect.
  3. 3. PCI Security Standards Council: Document library, PCI SSC: The self-assessment questionnaires that depend on how you accept cards.
What breaks in an AI-built e-commerce store? | Continuum