- File — upload once. Shoppex delivers the same download link to every buyer.
- Serials — upload a pool of codes. Each buyer gets a unique one.
- Subscription — charge on a recurring schedule, with auto-renewal.
- Service — manual fulfillment. You get notified, then you deliver the order yourself.
- Dynamic — your own webhook returns the delivery payload for each order.
- Info card — information-only. Use it for listings, ads, or “request a quote” placeholders that need no automated delivery.
How stock works
Every mode except Serials uses the single Stock number on the product’s Delivery & Stock tab. The Unlimited switch sets that number to-1, which is what a new product starts with and which means the product never sells out.
Set any other number and Shoppex counts it. Each completed payment decrements it by the quantity ordered, and when it reaches zero the next paid order gets nothing. What happens then depends on the payment method:
- If the payment can be refunded automatically, Shoppex refunds it and the order goes to
VOIDED. - If it cannot (native crypto, manual gateways), the order is held at
AWAITING_STOCKwith the buyer’s money in place. Restock and it delivers on its own.
Stock 5 runs out after five sales exactly like anything else.
Serials products do not use that field. Their stock is the number of unsold keys in the pool.
File
The File fulfillment mode delivers a download link to every buyer immediately after payment. The buyer reaches it from their order page and from the delivery email, and it keeps working until the order runs out of downloads.Uploading
Open your product, go to the Delivery & Stock tab, and add files under Product Files. If you want buyers to receive a bundle (for example, a ZIP, a PDF, and a license file), attach multiple files to the same product.File size
Three limits apply, and a save has to clear all three:- 50 MB per file.
- 50 MB for the files in one save, added together.
- 100 MB for the whole save, files plus product images.
The File mode delivers files you upload to Shoppex. There is no field for pointing a product at a URL on your own storage. If you need to hand out a link, put it in the delivery instructions, or use Dynamic and return the URL from your own endpoint.
Updating the file
Go back to Delivery & Stock. Each saved file has a Replace button that swaps in a new one, and a delete button that removes it. Both take effect when you save the product.Download protection
A download link carries the order id and a secret unique to that order. It is not tied to a login, so anyone the buyer forwards the link to can use it. What limits the damage is the download counter: Shoppex records each delivery against the order and stops serving once the order hits your shop’s download limit.Stock behavior
A new File product starts at unlimited, so the same file goes to every buyer and the listing never sells out. Set a number on Delivery & Stock and it is counted like any other product. See How stock works.Serials
Shoppex delivers a unique code from a pool you upload, one per buyer. See Serials and licenses for setup, hardware-locked licenses, and the event audit trail.Stock behavior
Serials are inventoried. Shoppex tracks how many codes remain in your pool, and the listing automatically becomes “out of stock” when the pool hits zero.Subscription
Subscription mode charges the buyer on a recurring schedule, with auto-renewal. See Subscriptions for billing cycles, retries, and cancellation.Stock behavior
A new Subscription product starts at unlimited. The Stock field is still there, and a number in it caps how many subscriptions you sell. See How stock works.Service
Use Service mode when you deliver the product yourself, for example design work, game-boosting, account services, or custom orders. Shoppex collects payment and notifies you. The actual delivery happens off-platform.How an order moves
- Buyer pays. The order is marked Paid but pending fulfillment.
- You receive an email and a dashboard notification.
- You do the work, outside Shoppex, on your own schedule.
- Mark the order fulfilled from its detail page, optionally attaching a note or file for the buyer.
- The buyer is emailed your completion message.
Custom fields
Service products almost always need information from the buyer, for example a username, target server, game tag, or Discord ID. Add custom fields to the product, and Shoppex prompts the buyer at checkout. The submitted values appear on the order page when you open it. Field types are text, textarea, number, checkbox, or hidden. Each field can be required or optional. You can also attach an optional regex pattern for client-side validation, for example to check emails, URL formats, or any custom shape you need.Communicating with the buyer
The order page has a built-in conversation thread between you and the buyer. Use it instead of moving the conversation to Discord or email. Every message stays attached to the order, and that message history becomes useful evidence if the buyer later disputes the charge.Dispute risk
Service products are the most dispute-prone category on Shoppex, because there is no automatic proof of delivery. To stay safe:- Keep the conversation in the Shoppex order thread.
- Attach screenshots, videos, or logs of completed work to the order.
- Mark the order fulfilled only after the buyer has confirmed receipt.
Stock behavior
A new Service product starts at unlimited. Set a number on Delivery & Stock to cap how many jobs you take on, and the listing sells out when it runs down. See How stock works.Dynamic
Dynamic fulfillment lets you generate each buyer’s delivery payload at order time, instead of pre-uploading a pool of files or codes. Use it when:- The product is generated per-buyer (rendered PDFs, signed binaries, account credentials).
- You are sourcing from an external system you control (your own license server, a third-party API, a database of generated codes).
- Stock is effectively infinite, but you do not want to pre-upload anything.
How it works
- You configure a dynamic delivery URL on the product, an endpoint on your own backend.
- When a buyer pays, Shoppex sends a request to that endpoint with the order details.
- Your endpoint returns the delivery payload, for example text, a code, or a URL.
- Shoppex stores that payload against the order and shows it to the buyer.
Setting up the endpoint
You provide an HTTPS URL on your own infrastructure. Shoppex sends a signedPOST request with the order data. You respond with the payload. The full request and response contract is documented in the Dynamic delivery reference.
Failures
If your endpoint is down or returns an error, the order moves to a failed-fulfillment state. The buyer sees a “delivery pending” message, and you get a dashboard notification. Once you have fixed your endpoint, you can retry the delivery from the order detail page. Dynamic delivery does not retry automatically. Shoppex cannot tell whether a 500 response from your endpoint is a temporary error or a sign that you are rate-limiting requests. You decide how to handle retries.When not to use Dynamic
If the same file or code works for every buyer, use File or Serials instead. Use Dynamic fulfillment only when the payload is different for each buyer.Stock behavior
A new Dynamic product starts at unlimited, which is usually what you want: your endpoint decides what exists. Set a number on Delivery & Stock if you want Shoppex to cap sales before it ever calls your endpoint. See How stock works.Info card
Info card mode is information-only. Use it for listings, ads, or “request a quote” placeholders that need no automated delivery. There is no download, code, or manual step attached to the order.Stock behavior
Info card products have no Delivery & Stock tab, so there is no stock number to set and they never sell out.Variants and pricing
A product can have variants, such as sizes, tiers, or region-specific versions. Each variant has its own price, stock, and fulfillment payload. Set one price for the whole product, or set a separate price for each variant.Bundles, addons, and quantity deals
On top of base products, you can configure:- Bundles — sell multiple products as a single SKU at a bundle price.
- Addons — optional upsells shown on the checkout page.
- Quantity deals — automatic discount tiers. For example, set 10% off at 5 units and 20% off at 10 units.