Participating in "National Cashback" program
General provisions
To accept payments credited through the “National Cashback” program, a point of sale must be registered in the program.
What merchants can register for the Program:
Payments are accepted only at points of sale with permitted MCC codes (Merchant Category Code), regulated by the Resolution of the Cabinet of Ministers of Ukraine dated August 20, 2024, No. 952 "On the implementation of a Pilot Project on the provision of state financial assistance to buyers of Ukrainian goods and services within the framework of the All-Ukrainian Economic Platform "Made in Ukraine". On Approval of the Procedure for Implementing the Experimental Project for Providing State Cash Assistance to Buyers of Ukrainian-Made Goods under the All-Ukrainian Economic Platform "Made in Ukraine".
How to Register:
Merchants who wish to participate in the "National Cashback" program must follow these steps that are based on the Guide:
- Submit an application for inclusion in the List of Ukrainian manufacturers through the Diia portal ("Business" -> "Entrepreneurship" -> List of merchants).
- Fill out the form and provide company details.
- Attach the following to the application:
- A list of fiscal number combinations of SBCR (cash registers) paired with MerchantID + TerminalID combinations (MID and TID are provided by the payment provider, while the cash register number is provided by the fiscalization service).
- A list of addresses where the goods/services are sold.
- Bank information.
- Website.
- Brand.
- Verify the application and sign it with a digital signature.
From fiscal receipts, Diia collects information and compares it with data from tax authorities on goods covered by the Program. Cashback is then calculated and credited.
To ensure the correct calculation of cashback, the following mandatory parameters must be included in the receipt for SBCR:
- MID (Merchant ID – unique identifier of the merchant)
- TID (Terminal ID – unique identifier of the terminal)
- RRN (Unique banking identifier of the transaction)
- Auth Code (Authorization code for the payment)
- Product barcode
Interaction with CashDesk
When using our integration with CashDesk, you must ensure that the specified parameters are correctly passed when creating a payment request:
Parameter | Type | Required | Description |
---|---|---|---|
products.id | UUID | ✅ | Unique product identifier |
products.name | String | ✅ | Product/item name |
products.amount | Number | ✅ | Price per unit of product/item |
products.qty | Number | ✅ | Quantity |
products.unit | String | ✅ | Unit of measurement (valid values: kg, m, pc, l) |
products.bar_code | String | ✅ | Product barcode (optional for fiscalization but mandatory for the "National Cashback" program) |
products.taxes.type | String | ✅ | Tax type (valid values: vat, non-vat) |
products.taxes.prc | Number | ✅ | Tax rate % (valid values: 0, 7, 14, 20) |
customer_email | String | ✅ | Email for receipt delivery to the payer if fiscalization is performed through our partner |
Example of body request:
{
"pos_id": "238afc85-a179-41d3-9ad7-e8ccaa803dc5",
"mode": "direct",
"method": "purchase",
"amount": 100,
"cc_number": "4111111111111111",
"exp_month": 4,
"exp_year": 25,
"card_cvv": "061",
"currency": "UAH",
"order_id": "123",
"payway": "сс",
"description": "fdsfsdsfsd",
"customer_lname": "Зайці",
"customer_fname": "Світлана",
"customer_patronym": "Степанівна",
"customer_tax_id": "taxID1",
"order_3ds_bypass": "supported",
"server_url": "https://webhook.site/016dd017-6d33-440f-9811-8c69808b6d42",
"customer_email": "[email protected]",
"products": [
{
"name": "Apple",
"amount": 10,
"currency": "UAH",
"qty": 9,
"id": "1",
"unit": "kg",
"bar_code":"4876534567183",
"taxes": [
{
"prc": 0,
"type": "vat"
}
]
},
{
"name": "Apple",
"amount": 0.5,
"currency": "UAH",
"qty": 10,
"id": "2",
"unit": "kg",
"taxes": [
{
"prc": 7,
"type": "vat"
}
]
},
{
"name": "Apple",
"amount": 4.75,
"currency": "UAH",
"qty": 1,
"id": "3",
"unit": "kg",
"bar_code": "4876534567183",
"taxes": [
{
"prc": 7,
"type": "vat"
}
]
},
{
"name": "Apple",
"amount": 0.5,
"currency": "UAH",
"qty": 0.5,
"id": "4",
"unit": "kg",
"taxes": [
{
"prc": 20,
"type": "vat"
}
]
}
]
}
Merchant-handled fiscalization
Merchants who handle fiscalization independently need to obtain the mandatory parameters for submission to the SBCR provider by following these steps:
- Execute a payment request according to the standard one-step or two-step payment flow.
- From the response, after successful payment processing, retrieve the following parameters required for further fiscalization:
Parameter | Required | Description |
---|---|---|
cc_mask | ✅ | Cardholder card mask |
bank_merchant_id | ✅ | Merchant identifier (MID) |
bank_terminal_id | ✅ | Payment terminal identifier (TID) |
bank_name | ✅ | Acquiring bank name |
rrn | ✅ | Transaction identifier for payment identification on the acquirer's side |
auth_code | ✅ | Transaction identifier for payment identification on the issuer's side |
payment_system | ✅ | Payment system name |
Response example:
{
"customer_country": null,
"eci": "7",
"cc_token": "NDU5ZWNjYWI1MTcyNGQ4OGI4YjliZGZjMjBmZmQzY2Q6Q2xsSTZCcVZlOGNqeUNxMktT",
"customer_fname": "Світлана",
"external_terminal_name": null,
"cc_mask": "411111******1111",
"mode": "direct",
"pos_id": "238afc85-a179-41d3-9ad7-e8ccaa803dc5",
"transaction_id": "ccfdd2db-21f8-416b-a3a6-3e9ec9a987c2",
"user_action_url": null,
"billing_order_id": null,
"status_description": "Transaction is successful",
"result_url": "https://webhook.site/016dd017-6d33-440f-9811-8c69808b6d42",
"percent_fee": {
"amount": 1,
"currency": "UAH"
},
"method": "purchase",
"merchant_order_id": null,
"processed_amount": 100,
"recipient_fname": null,
"customer_phone": "380991213764",
"recipient_email": null,
"fixed_fee": {
"amount": 0,
"currency": "UAH"
},
"gateway_order_id": "21c4a20b-049e-4151-8a62-d6e0c4efc458",
"entity_id": "8abf38c1-380b-4694-877f-dd61c685e097",
"bank_merchant_id": "MID-0001",
"bank_terminal_id": "1763382",
"rrn": "1023624",
"auth_code": 783662,
"user_action_required": false,
"terminal_name": "STUB (sandbox)",
"processed_currency": "UAH",
"customer_email": "[email protected]",
"order_id": "9b39522d-4062-4b40-a03c-f3da07114b5d",
"status": "success",
"recipient_phone": null,
"recipient_cc_token": null,
"registry_ref_no": null,
"status_code": "1000",
"otp_url": null,
"description": "fdsfsdsfsd",
"created_at": "2024-12-13T08:40:38.379",
"customer_birthday": null,
"options_3ds": "supported",
"payment_id": "ccfdd2db-21f8-416b-a3a6-3e9ec9a987c2",
"processed_at": "2024-12-13T08:40:41.503",
"currency": "UAH",
"amount": 100,
"payway": "сс",
"payment_system": "VISA",
"cc_token_expiration": "2025-04-30T00:00:00",
"customer_lname": "Заяці",
"customer_patronym": "Степанівна",
"gateway": "msi:stub",
"bank_name": "АТ ПУМБ"
}
- The mandatory parameters listed above must be passed to the SBCR provider along with the products array to ensure the correct calculation of the National Cashback.