Checkout links
A checkout link is a reusable payment URL you create from the dashboard and share anywhere. Every time the link is opened, a fresh checkout is created and the customer pays through the regular hosted payment page via QPay, SocialPay, Pocket, and other channels.
The link is a public address of the form https://byl.mn/h/pay/{slug}, so you can put it in Facebook, Instagram, chats, emails, or a QR code. No website, API integration, or code required.
How is this different from a checkout?
A checkout created via the Checkout API is a single purchase page that is consumed once paid. A checkout link is long-lived: any number of customers can pay through the same link any number of times — a new checkout is minted automatically on every visit.
Creating a link
- In the dashboard, open your project's Checkout links (Төлбөрийн линк) menu and click New link.
- Fill in the following:
- Name (required) — up to 255 characters. Internal-only; customers never see it.
- Success URL (optional) — where to send the customer after a successful payment. Leave empty to show a generic success message.
- Add at least one item (see the section below).
- Choose what information to collect from the customer.
- Save — the link is ready to share.
Specifying items
Each line item is one of two kinds:
- Registered price — pick a price registered in the Products menu. The link always sells at the price's current amount: change the price and the link follows, no need to recreate it. Product stock and product-scoped promotion codes only work with registered prices.
- Ad-hoc item — type a name (up to 255 characters) and a unit amount directly, without registering a product.
Recurring prices are not supported
Checkout links are built for anonymous, walk-up customers, so recurring prices can't be sold through a link. To sell subscriptions, use the Checkout API.
Quantity
Each item has a fixed quantity (minimum 1). Enable "Customer can adjust quantity" to let the customer pick their own quantity on the payment page:
- Minimum — defaults to 1.
- Maximum — leave empty for unlimited.
If the product has a stock limit, the selectable maximum is automatically capped at the available stock.
Collecting customer information
| Setting | Default | Description |
|---|---|---|
| Email address | Collected | Asks for the customer's email during payment. |
| Phone number | Not collected | Asks for a phone number. |
| Delivery address | Not collected | Asks for a delivery address. |
| Promotion codes | Disabled | When enabled, the customer can apply a promotion code. |
Collected information is stored with each checkout and included in the checkout.completed webhook.
Working with product stock
When an item on the link has a stock limit:
- As soon as the stock can no longer cover the link's minimum demand, the link shows a "sold out" page and stops taking orders. If the same product appears on several lines, their combined demand is what counts.
- The maximum quantity a customer can pick is capped at the available stock.
- Another customer's in-flight (unpaid) checkout temporarily holds stock, so a link can be sold out for a few minutes — it reopens by itself if that checkout is never paid.
Top up the stock (or remove the limit) and the link starts selling again with no further action.
Managing links
- Deactivate / Activate — a deactivated link no longer opens (404). Use this to pause sales.
- Edit — change the name, items, and settings at any time. Changes apply from the next visit.
- Delete — links with no completed payments can be deleted. A link that has taken payments can't be deleted (to preserve history) — deactivate it instead.
- The link's detail page lists its completed checkouts (email, amount, date).
Notes
- Every visit mints a new checkout that expires after 24 hours. The link itself never expires and has no usage cap.
- The number of active links depends on your Byl plan: Starter allows 5, Growth is unlimited. The limit doesn't apply in test mode. When you hit it, upgrade your plan or deactivate a link you no longer use.
- A link created in a Test project runs in test mode — create the link on your Live project when you're ready to sell for real.
- Purchases through a link fire the regular
checkout.completedwebhook and notifications. - Checkout links are currently managed from the dashboard only (no API).
Next steps
- Product stock — set a stock limit and let the link enforce it
- Promotion codes — allow discounts on your link
- Webhooks — record every payment in your own system automatically