To build a small online store with AI, prepare product names, prices, photos and shipping rules, then describe the catalog and checkout in one prompt. The builder creates product pages, a cart, checkout through your own Stripe account, stock that cannot oversell and an orders admin. Payments switch on when you add your Stripe keys.
- A small custom store suits a focused catalog of a few dozen products. Thousands of products with keyword search belong on a full e-commerce platform.
- Preparing product data and photos is most of the work. Do it before you write the prompt.
- Checkout runs on your own Stripe account, and an order counts as paid only when Stripe's signed webhook confirms it.
- Stock is reduced in one guarded step, so the last item sells exactly once.
- Taxes, returns and legal pages remain your responsibility. The AI can draft them; you decide what they say.
- Every product gets its own crawlable page. A live store belongs on a paid plan, ideally with your own domain.
Is a small custom store right for you?
An AI-built store and a full e-commerce platform solve different problems. The platform gives you a large, general toolkit; the custom store gives you exactly the flow you describe and nothing else. Compare the categories, not brand names:
| Factor | Small custom store (AI-built) | Full e-commerce platform |
|---|---|---|
| Catalog size | A handful to roughly a hundred products; a search box works at that size, and larger catalogs use category and price filters | Thousands of products and variants, with full-text search |
| Apps and add-ons | None to install; each extra, such as discount codes or reviews, is a follow-up message, and outside services connect through their API with your keys | Large add-on marketplaces, often each with its own subscription |
| Tax and shipping automation | Rules you describe, or Stripe's tax features in your Stripe account | Typically built in or available as add-ons |
| Fees | Your WisyLink plan plus Stripe's processing fees; WisyLink takes no cut of sales | Platform subscription, payment fees and add-on costs, varying by platform |
| Control | Pages, flow and admin work exactly as you describe them | Within the platform's themes and checkout rules |
| Best for | Makers, single product lines, pre-orders, local pickup, shops with unusual flows | Growing retailers, many variants, selling on several channels |
Choose the custom route if your catalog is small, your flow is specific (made-to-order, booking a fitting with the purchase, pickup slots) or you want a store and a site in one. Choose a platform if you need to sync stock across marketplaces, print shipping labels from carriers or manage thousands of variants. For the broader money picture, see what it costs to build a web app.
Prepare products, photos, prices and shipping rules
The build takes one message. The preparation takes an afternoon or more, and it decides how good the store is.
- A product sheet. One row per product in a spreadsheet saved as CSV, with columns for name, short description, long description, price, category, variant options (such as size or glaze), stock per variant, weight and status (live or draft). A header row such as
name,category,price,glaze,stock,weight_g,status,descriptionis enough. - Photos at web size. Same aspect ratio for every product, plain background, exported at a few hundred kilobytes each rather than camera originals. Each upload can be up to 25 MB, but every file counts against your plan's storage.
- Shipping rules. Zones (for example domestic, neighbouring countries, rest of world), a rate per zone, a free-shipping threshold if you offer one, local pickup, and the countries you won't ship to.
- Policies. Returns window and conditions, handling time, and how customers reach you.
- A Stripe account. Check that Stripe supports businesses in your country on its global availability list, then complete your business and bank details before launch.
Keep variants simple. One option with its own stock per value (size S, M, L) is easy to manage; two options multiply into a grid you have to count. And plan to add most photos through the store's admin rather than the chat: attach a few for the first build, then upload the rest product by product, where they are stored as public files and served quickly to every visitor.
Build it: prompt template
Attach the CSV, your logo and photos for a few products, then paste a prompt like this into a new chat:
Build an online store for [Fern and Clay, handmade ceramics]. Load the attached products.csv as products, one per row; the [glaze] column holds variants, each with its own stock.
Pages: a home page with featured products, a page per category, a page per product with large photos, description, price, variant picker and stock status, a cart, and checkout through my Stripe account that collects the shipping address. Shipping: [flat $8 domestic, $20 to neighbouring countries, free over $120, local pickup in Portland].
Write each order as pending before checkout and mark it paid only when Stripe's webhook confirms it. Reduce stock per variant when an order is paid, never sell more than is in stock even if two people check out at once, and show "Sold out" at zero.
Admin: products (add, edit, upload photos, change stock), orders with statuses paid, packed, shipped and refunded, and a tracking number field. Emails, once I add my email settings: order confirmation, and a shipped email with the tracking number. Also add shipping and returns, privacy, terms and contact pages. Style: [calm, earthy, lots of white space, photos first].
Then launch it in this order:
- Read the build's final note. It explains how to reach the admin area and names the Integrations to fill in: Stripe and email (SMTP).
- Add Stripe test-mode keys first under Integrations, following the steps shown there, including the webhook address to register in your Stripe Dashboard. Never paste keys into the chat.
- Place test orders with Stripe's test card number 4242 4242 4242 4242. Check that each order moves from pending to paid, stock drops and the confirmation email arrives.
- Try to oversell. Set one product's stock to 1 and buy it from two browsers at once. One purchase should fail cleanly.
- Add the rest of the catalog through the admin product editor. New and edited products appear on the site within about a minute, without a rebuild.
- Switch to live keys, buy one cheap item with a real card, and refund it.
- Connect your domain and launch (more on that below).
On the free Community plan, Wisy builds a lean first version, so the first build may cover catalog and checkout and leave the admin or emails for your next message. Free links also expire after 30 days, so treat Community as your workshop and launch the real store on a paid plan.
Stripe checkout with orders confirmed by webhook
The customer pays on Stripe's checkout, either a Stripe-hosted page or a form embedded in your store, and the money goes to your Stripe balance. The hosted page is the simpler choice: Stripe maintains the payment form, and you can match it to your brand colors in your Stripe settings. WisyLink never holds your Stripe account; your keys are stored encrypted under Integrations and read only by your store's own code. Until you fill them in, checkout stays switched off and the rest of the store works.
The detail that separates a hobby store from a reliable one is how an order becomes "paid". Stripe's guide to fulfilling orders is blunt: "Webhooks are required for fulfillment," because a customer can pay and lose their connection before your thank-you page loads. So the store writes a pending order first, passes its ID to Stripe, and marks it paid only when a webhook arrives with a valid Stripe signature. A visitor who types the thank-you address by hand gets nothing.
Two refinements worth asking for:
- Duplicate events. Stripe can deliver the same event more than once, so the paid step should do nothing the second time. Stock must never drop twice for one order.
- Delayed payment methods. Some bank-based methods confirm later. If you enable them, orders should show "awaiting payment" until Stripe confirms, and only then ship.
Prefer PayPal or a local provider? Any provider with an API can be connected the same way, with your own keys. Each one is built from that provider's current documentation, so test it as carefully as Stripe.
Stock that can't oversell
Overselling happens when two customers buy the last item at the same moment and both purchases go through. The store prevents it by changing stock and checking the limit in one step: "reduce by one, only if stock is above zero". If two requests race, one succeeds and the other is told the item is sold out. This is the same mechanism that stops double-booking on booking sites.
The real decision is when stock is reduced:
- On payment suits products with deep stock. If the last unit sells between a customer opening checkout and paying, the store flags that order for a refund instead of shipping something you don't have.
- At checkout start, with a hold suits one-of-a-kind pieces. The item is reserved while the customer pays and released if they abandon checkout. Releases run as a background job every 30 to 60 minutes, so an abandoned item can stay reserved for up to an hour after its hold ends.
The template above reduces stock on payment; for one-of-a-kind pieces, change that line to a hold. Ask for stock per variant, a "low stock" email to you, and a stock field in the admin. Made-to-order items can skip stock entirely or use a batch limit, such as 20 per firing.
Orders admin, confirmation emails and shipping status
The admin area is where you will spend your time after launch. The build's final note tells you how to get in: often the first account to sign up becomes the admin, so register before you share the link. A practical orders screen has:
- A list filtered by status: awaiting payment, paid, packed, shipped, refunded.
- An order page with items, variant, shipping address, customer email and the Stripe payment reference.
- A tracking number field. Saving it marks the order shipped and sends the shipped email.
- A printable packing slip.
- A daily summary email of new orders, sent by a scheduled job that runs every 30 to 60 minutes.
- Discount codes with a percentage, an expiry date and a usage limit. The usage limit uses the same one-step counter as stock, so a "first 50 customers" code can't be used 51 times.
Emails go through your own SMTP account. Without it, nothing is sent and orders still work. Stripe can also email its own receipts if you enable them in your Stripe settings. Refunds are made in your Stripe Dashboard; mark the order refunded in your admin so stock and reports stay right.
Customers don't need accounts to buy. Guest checkout keeps the purchase short, and a "find my order" page that asks for email and order number covers most questions. If you sell to repeat buyers, ask for customer accounts with order history; the store runs its own logins, and password resets need your SMTP.
Taxes, returns and legal pages you still own
An AI builder doesn't know your tax position, and WisyLink doesn't calculate sales tax or VAT for you. You have three workable options:
- Tax-inclusive prices with one rate, if you sell mainly in one country and your accountant agrees.
- Rules you describe, such as a rate per destination zone, written into the prompt.
- Stripe Tax in Checkout. Stripe's documentation on collecting taxes describes how it calculates tax on Checkout payments; you complete its settings in your Stripe account first. Check its requirements and pricing there.
Returns and legal pages follow the same logic: the AI drafts, you own the content. Write your real returns window and conditions, then ask for a returns page and a "return requested" status in the admin. Consumer rights on returns differ by country. Every store collecting names and addresses needs a privacy policy, and clear terms of sale and a shipping policy answer the questions that otherwise turn into disputes. Treat AI-drafted legal text as a starting point for a professional to review, not as legal advice; WisyLink's own terms make you responsible for reviewing and testing what the AI produces.
Launch and SEO for product pages
Each product and category gets its own clean URL, such as /product/stoneware-mug, rendered as full HTML that search engines can read without running scripts. Every page carries a title, description, canonical link and social preview tags, and the store serves its own sitemap.xml listing every product. New products appear in it as soon as you add them. Catalog pages include breadcrumb and product-list structured data; ask for product structured data with price and availability on each product page too.
What still depends on you:
- Write your own descriptions. Materials, dimensions, care, who it's for, how long shipping takes. A product page should say more than its card on the category page.
- Describe your photos. Ask for alt text built from the product name and variant.
- Connect your own domain (any plan works) before you print packaging or business cards; see how to connect a custom domain.
- Submit the sitemap in Google Search Console once the domain is live.
For everything else that affects rankings, read our guide to SEO for AI-built websites.
Open your store
Fill in the product sheet, check Stripe's availability for your country, and paste the template with your details. If you are still testing whether people will buy at all, a pre-order page is a lighter first step; our MVP playbook shows how to scope one. See the use cases for other store formats and compare plans for launch.
Describe your store in one message and get a live link: start free on Community, no card required.
F.A.Q.
