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:
Parameter | Type | Description |
---|---|---|
id | String | Product identifier in merchant's system |
url | String | Product URL |
category | String | Product category |
name | String | Product name |
description | String | Product description |
amount | Number | Product price (does not influence total payment amount). Max two decimals (e.g. 123.45) |
currency | String | Product price currency |
price_type | String | Either VAT or NET |
vat | Number | VAT price for the product |
qty | Number | Product quantity. Max three decimals (e.g. 1.455) |
unit | String | Measuring unit for a specific product (kg, l, m, pc) |
payload | String | Field 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:
- 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). - 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"
}