Skip to main content

Information on products and prices

Each payment request may optionally include details about the products for which the payment is intended. When provided, this information will be presented at the checkout, offering the payer reassurance about the accuracy and safety of the order.

To incorporate product details, including their quantity and quality, the request for one step (split payment)) or two-step (two-step split payment) payment must be accompanied by the following parameters:

List of parameters with information about a product:

ParameterTypeDescription
idStringProduct identifier in merchant's system
urlStringProduct URL
categoryStringProduct category
nameStringProduct name
descriptionStringProduct description
amountNumberProduct price (does not influence total payment amount). Must be a positive number. The number of decimal digits must be less than or equal to 2 (e.g., 100.00, 250, 50.50)
currencyStringProduct price currency
price_typeStringEither VAT or NET
vatNumberVAT price for the product
qtyNumberProduct quantity. Max three decimals (e.g. 1.455)
unitStringMeasuring unit for a specific product (kg, l, m, pc)
payloadStringField for custom data. Max 4000 symbols.

All the parameters above are optional.

caution

If product information is passed, the following validations are carried out in a sequential manner:

  1. Each product undergoes validation based on the calculated amount for that specific product item (amount * qty). This validation adheres to the overarching rounding rule, limiting the result to a maximum of two decimal places (e.g., 123.45).
  2. The total sum validation encompasses all products within the request (product 1 + product 2 + … + product x).

Example payment request section with information about a product:

{
"id": "1",
"url": "https://example.com/products/tv",
"category": "TV",
"name": "Brand new TV",
"description": "Brand new TV with awesome screen",
"amount": 6600,
"currency": "UAH",
"price_type": "VAT",
"vat": 6600,
"qty": 1,
"payload": "ref_no=1231; discount=false"
}