Direct link
Direct link is a tool designed to generate a checkout link that is created entirely by the merchant. The idea is that the merchant is responsible for collecting the required GET parameters and sending them to Billing (via an API endpoint), and then receives a link to the checkout page in the response.

Billing does not have its own mechanism for creating a direct link (it does not exist within Billing). Billing only provides an API endpoint for creating orders.
The direct link is implemented by the merchant, and the merchant controls how and which parameters are sent to Billing and, ultimately, included in the generated checkout link.
Direct Link Mechanism
The merchant collects the required GET parameters (the ones they need) and builds a link like: domain_of_shop/checkout?someKey=someValue&...
The merchant’s Shop Frontend sends a request to the merchant’s Shop Backend with these parameters.
The merchant’s Shop Backend:
- If needed, stores some of the parameters in its database.
- Sends some of the parameters to analytics.
- Sends the required data to Billing via the order creation API endpoint.
Billing processes the order creation request and returns a checkout page link without GET parameters, along with any other parameters required by the contract.
After receiving the response from Billing, the merchant’s Shop Backend builds the final checkout link by adding all required GET parameters, if the merchant needs them.
The user is redirected to the final URL (checkout page) with the specified parameters.
Billing provides an API endpoint for creating an order.
It returns a link to the checkout page (without GET parameters) and additional parameters according to the contract.
Billing is not responsible for which GET parameters the merchant adds: these parameters are defined and used only by the merchant.
Independently designs and decides how to pass data and which GET parameters to use.
Uses Billing’s API endpoint to create an order.
Builds the final URL to redirect the user to payment (checkout page).
May additionally pass variables (e.g., extra or metaData) that can later be used by the Billing Pay-front.
Important: If the merchant needs to add or change the set of GET parameters, this is done exclusively by the merchant. Billing is not modified and does not change its logic—it always returns only the base link and processes the data provided within its API.
How to build a Direct Link
Before creating the link, prepare 2 values:
- Product code (
product) — which plan/subscription/option is being purchased. It is required to create link. - Coupon (
coupon) — promo code (if a discount coupon is used). It is optional to create link.

Important: 1 payment = 1 product. A single link must contain only one product.
Link template: https://<brand-domain>/checkout?product=<PRODUCT_CODE>&coupon=<COUPON_CODE>
Make sure that:
after /checkout there is a ?, and parameters are separated with &
product is not empty and has no typos
the link starts with the correct brand domain
https://<brand>/checkout? (no parameters)https://<brand>/checkout?product= (product is empty)...prodact=... (typo in the parameter name).../checkout&product=... (missing ? before parameters)
If the link doesn’t open or opens the wrong checkout page, double‑check the domain and the product value.
Key takeaways
Direct link is a merchant-implemented mechanism, where Billing acts only as the receiver of a server-to-server request to create an order and returns the payment link.
Any GET parameters the merchant wants to use are added by the merchant: Billing only accepts the data required to create an order and returns the final link (without GET parameters).
If the merchant needs to store or analyze any information, they do it on their side and, if needed, send the data to Billing via the API.
metaData helps protect data from user tampering, whereas any public query parameters can be freely modified in the browser’s address bar.