Your First Order Shouldn't Be a Debugging Session: End-to-End Testing Before Launch
The day before an e-commerce launch, every test in staging is green: the fake card number charges, the fake invoice issues, the shipping label creates. Then the first real order arrives — the payment notification comes in late, production rejects the invoice fields, the shipping label fails to create. The customer is asking on LINE, "I paid, why haven't I gotten a confirmation?" while your engineer is digging through logs on the production server. The first order becomes a debugging session. We've seen this scene far too many times — including on ourselves.
Our own store's first production order went wrong too: two bugs masking each other, unit tests all green, but combined they walked the order into an invalid state. After that incident we wrote a rule into our team culture: all-green in staging is merely a passing grade; before launch you must run the full chain end-to-end with real payments, real invoicing, and real logistics.
Why staging lies to you
It's not that staging is bad — it's that it is inherently different from production:
- Payment sandboxes always succeed. Fake card numbers never get blocked by risk controls, convenience-store payment codes never need to actually be paid, and payment notifications arrive instantly. Production's delays, retries, and risk-control rejections never occur in the sandbox — which means the code that handles those situations has effectively never been executed.
- Invoice sandboxes don't truly validate. Tax ID formats, buyer fields, invoice number allocation — production validation for government e-invoicing is far stricter, and passing in the sandbox doesn't mean production will accept it.
- Logistics sandboxes have no physical world. No real parcels, real stores, real pickup deadlines. Store closures and relocations, expired-pickup returns — those scenarios exist only in production.
- Configuration itself is a variable. API keys, endpoints, callback URLs, certificates — staging and production each have their own set. No amount of staging practice verifies "did we fill in production's settings correctly?" — and more than half of launch-day incidents are configuration problems.
Our pre-launch checklist: walk the whole chain with real orders
After switching to production and before opening to the public, be your own first customer and place orders with real money:
- One small real charge per payment method: credit card, convenience-store payment code (actually go pay it at the store), cash on delivery, Apple Pay, installments. Confirm the payment notification arrives, the order status is correct, and both the confirmation email and LINE notification go out.
- Issue one real invoice: confirm auto-issuance triggers and a number is allocated, test both the carrier and tax-ID scenarios, then test void-and-reissue (details in our post on automated e-invoicing).
- Ship one real parcel to yourself: create the label, print it, ship it, get the arrival notification, pick it up — the whole route. While you're at it, test void-and-reissue on an amount change.
- Walk the reverse flows at least once: cancel an order, refund, void or credit an invoice. You will need the reverse flows within the first week of launch — don't gamble on it. And when reverse flows break, they involve a "money already collected" state, which is far messier to clean up than a forward-flow failure.
- Do it all again on a phone, on a consumer's network. Testing on a developer's desktop doesn't count: ninety percent of real shoppers are on phones, and often inside a social app's in-app browser — where popups, redirects, and callback behavior all differ from a normal browser. Plenty of payment flows die exactly there.
This full pass costs a few hundred NT dollars in fees and one day of time, and it buys you "every link in the chain has been verified by the real world." Compare that with the cost of firefighting in production during week one — emergency engineering hours, the customer's first impression, the trust deficit at customer service — and it is the cheapest insurance on earth.
Be your own first user before you deliver. If you don't dare place an order with your own money, why should a customer?
"Let the client test it themselves" is, in our view, an engineering failure. Every e-commerce project we deliver goes through real-order verification of payments, invoicing, and logistics as standard procedure — because we take orders every day ourselves and know how hard a broken first impression is to repair. To see this delivery standard, check our e-commerce services and past work, or talk to us about your launch plan.
We solve these problems on our own products every day
Free 30-min discovery call · No hard sell · Reply within one business day
Keep Reading