Перейти к основному содержимому

Фискализация без выплаты

Вы можете провести фискализацию отдельно от выплаты — то есть зарегистрировать выплату самозанятому в налоговой и получить чек.

Этот метод доступен по запросу. Подробности можно узнать у менеджера в Банке 131.

Если чек выдали по ошибке, фискализацию можно отменить.

Как провести фискализацию

Шаг 1. Создайте платежную сессию

Отправьте запрос session/create и получите идентификатор session_id. Тело запроса — пустое.

Пример создания сессии
curl -X POST \
https://demo.bank131.ru/api/v1/session/create \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{}'

Шаг 2. Отправьте запрос на фискализацию

Создайте запрос с помощью метода fiscalization.

В параметре session_id передайте идентификатор сессии, созданной на предыдущем шаге.

В объекте professional_income_taxpayer передайте:

  • в поле payer_type значение legal (если выплату отправляет российская компания);
  • в поле payer_tax_number— ИНН компании, которая отправляет выплату (нужен, если payer_type: legal);
  • в поле tax_reference — ИНН самозанятого;
  • в services — данные для формирования чека.
Пример запроса
curl --location --request POST 'https://demo.bank131.ru/api/v1/fiscalization' \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id": "ps_2704",
"fiscalization_details": {
"professional_income_taxpayer": {
"tax_reference": "123456789012",
"payer_type": "legal",
"payer_tax_number": "3316004777",
"payer_name": "ООО Вектор",
"services": [
{
"name": "Доставка товара",
"amount_details": {
"amount": 5000,
"currency": "rub"
}
},
{
"name": "Доставка сырья",
"amount_details": {
"amount": 5000,
"currency": "rub"
}
}
]
}
}
}'
Пример успешного ответа
{
"status": "ok",
"session": {
"id": "ps_2704",
"status": "in_progress",
"created_at": "2021-05-27T08:13:33.736384Z",
"updated_at": "2021-05-27T08:13:33.871729Z",
"payments": [
{
"id": "po_2705",
"status": "in_progress",
"created_at": "2021-05-27T08:13:33.860754Z",
"amount_details": {
"amount": 15000,
"currency": "rub"
},
"amounts": {
"gross": {
"amount": 15000,
"currency": "rub"
}
},
"fiscalization_details": {
"professional_income_taxpayer": {
"services": [
{
"name": "Доставка товара",
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"quantity": 2
},
{
"name": "Доставка сырья",
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"quantity": 1
}
],
"tax_reference": "123456789012",
"payer_type": "legal",
"payer_tax_number": "3316004777",
"payer_name": "ООО Вектор"
}
}
}
]
}
}

Шаг 3. Дождитесь уведомления о результате

Банк 131 отправит вам вебхук payment_finished. В теле вебхука придут все данные, которые вы отправили в запросе, и ссылка на чек из налоговой — в параметре fiscalization_details.receipt.

Пример вебхука
{
"type": "payment_finished",
"session": {
"id": "ps_2704",
"status": "accepted",
"created_at": "2021-06-08T09:07:34.689353Z",
"updated_at": "2021-06-08T09:07:53.491653Z",
"payments": [
{
"id": "po_23695",
"status": "succeeded",
"created_at": "2021-06-08T09:07:42.591416Z",
"finished_at": "2021-06-08T09:07:53.319963Z",
"amount_details": {
"amount": 15000,
"currency": "rub"
},
"amounts": {
"net": {
"amount": 15000,
"currency": "rub"
},
"gross": {
"amount": 15000,
"currency": "rub"
}
},
"fiscalization_details": {
"professional_income_taxpayer": {
"services": [
{
"name": "Доставка товара",
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"quantity": 2
},
{
"name": "Доставка сырья",
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"quantity": 1
}
],
"tax_reference": "645493572846",
"receipt": {
"id": "203zpt6nu5",
"link": "https://himself-ktr.nalog.ru/api/v1/receipt/645493572846/203zpt6nu5/print"
},
"payer_type": "legal",
"payer_tax_number": "3316004790",
"payer_name": "ООО Вектор"
}
}
}
]
}
}
 

Как отменить фискализацию

Иногда фискализацию нужно отменить, а выданный чек — аннулировать. Например, если выплата не прошла или чек выдали по ошибке.

Отправьте запрос на отмену фискализации

Создайте запрос session/refund. В поле session_id передайте идентификатор сессии из запроса на фискализацию, которую вы отменяете. В поле amount — полную сумму чека.

Пример запроса
curl -X POST \
https://demo.bank131.ru/api/v1/session/refund \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"session_id":"ps_2704"
}'

Дождитесь вебхука payment_refunded

Банк 131 пришлет вебхук payment_refunded со ссылкой на аннулированный чек.

При отмене фискализации Банк 131 передает в налоговую причину аннулирования «Чек сформирован ошибочно».

Пример вебхука
{
"type": "payment_refunded",
"session": {
"id": "ps_2704",
"status": "accepted",
"created_at": "2021-06-08T09:07:34.689353Z",
"updated_at": "2021-06-08T09:16:48.624196Z",
"payments": [
{
"id": "po_23695",
"status": "succeeded",
"created_at": "2021-06-08T09:07:42.591416Z",
"finished_at": "2021-06-08T09:07:53.319963Z",
"amount_details": {
"amount": 15000,
"currency": "rub"
},
"amounts": {
"net": {
"amount": 15000,
"currency": "rub"
},
"gross": {
"amount": 15000,
"currency": "rub"
}
},
"fiscalization_details": {
"professional_income_taxpayer": {
"services": [
{
"name": "Доставка товара",
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"quantity": 2
},
{
"name": "Доставка сырья",
"amount_details": {
"amount": 5000,
"currency": "rub"
},
"quantity": 1
}
],
"tax_reference": "645493572846",
"receipt": {
"id": "203zpt6nu5",
"link": "https://himself-ktr.nalog.ru/api/v1/receipt/645493572846/203zpt6nu5/print"
},
"payer_type": "legal",
"payer_tax_number": "3316004790",
"payer_name": "ООО Вектор"
}
},
"refunds": [
{
"id": "rf_249",
"status": "accepted",
"created_at": "2021-06-08T09:16:42.897606Z",
"finished_at": "2021-06-08T09:16:48.517040Z",
"amount_details": {
"amount": 15000,
"currency": "rub"
}
}
]
}
]
}
}