Skip to content

Fiscalization

eComCharge API allows you to pass fiscalization data to a bank. These data can be used, for example, to send an electronic check to the buyer, which is required under the 54-F3 Federal Law of the Russian Federation.

Info

Ask your manager, is it possible to pass a check in your bank and the conditions of connection option on the bank side.

Additional parameters for fiscalization

To pass the check, you should pass additional parameters in additional_data field within Payment request, Authorization request or Capture request for partial capture (partial capture is used during the cancelling or changing positions that has been passed during authorization).

The fiscalization section in a capture request is not required in case of a full write-off. The system will automatically pass the fiscalization data received in the authorization request to the bank.

Parameter Type Description
fiscalization object A section of fiscalization parameters.
inn * required
string(12) Ф TIN of the organization for which the check is being issued.
group * required
string(32) A group of devices with which the check will be punched. String from 1 to 32 characters or null.

Ask your manager for the parameter value.
key * required
string(32) A name of the key to be used to verify the signature. String from 1 to 32 characters or null.

Ask your manager for the parameter value.
type * required
string A calculation attribute.

Possible values:
1 - Incoming,
2 - Return of incoming,
3 - Expense,
4 - Return of expense.
positions * required
array A list of items of calculation, each element of which consists of:
quantity * required
float A number of the subject of calculation. Decimal number up to 6 decimal places.
price * required
float A price per unit of the subject of calculation, including discounts and markups. A decimal number with 2 decimal places.
tax * required
integer A VAT rate. A number between 1 and 6.

Possible values:
1 - VAT rate 20%,
2 - VAT rate 10%,
3 - VAT rate estimated 18/118,
4 - VAT rate estimated 10/110,
5 - VAT rate 0%,
6 - Not subject to VAT.
text * required
string(128) A name of the subject of calculation.
payment_method_type integer An attribute of the calculation method. A number between 1 and 7, or null.

Possible values:
1 - Prepayment 100%,
2 - Partial prepayment,
3 - Prepaid expense,
4 - Complete calculation,
5 - Partial settlement and credit,
6 - Transfer on credit,
7 - Loan payment.
If transferred null, value 4 is used by default.
payment_subject_type integer An attribute of the subject of calculation. A number between 1 and 13, or null.

Possible values:
1 - Product;
2 - Excise goods;
3 - Job;
4 - Service;
5 - Gambling bet;
6 - Winning gambling;
7 - Lottery ticket;
8 - Winning the lottery;
9 - Providing the result of intellectual activity;
10 - Payment;
11 - Agent's commission;
12 - Composite subject of calculation;
13 - Other subject of calculation.
If transferred null, value 1 is used by default.
nomenclature_code string A product nomenclature code. A string containing a base64 encoded array from 1 to 32 bytes or null. The value decryption is not required.
measurement_unit string A unit of measurement.
excise object Information about excise taxes. To be completed if the subject of the calculation is recognized as an object of excise taxation.
excise float An excise tax amount. Number with precision 2 digits after the dot. Type is decimal.
country_origin_code string(3) A digital code of the country of origin of the goods in accordance with the All-Russian Classifier of the World in the ISO 3166-1 numeric format.
customs_declaration_number string(32) A registration number of the customs declaration.
check_close object Check closing parameters.
payments * required
object An array of payments. Each element contains a payment Type and a payment Amount:
type * required
integer A payment type. Parameter transfers digital code, corresponding to payment type:
1 - Cash amount per check;
2 - Electronic check amount;
14 - Amount of the check in advance (offsetting the advance and (or) previous payments);
15 - Postpaid check amount (on credit);
16 - Amount of check (SRF) by counter delivery.
amount * required
float A payment amount. A decimal number with 2 decimal places.
taxation_system * required
integer Taxation system.

Possible values:
0 - General;
1 - Simplified income;
2 - Simplified income minus expense;
3 - Unified tax on imputed income (UTII);
4 - Unified agricultural tax;
5 - Patent taxation system.
customer_contact * required
string The customer's phone in the +ХХХХХХХХХХХХ format or an email address for transferring electronic check.
agent_type integer An agent attribute.

Possible values:
0 - Bank payment agent;
1 - Bank payment subagent;
2 - Paying agent;
3 - Payment subagent;
4 - Attorney;
5 - Agent;
6 - Other agent.
additional_user_attribute object An additional user requisite section. Each consists of:
name string(64) A name of the additional user requisite.
value string(175) A value of the additional user attribute.
settlement_address string A settlement address between the user and the customer.
calculation_place string A place of settlement between the user and the customer, which allows the customer to identify the place of settlement.
customer_info object Customer - the name of the organization or surname, name, patronymic.
customer_inn string A TIN of the customer.
Example of the request for a payment with fiscalization
{
   "request":{
      "amount":15020,
      "currency":"RUB",
      "description":"Test transaction",
      "tracking_id":"your_uniq_number",
      "language":"en",
      "test":true,
      "billing_address":{
         "first_name":"John",
         "last_name":"Doe",
         "country":"US",
         "city":"Denver",
         "state":"CO",
         "zip":"96002",
         "address":"1st Street"
      },
      "credit_card":{
         "number":"4200000000000000",
         "verification_value":"123",
         "holder":"John Doe",
         "exp_month":"05",
         "exp_year":"2020"
      },
      "additional_data":{
         "fiscalization":{
            "inn":"7707439885",
            "group":"3010057",
            "key":"3010057",
            "type":"1",
            "positions":[
               {
                  "quantity":1,
                  "price":30,
                  "tax":1,
                  "text":"Item 1"
               },
               {
                  "quantity":12.02,
                  "price":10,
                  "tax":1,
                  "text":"Item 2"
               }
            ],
            "check_close":{
               "payments":[
                  {
                     "type":2,
                     "amount":150.2
                  }
               ],
               "taxation_system":0
            },
            "customer_contact":"+711111111111"
         },
         "customer":{
            "ip":"127.0.0.1",
            "email":"john@example.com"
         }
      }
   }
}