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"
}
}
}
}