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
High-level abstract flow

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’s role

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.

Merchant’s role

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.

Q&A
Using GET parameters (query parameters)
Q: Why are query parameters needed in the link?
Q: Why does the merchant build the GET parameters themselves?
Using meta (metaData)
Q: Why is meta (metaData) needed?
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.

Additional information

API endpoints for order creation: Create order & One-time payment