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.