openapi: 3.2.0
info:
title: Raiffeisen Ru Pay Controller API
version: '1.0'
contact:
email: ecom@raiffeisen.ru
name: Support e-mail
x-team-id: 178
x-short-team-name: PAPAS
x-description-i18n:
eng: '# Connection to acquiring
To connect, fill out an application in [the online bank](https://www.rbo.raiffeisen.ru/sign-form/internet-acquiring) or [the mobile application.](https://rbo.page.link/internet)
For questions about working with the API, please contact Raiffeisenbank support service:
- email: ecom@raiffeisen.ru
### Preparatory activities
To accept payments:
* Fill out the [application](https://www.rbo.raiffeisen.ru/sign-form/internet-acquiring) to connect acquiring
* Choose an integration method and implement it
* Make test payments
### Payment page integration methods
To integrate the payment page, use:
* A ready-made library that allows you to open a popup for entering payment data and transfer a complex data structure
* Redirecting the client to the Raiffeisenbank payment page
# Operation scheme
## Bank payment form
Demonstration of the payment form:
[Payment form](https://pay.raif.ru/pay/demo.html)
During the payment process, the user performs the following actions:
* The user adds goods/services to the store cart and clicks the "Pay" button
* The partner opens a payment form
* The user enters the bank card details on the payment form and confirms the payment
# API
Interaction is carried out via the HTTP protocol using the `POST` `GET` `PUT` `DELETE` methods.
When sending requests to open a payment form and create an order with opening a payment form, the API returns a response in the HTML document format, responses to other requests are returned in JSON format.
## Authorization
To authorize requests, you need:
* `publicId` - The identifier that is used to open the payment form and is public.
* `secretKey` - A secret key that is used for inter-service interaction. It is private, must be stored in a secure place and must not be transferred to third parties.
| Circuit | URL address |
|------------------|-------------------------|
| Production |https://pay.raif.ru |
| Test |https://pay-test.raif.ru |
Inter-service requests are authorized using the secret key `secretKey`. The authorization parameter is passed in the `Authorization` header, the value of which is formed as `Bearer + secretKey`
You can view the production `publicId` and generate a `secretKey` in the [Online Bank](https://www.rbo.raiffeisen.ru/acquiring/mcp#/), or [Personal Account](https://pay.raif.ru/account/#/auth).
Instructions for generating `secretKey` can be found in the Help Center:
* [Generate a secret key in Online Banking](https://help.pay.raif.ru/sbp/rbo/secretkey)
* [Generate a secret key in your Personal Account](https://help.pay.raif.ru/sbp/lk/secretkey)
To generate a `secretKey` in the test circuit, you must contact the support service ecom@raiffeisen.ru
# Testing
## Acquiring
`Bank payment form`:
| PAN of a bank card| Card validity period| CVV | OTP code| Payment scenario |
|-------------------|---------------------|-----|---------|--------------------|
| 4000001000000018 | 12/35 | 880 | 1234 | Successfull payment|
| 4000001000000018 | 12/35 | 880 | 1111 | Unsuccessful payment|
For a full payment testing cycle, you must specify a payment amount greater than 10 rubles.
## SBP
For a full testing cycle, Raiffeisenbank provides the opportunity to use a demo application for QR code payment on behalf of the buyer:
[WEB application for payment by QR code](https://pay.raif.ru/pay/rfuture/)
The application can be opened in the browser of any device with a camera. After opening the application, you need to click on the "Scan QR" button (if necessary, allow the browser to access the camera) and scan the image of the test QR code.
**Bank apps won''t work for QR code payments in the test environment**
# SDK
Using JS SDK allows you to open a form from the frontend part in a pop-up window, or redirect the user to the Raiffeisenbank page, which provides a seamless payment scenario for the client.
Additionally, you can customize the payment form interface and transfer additional parameters for subsequent payment.
You can customize the visual part of the form (company name, logo, button color) in the [Payment Form Configurator](https://pay.raif.ru/pay/configurator/).
The payment form configurator also allows you to obtain code for embedding it into a JS library.
Available SDK:
* [JS SDK](https://github.com/Raiffeisen-DGTL/ecom-sdk-javascript)
* [PHP SDK](https://github.com/Raiffeisen-DGTL/ecom-sdk-php)
* [NODE SDK](https://github.com/Raiffeisen-DGTL/ecom-sdk-node)
* [JAVA SDK](https://github.com/Raiffeisen-DGTL/ecom-sdk-java)
JS SDK allows you to open a payment form from the frontend of your application. When using other SDKs to work with the payment form, you must either use the methods described in the [[Payment form]](#tag/payform) section yourself, or use the JS SDK additionally.
Plugins for various CMS can also be found on [GitHub](https://github.com/Raiffeisen-DGTL/).
Questions regarding solution support can be sent to technical support: ecom@raiffeisen.ru'
x-logo:
url: images/raifflogo.png
backgroundColor: '#FFFFFF'
altText: Raiff logo
description: 'Operations tagged pay-controller across 2 of this provider''s published API definitions: raiffeisen-ru-raif-pay-payment-form-openapi.json, raiffeisen-ru-raif-pay-payment-form-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
tags:
- name: pay-controller
x-displayName: Расширение сценариев
x-x-displayName-i18n:
eng: Available methods
description: 'Для реализации взаимодействия с партнёром Райффайзенбанк предоставляет API для:
* открытия платежной формы с использованием HTTP запросов;
* получения информации о статусе заказа.'
x-description-i18n:
eng: 'To implement interaction with a partner, Raiffeisenbank provides an API:
* for opening a payment form using HTTP requests;
* for receiving payment status.
'
paths:
/v1/merchants/{publicId}/orders/{id}:
parameters:
- $ref: '#/components/parameters/publicId'
- name: id
in: path
required: true
schema:
type: string
description: Идентификатор заказа
x-description-i18n:
eng: Order ID
get:
summary: Получение заказа
x-summary-i18n:
eng: Getting order information
operationId: get-payments-v1-merchants-publicId-orders-id
responses:
'200':
$ref: '#/components/responses/GetOrderResponseV2'
'401':
description: Unauthorized
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Доступ запрещен:
value:
code: ERROR.FORBIDDEN
message: Доступ запрещен
traceId: abb066c61a7c8b74af83f245c7706813
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Мерчант не найден:
value:
code: ERROR.NOT_FOUND
message: Мерчант с publicId = '%s' не зарегистрирован в сервисе
traceId: abbasd2c61a7c8b74af83f245c7706813
Заказ не найден:
value:
code: ERROR.NOT_FOUND
message: Заказ с id = '%s' не найден
traceId: abbasd2c61a7c8b74af83f245c7706814
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Внутренняя ошибка сервиса:
value:
code: ERROR.INTERNAL_ERROR
message: Внутренняя ошибка сервиса
traceId: abb066c61a7c8b74af83f245c7706813
description: Метод позволяет получить информацию о заказе по его идентификатору.
x-description-i18n:
eng: The method allows you to get information about an order by its identifier.
x-internal: false
tags:
- pay-controller
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
/payment/v1/orders/{orderId}:
parameters:
- $ref: '#/components/parameters/orderId'
delete:
summary: Отмена заказа
operationId: delete-payment-v1-orders-orderId
responses:
'200':
description: OK
'400':
$ref: '#/components/responses/Error400Response'
'404':
$ref: '#/components/responses/Error404Response'
description: Метод позволяет отменить заказ, если он не был оплачен. После отмены страница оплаты будет недоступна.
security:
- secretKey: []
x-summary-i18n:
eng: Сancel the order
x-description-i18n:
eng: This method allows you to cancel an order if it has not been paid, after cancellation the payment page will be unavailable.
tags:
- pay-controller
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
/payments/v2/merchants/{publicId}/orders/{orderId}/refunds:
parameters:
- $ref: '#/components/parameters/orderId'
- $ref: '#/components/parameters/publicId'
post:
summary: Оформление возврата
operationId: createRefundV2
responses:
'200':
$ref: '#/components/responses/RefundStatusResponseV2'
'400':
$ref: '#/components/responses/Error400Response'
tags:
- pay-controller
requestBody:
$ref: '#/components/requestBodies/CreateRefundRequestV2'
description: 'Метод позволяет выполнить возврат по заказу.
Метод также позволяет провести возврат плательщику в другой банк. Поддерживаются как полный, так и частичный возвраты.'
security:
- secretKey: []
x-summary-i18n:
eng: Refund
x-description-i18n:
eng: 'The method allows you to make a refund for the order.
The method also allows you to make a refund to the payer to another bank. Both full and partial refunds are supported.
'
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
/payments/v2/merchants/{publicId}/orders/{orderId}/clear:
parameters:
- $ref: '#/components/parameters/orderId'
- $ref: '#/components/parameters/publicId'
post:
tags:
- pay-controller
summary: Проведение клиринга
operationId: post-payments-v2-orders-orderId-clear
deprecated: false
responses:
'200':
$ref: '#/components/responses/ClearCardPaymentResponse'
'400':
$ref: '#/components/responses/Error400Response'
description: 'Метод позволяет выполнить принудительный клиринг операций по интернет-эквайрингу с возможностью частичной отмены.
Поддерживает операции как со сплитованием платежей, так и без него.
При переданных `splits` будет произведена частичная отмена, равная сумме по заказу за вычетом итоговой суммы клиринга.
Сплиты, которые сохраняют ту же сумму, что и в оригинальном заказе, передавать не требуется.'
security:
- secretKey: []
requestBody:
$ref: '#/components/requestBodies/ClearEcomRequest'
x-summary-i18n:
eng: Clearing
x-description-i18n:
eng: 'This method enables forced clearing of internet acquiring operations with support for partial cancellation.
It supports both operations with payment splitting and without splitting.
When `splits` are provided, a partial cancellation is performed, where the cancellation amount equals the order amount minus the final clearing amount.
Splits that retain the same amount as in the original order do not need to be included.
'
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
/payments/v2/merchants/{publicId}/orders/{orderId}/refunds/{refundId}:
parameters:
- $ref: '#/components/parameters/publicId'
- $ref: '#/components/parameters/orderId'
- schema:
type: string
name: refundId
in: path
required: true
description: Идентификатор возврата
x-description-i18n:
eng: Refund ID
get:
summary: Получение статуса возврата
tags:
- pay-controller
responses:
'200':
$ref: '#/components/responses/RefundStatusResponseV2'
'404':
$ref: '#/components/responses/Error404Response'
operationId: getRefundV2
description: Метод позволяет получить статус по возврату.
security:
- secretKey: []
x-summary-i18n:
eng: Refund status
x-description-i18n:
eng: The method allows you to get the refund status.
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
/fiscal/v1/orders/{orderId}/receipts:
parameters:
- $ref: '#/components/parameters/orderId'
get:
summary: Получение списка чеков
tags:
- pay-controller
responses:
'200':
$ref: '#/components/responses/GetReceiptsListResponse'
'401':
$ref: '#/components/responses/Error401Response'
operationId: get-fiscal-v1-orders-orderId-receipts
security:
- secretKey: []
parameters:
- in: query
name: receiptType
description: 'Тип чека:
- `SELL` – чек прихода
- `REFUND` – чек возврата''
'
x-description-i18n:
eng: Receipt type:
• `SELL` – payment receipt
• `REFUND` – refund receipt
schema:
type: string
x-summary-i18n:
eng: Getting list of fiscal receipts
x-description-i18n:
eng: Method allows to get a list of fiscal receipts, that are successfully processed by fiscal data operator, using order ID. Therefore the list contains receipts in status 'DONE' only. By default response contains both types of receipts. To get receipts of a certain type, optional path parameter 'receiptType' needs to be used.
If no receipts are found, response will be 200 OK and empty array in the body.
description: 'Метод позволяет получить по заказу список чеков, которые успешно зарегистрированы в ОФД и имеют статус `DONE`. По умолчанию возвращаются как чеки прихода, так и чеки возврата. Чтобы получить чеки определенного типа, необходимо в строке запроса передать дополнительный параметр receiptType.
Если ни один чек не найден, в ответ вернется 200 OK и пустой массив.'
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
/fiscal/v1/orders/{orderId}/refunds/{refundId}/receipt:
parameters:
- $ref: '#/components/parameters/orderId'
- $ref: '#/components/parameters/refundId'
get:
summary: Получение чека возврата
tags:
- pay-controller
responses:
'200':
$ref: '#/components/responses/GetRefundReceiptResponse'
'401':
$ref: '#/components/responses/Error401Response'
'404':
$ref: '#/components/responses/Error404Response'
operationId: get-fiscal-v1-orders-orderId-refunds-refundId-receipt
description: Метод позволяет получить чек возврата по идентификатору заказа и идентификатору возврата.
security:
- secretKey: []
x-summary-i18n:
eng: Getting refund receipt
x-description-i18n:
eng: Method allows to get refund receipt by order ID and refund ID.
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
components:
requestBodies:
CreateRefundRequestV2:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateRefundRequestV2'
examples:
Возврат со сплитованием:
value:
id: 348230ad-2a8d-4976-af4f-8603d11cba8c
amount: 432.21
paymentDetails: Возврат за обувь
splits:
- accountId: ea6f870f-debd-48cc-a83f-b87e7cee8582
amount: 10.21
- accountId: 226f0738-d5d8-4ee6-afff-71e05836820a
amount: 422
Возврат:
value:
id: 348230ad-2a8d-4976-af4f-8603d11cba8c
amount: 432.21
paymentDetails: Возврат за обувь
Возврат в другой банк:
value:
id: 348230ad-2a8d-4976-af4f-8603d11cba8c
amount: 432.21
paymentDetails: Возврат за обувь
customer:
bankAlias: RAIFFEISEN
phone: '79161111111'
ClearEcomRequest:
required: true
content:
application/json:
schema:
type: object
description: Запрос на клиринг по операциям интернет эквайринга со сплитованием
x-description-i18n:
eng: Clearing request for Internet Acquiring operations with splitting
properties:
amount:
type: number
description: Итоговая сумма клиринга
x-description-i18n:
eng: Final clearing amount
example: 1200
splits:
$ref: '#/components/schemas/Split'
responses:
GetOrderResponseV2:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedOrder'
GetRefundReceiptResponse:
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/FiscalReceiptExtended'
- $ref: '#/components/schemas/FiscalReceiptBasicWoRequiredParams'
GetReceiptsListResponse:
description: OK
content:
application/json:
schema:
type: array
items:
allOf:
- $ref: '#/components/schemas/FiscalReceiptBasicWoRequiredParams'
- $ref: '#/components/schemas/FiscalReceiptExtended'
examples:
ФФД 1.05:
value:
- receiptNumber: '3000827351832'
receiptType: REFUND
status: DONE
orderNumber: order-test
total: 1200
ofdUrl: https://lk.platformaofd.ru/web/noauth/cheque?fn=7284440500012345&fp=1702712345&i=1234
ofdDocumentNumber: 133
ofdDocumentAttribute: '3449555941'
customer:
email: customer@test.ru
name: Иванов Иван Иванович
items:
- name: Шоколадный торт
price: 1200
quantity: 1
amount: 1200
paymentObject: COMMODITY
paymentMode: FULL_PAYMENT
measurementUnit: шт
nomenclatureCode: 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00
vatType: VAT20
agentType: ANOTHER
supplierInfo:
phone: '+79991234567'
name: ООО «Ромашка»
inn: '956839506500'
payments:
- type: PREPAID
amount: 1200
ФФД 1.2:
value:
- receiptNumber: '3000827351832'
receiptType: REFUND
status: DONE
orderNumber: order-test
total: 1200
ofdUrl: https://lk.platformaofd.ru/web/noauth/cheque?fn=7284440500012345&fp=1702712345&i=1234
ofdDocumentNumber: 133
ofdDocumentAttribute: '3449555941'
customer:
email: customer@test.ru
extra:
name: Иванов Иван Иванович
inn: '516974792202'
items:
- name: Шоколадный торт
price: 1200
quantity: 1
amount: 1200
paymentObject: COMMODITY_MARKING_WITH_CODE
paymentMode: FULL_PAYMENT
measurementUnit: PIECE
vatType: VAT20
agentType: ANOTHER
supplierInfo:
phone: '+79991234567'
name: ООО «Ромашка»
inn: '956839506500'
marking:
quantity:
numerator: 1
denominator: 3
code:
format: GS1M
value: MDEwNDYwNzQyODY3OTA5MDIxNmVKSWpvV0g1NERkVSA5MWZmZDAgOTJzejZrU1BpckFwZk1CZnR2TGJvRTFkbFdDLzU4aEV4UVVxdjdCQmtabWs0PQ==
payments:
- type: PREPAID
amount: 1200
Error400Response:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error4xx'
Error404Response:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error4xx'
RefundStatusResponseV2:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/RefundWithSplits'
Error401Response:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error4xx'
ClearCardPaymentResponse:
description: OK
content:
application/json:
schema:
type: object
properties:
reversalAmount:
type: number
description: Сумма отмененная в ходе клиринга
x-description-i18n:
eng: Reversal amount in rubles
example: 1200
schemas:
OrderComment:
title: OrderComment
type: string
description: 'Комментарий. Доступен в реестрах и Онлайн-Банке. Не может быть пустым или содержать только пробелы. Может содержать:
• Символы латиницы (A–Z и a–z)
• Символы кириллицы (А-Я и а-я)
• Цифры 0-9
• Спецсимволы: пробел и `!`, `"`, `#`, `$`, `%`, `''`, `(`, `)`, `*`, `+`, `,`, `-`, `.`, `/`, `:`, `;`, `=`, `>`, `?`, `@`, `[`, `\`, `]`, `^`, `_`, `{`, `|`, `}`, `~`
• Спецсимвол `№`'
x-description-i18n:
eng: 'Comment. Cannot be empty or contain only spaces. May contain:
• Latin symbols (A–Z и a–z);
• Cyrillic symbols (А-Я и а-я);
• Digits 0-9;
• Special symbols: spaces and `!`, `"`, `#`, `$`, `%`, `''`, `(`, `)`, `*`, `+`, `,`, `-`, `.`, `/`, `:`, `;`, `=`, `>`, `?`, `@`, `[`, `\`, `]`, `^`, `_`, `{`, `|`, `}`, `~`
• Special symbol №
'
maxLength: 140
pattern: ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:;=>?@\[\\\]\^_`{\|}~№]+$
example: Тестовый комментарий
OrderStatus:
title: OrderStatus
type: object
description: Статус заказа
x-description-i18n:
eng: Order status
minProperties: 1
properties:
value:
$ref: '#/components/schemas/OrderStatusValue'
date:
type: string
description: Дата создания заказа
x-description-i18n:
eng: Order creation date
format: date-time
example: '2025-01-10T20:10:00+03:00'
minLength: 1
FiscalReceiptExtended:
title: Объект чека с доп. параметрами
type: object
description: Данные чека с доп. параметрами
x-description-i18n:
eng: Receipt data with additional parameters
properties:
receiptNumber:
type: string
description: Уникальный номер чека
x-description-i18n:
eng: Unique receipt number
example: '3000827351831'
pattern: ^[A-Za-z0-9_-]+$
maxLength: 99
receiptType:
type: string
description: Тип чека:
• `SELL` – чек прихода
• `REFUND` – чек возврата
x-description-i18n:
eng: Receipt type:
• `SELL` – payment receipt
• `REFUND` – refund receipt
example: REFUND
enum:
- SELL
- REFUND
status:
type: string
description: 'Статус регистрации чека.
- `NEW` – создан черновик чека
- `IN_PROGRESS` – чек в процессе регистрации в ОФД
- `DONE` – чек успешно зарегистрирован в ОФД
- `FAILED` – регистрация чека в ОФД завершилась ошибкой
- `AWAITING` – технический статус перед отправкой чека на регистрацию в ОФД
'
x-description-i18n:
eng: Receipt registration status - `NEW` – a draft receipt has been created - `IN_PROGRESS` – receipt in the process of registration in the OFD - `DONE` – receipt was successfully registered in the OFD - `FAILED` – receipt registration in OFD ended with an error - `AWAITING` – technical status before sending the receipt for registration to the OFD
example: DONE
enum:
- NEW
- IN_PROGRESS
- DONE
- FAILED
- AWAITING
orderNumber:
type: string
description: Идентификатор заказа в системе мерчанта
x-description-i18n:
eng: Order ID in the merchant system
example: order-test
pattern: ^[A-z0-9-_.]+$
maxLength: 40
total:
type: number
description: Итоговая сумма чека в рублях
x-description-i18n:
eng: Total receipt amount in rubles
example: 1200
ofdUrl:
type: string
description: Ссылка на чек
Передается в ответе только для чеков в статусе DONE и при условии, что была получена от ОФД при регистрации чека. Список ОФД, которые поддерживают передачу ссылки на чек, необходимо уточнять у поставщика онлайн-кассы
x-description-i18n:
eng: Receipt link
Transmitted in the response only for receipts with the DONE status and provided that it was received from the OFD when registering the receipt. The list of OFDs that support the transfer of a receipt link must be clarified with the online cash register supplier
example: https://lk.platformaofd.ru/web/noauth/cheque?fn=7284440500012345&fp=1702712345&i=1234
ofdDocumentNumber:
type: number
description: '`Тег ФФД — 1040`
Фискальный номер документа'
x-description-i18n:
eng: '`Tag FFD — 1040`
Fiscal document number
'
example: 133
ofdDocumentAttribute:
type: string
description: '`Тег ФФД — 1077`
Фискальный признак документа'
x-description-i18n:
eng: '`Tag FFD — 1077`
Fiscal document attribute
'
example: '3449555941'
timezone:
type: string
description: '`Тег ФФД — 1011`
Часовая зона (+02:00, +03:00... +11:00). Только для ФФД 1.2'
x-description-i18n:
eng: '`Tag FFD - 1011`
Time zone (+02:00, +03:00... +11:00). Only for FFD 1.2
'
onlinePayment:
type: boolean
description: '`Тег ФФД — 1125`
Признак расчета в Интернете'
x-description-i18n:
eng: '`Tag FFD - 1125`
Internet settlement flag
'
FiscalReceiptBasic:
title: Receipt
type: object
x-description-i18n:
eng: Receipt data
description: Данные чека. Объект должен быть передан, если подключена фискализация чеков. При отсутствии объекта receipt чек не будет создан. Если объект receipt был передан, но заполнен некорректно, сервис вернет ошибку.
properties:
customer:
type: object
description: Данные покупателя
x-description-i18n:
eng: Buyer details
properties:
email:
type: string
description: '`Тег ФФД — 1008`
E-mail покупателя для отправки чека. Если объект customer не передан, то чек отправляется на электронную почту мерчанта'
x-description-i18n:
eng: '`Tag FFD - 1008`
Buyer''s email for sending a receipt. If the customer object is not passed, the receipt is sent to the merchant''s email
'
example: customer@test.ru
maxLength: 64
format: email
name:
type: string
description: '`Тег ФФД — 1227`
ФИО покупателя (ФФД 1.05)'
x-description-i18n:
eng: '`Tag FFD - 1227`
Full name of the buyer (FFD 1.05)
'
example: Иванов Иван Иванович
maxLength: 256
inn:
type: string
description: '`Тег ФФД — 1228`
ИНН покупателя. Может содержать только 10 или 12 цифр'
x-description-i18n:
eng: '`Tag FFD - 1228`
Buyer''s tax identification number of 10 or 12 digits'
pattern: ^(?:[0-9]{10}|[0-9]{12})$
example: '7707083893'
extra:
type: object
description: Дополнительная информация о покупателе (ФФД 1.2)
Объект свободного наполнения, передается в ОФД без изменений. Если Вам необходимо передать доп. данные покупателя в extra, то сверьтесь с протоколом Вашего ОФД
x-description-i18n:
eng: Additional information about the buyer (FFD 1.2)
An object of free filling, transferred to the OFD without changes. If you need to transfer additional buyer data to extra, then check with the protocol of your OFD
additionalProperties:
type: string
required:
- email
timezone:
type: string
description: '`Тег ФФД — 1011`
Часовая зона (+02:00, +03:00... +11:00). Только для ФФД 1.2'
x-description-i18n:
eng: '`Tag FFD - 1011`
Time zone (+02:00, +03:00... +11:00). Only for FFD 1.2
'
onlinePayment:
type: boolean
description: '`Тег ФФД — 1125`
Признак расчета в Интернете'
x-description-i18n:
eng: '`Tag FFD - 1125`
Internet settlement flag
'
items:
type: array
uniqueItems: true
minItems: 1
maxItems: 100
description: Позиции чека
x-description-i18n:
eng: Receipt items
items:
$ref: '#/components/schemas/receiptItem'
payments:
type: array
uniqueItems: true
minItems: 1
description: Данные об оплате
Объект заполняется только для чеков с зачетом аванса или частичной предоплаты. Если чек содержит только безналичный вид оплаты (без зачета аванса/частичной предоплаты), то объект payments не заполняется.
Если payments не передан, то по умолчанию заполняется безналичным видом оплаты и ее суммой, которая равна сумме чека
x-description-i18n:
eng: Payment types info. Object must be passed only for receipts that include prepaid amount (either advance or partial prepayment receipts)
If null, then value E_PAYMENT is set by default, with the total receipt amount
items:
$ref: '#/components/schemas/payments'
additionalUserProperty:
$ref: '#/components/schemas/additionalUserProperty'
required:
- items
RefundWithSplits:
title: RefundWithSplits
type: object
properties:
id:
type: string
example: 348230ad-2a8d-4976-af4f-8603d11cba8c
description: Идентификатор возврата
x-description-i18n:
eng: Refund ID
amount:
type: number
description: Сумма возврата в рублях
x-description-i18n:
eng: Refund amount in rubles
format: float
example: 432.21
paymentDetails:
$ref: '#/components/schemas/PaymentDetails'
customer:
type: object
description: Объект данных получателя, будет заполнен при отправке возврата в другой банк. **Заполняется только для возвратов по СБП**
x-description-i18n:
eng: Recipient data object, populated when sending a refund to another bank
properties:
bankAlias:
type: string
description: Код банка плательщика. Коды банков можно получить выполнив [[Запрос на получение списка банков]](#tag/QR/operation/getBanksForRefunds).
x-description-i18n:
eng: Recipient bank code from the bank list request
phone:
type: string
description: Номер телефона плательщика
x-description-i18n:
eng: Recipient's phone number
splits:
$ref: '#/components/schemas/Split'
status:
type: object
properties:
value:
type: string
description: Код состояния запроса на возврат
x-description-i18n:
eng: Refund status code
enum:
- IN_PROGRESS
- COMPLETED
- DECLINED
date:
type: string
description: Дата и время состояния
x-description-i18n:
eng: Status date and time
format: date-time
example: '2024-12-31T17:00:00+03:00'
receipt:
$ref: '#/components/schemas/FiscalReceiptBasic'
CreateRefundRequestV2:
title: CreateRefundRequestV2
type: object
properties:
id:
type: string
example: 348230ad-2a8d-4976-af4f-8603d11cba8c
pattern: ^[A-Za-z0-9-_.]+$
description: Идентификатор возврата
x-description-i18n:
eng: Refund ID
maxLength: 40
amount:
type: number
description: Сумма возврата
x-description-i18n:
eng: Refund amount
example: 432.21
format: float
paymentDetails:
$ref: '#/components/schemas/PaymentDetails'
splits:
$ref: '#/components/schemas/Split'
customer:
type: object
description: Объект передается, если требуется сделать возврат в другой банк или на другой номер. **Заполняется только при проведении возвратов по СБП.**
x-description-i18n:
eng: The object is transferred if you need to make a return to another bank or to another number
properties:
bankAlias:
type: string
description: Код банка плательщика. Коды банков можно получить выполнив [[Запрос на получение списка банков]](#tag/QR/operation/getBanksForRefunds).
x-description-i18n:
eng: Recipient bank code from the bank list request
phone:
type: string
description: Номер телефона плательщика
x-description-i18n:
eng: Recipient's phone number
required:
- bankAlias
- phone
receipt:
$ref: '#/components/schemas/FiscalReceiptBasic'
required:
- id
- amount
DigitalRubleOrder:
title: DigitalRubleOrder
allOf:
- $ref: '#/components/schemas/GetOrderResponseSchema'
UndefinedOrder:
title: UndefinedOrder
allOf:
- $ref: '#/components/schemas/GetOrderResponseSchema'
FiscalReceiptBasicWoRequiredParams:
title: ФФД 1.05 | ФФД 1.2
type: object
description: Данные чека
Объект передается в ответе, только если подключена фискализация и чек был передан в запросе на возврат
x-description-i18n:
eng: Receipt data
The object is transmitted in the response only if fiscalization is enabled and the receipt was transmitted in the refund request
properties:
customer:
type: object
description: Данные о покупателе
x-description-i18n:
eng: Buyer details
properties:
email:
type: string
description: '`Тег ФФД — 1008`
E-mail покупателя для отправки чека'
x-description-i18n:
eng: '`Tag FFD - 1008`
Buyer''s email for sending a receipt.
'
example: customer@test.ru
format: email
maxLength: 64
name:
type: string
description: '`Тег ФФД — 1227`
ФИО покупателя (ФФД 1.05)'
x-description-i18n:
eng: '`Tag FFD - 1227`
Full name of the buyer (FFD 1.05)
'
maxLength: 256
example: Иванов Иван Иванович
inn:
type: string
description: '`Тег ФФД — 1228`
ИНН покупателя. Может содержать только 10 или 12 цифр'
x-description-i18n:
eng: '`Tag FFD - 1228`
Buyer''s tax identification number of 10 or 12 digits'
pattern: ^(?:[0-9]{10}|[0-9]{12})$
example: '7707083893'
extra:
type: object
description: Дополнительная информация о покупателе (ФФД 1.2)
Объект свободного наполнения, передается в ОФД без изменений. Если Вам необходимо передать доп. данные покупателя в extra, то сверьтесь с протоколом Вашего ОФД
x-description-i18n:
eng: Additional information about the buyer (FFD 1.2)
An object of free filling, transferred to the OFD without changes. If you need to transfer additional buyer data to extra, then check with the protocol of your OFD
items:
type: array
uniqueItems: true
minItems: 1
maxItems: 100
description: Позиции чека
x-description-i18n:
eng: Receipt items
items:
$ref: '#/components/schemas/receiptItem'
payments:
type: array
uniqueItems: true
minItems: 1
description: Данные об оплате
Объект заполняется только для чеков с зачетом аванса или частичной предоплаты. Если чек содержит только безналичный вид оплаты (без зачета аванса/частичной предоплаты), то объект payments не заполняется.
Если payments не передан, то по умолчанию заполняется безналичным видом оплаты и ее суммой, которая равна сумме чека
x-description-i18n:
eng: Payment types info. Object must be passed only for receipts that include prepaid amount (either advance or partial prepayment receipts)
If null, then value E_PAYMENT is set by default, with the total receipt amount
items:
$ref: '#/components/schemas/payments'
additionalUserProperty:
$ref: '#/components/schemas/additionalUserProperty'
SbpOrder:
title: SbpOrder
allOf:
- $ref: '#/components/schemas/GetOrderResponseSchema'
- type: object
properties:
paymentParameters:
type: object
properties:
qrId:
type: string
description: Идентификатор QR-кода
sbpTransactionId:
type: string
description: Идентификатор операции в системе НСПК
AcquiringOrder:
title: AcquiringOrder
allOf:
- $ref: '#/components/schemas/GetOrderResponseSchema'
- type: object
properties:
paymentParameters:
type: object
properties:
rrn:
type: string
description: Идентификатор транзакции в системе Банка
authCode:
type: string
description: Код авторизации, полученный от Банка-эмитента
eci:
type: string
description: Уровень и тип риска операции в процессе обработки онлайн-платежа
Extra:
title: Extra
type: object
description: Дополнительные поля в формате key-value. Отображаются в реестрах.
x-description-i18n:
eng: Additional fields in key-value format. Displayed in registries
additionalProperties:
type: string
Error4xx:
title: Error4xx
type: object
properties:
code:
type: string
description: Код ошибки
x-description-i18n:
eng: Error code
message:
type: string
description: Описание ошибки
x-description-i18n:
eng: Error description
required:
- code
- message
GetOrderResponseSchema:
title: GetOrderResponseSchema
type: object
description: Схема ответа информации о заказе
x-description-i18n:
eng: Order information response schema
properties:
id:
type: string
description: Идентификатор заказа в системе мерчанта
x-description-i18n:
eng: Order ID in the merchant system
example: order-test
amount:
type: number
description: Сумма заказа
x-description-i18n:
eng: Order amount
example: 1200
comment:
$ref: '#/components/schemas/OrderComment'
status:
$ref: '#/components/schemas/OrderStatus'
expirationDate:
type: string
description: Дата истечения срока заказа
x-description-i18n:
eng: Order expiration date
format: date-time
example: '2024-12-31T17:00:00+03:00'
payformUrl:
type: string
format: uri
description: Ссылка на оплату
x-description-i18n:
eng: Payment form URL for order payment
example: https://pay.raif.ru/pay?payformId=1238ana84
extra:
$ref: '#/components/schemas/Extra'
paymentMethod:
$ref: '#/components/schemas/OrderPaymentMethod'
created:
type: string
format: date-time
description: Дата создания заказа
required:
- id
- amount
- status
- expirationDate
- created
Split:
title: Split
type: array
description: 'Набор параметров для сплитования платежа.
Сплитование позволяет ТСП передавать параметры распределения суммы платежа или возврата между контрагентами.
Сумма всех объектов сплита должна быть равна сумме операции.
При взаиморасчетах суммы платежей, указанные в сплите, увеличивают суммы к перечислению контрагентам, а суммы возвратов — уменьшают их.
Сплитование доступно только при агрегированной схеме взаиморасчетов. Чтобы настроить агрегированную схему, обратитесь в техническую поддержку банка: ecom@raiffeisen.ru. Подробнее см. в разделе [Схема взаиморасчетов](#tag/SettlementSchemes).'
x-description-i18n:
eng: 'Set of parameters for payment splitting.
Payment splitting allows the merchant to pass parameters for distributing a payment or refund amount among counterparties.
The total amount of all split objects must be equal to the operation amount.
In settlements, payment amounts specified in the split increase the amounts to be transferred to counterparties, while refund amounts decrease them.
Payment splitting is available only with the aggregated settlement scheme. To set up the aggregated scheme, contact bank technical support: ecom@raiffeisen.ru. See [Settlement schemes](#tag/SettlementSchemes).'
items:
type: object
properties:
accountId:
type: string
description: "\t\nstring\nИдентификтор реквизитов, которые были получены от поддержки."
x-description-i18n:
eng: ID of the bank account details obtained from support
amount:
type: number
description: Сумма зачисления
x-description-i18n:
eng: Crediting amount
format: float
exclusiveMinimum: 0
required:
- accountId
- amount
payments:
type: object
title: платежи
x-title-i18n:
eng: payments
required:
- type
- amount
description: Данные об оплате и ее видах
x-description-i18n:
eng: Info on payment and its types
properties:
type:
type: string
description: Вид оплаты. Возможные значения:
• E_PAYMENT – безналичная оплата
• PREPAID – предварительная оплата (зачет аванса и/или предыдущих платежей)
x-description-i18n:
eng: Payment type. Valid values:
• E_PAYMENT – electronic payment
• PREPAID – prepaid amount (advance payment and/or previous payments)
example: PREPAID
enum:
- E_PAYMENT
- PREPAID
amount:
type: number
description: '`Тег ФФД — 1081. Сумма по чеку безналичными`
`Тег ФФД — 1251. Сумма по чеку предоплатой (зачетом аванса и(или) предыдущих платежей)`
Сумма оплаты
Сумма всех переданных amount должна равняться итоговой сумме чека'
x-description-i18n:
eng: '`The tag FDF — 1081. Receipt amount non-cash payment`
`The tag FDF — 1251. Receipt amount prepayment (advance payment and(or) previous payment)`
Amount paid'
example: 1200
receiptItem:
type: object
title: ФФД 1.05 | ФФД 1.2
properties:
name:
type: string
maxLength: 128
description: '`Тег ФФД — 1030`
Наименование товара, работы, услуги, иного предмета расчета'
x-description-i18n:
eng: '`The tag FDF — 1030`
Name of goods, work, service, other payment objects'
example: Шоколадный торт
price:
type: number
description: '`Тег ФФД — 1079`
Цена за единицу товара, работы, услуги, иного предмета расчета в рублях (8 символов на целую часть, 2 на дробную)'
x-description-i18n:
eng: '`The tag FDF — 1079`
Price per unit of goods, work, services, other payment objects in rubles (8 characters for a whole part, 2 for a fractional part)'
example: 1200
quantity:
type: number
description: '`Тег ФФД — 1023`
Количество/вес (5 символов на целую часть, 3 на дробную)'
x-description-i18n:
eng: '`The tag FDF — 1023`
Quantity / weight (5 characters for a whole part, 3 for a fractional part)'
example: 1
amount:
type: number
description: '`Тег ФФД — 1043`
Сумма в рублях. Должна равняться произведению цены на количество (price * quantity). 8 символов на целую часть, 2 на дробную'
x-description-i18n:
eng: '`The tag FDF — 1023`
Amount in rubles. Must be equal to price * quantity (8 characters for a whole part, 2 for a fractional part)'
example: 1200
paymentObject:
type: string
description: '`Тег ФФД — 1212`
Признак предмета расчёта. Возможные значения:
• COMMODITY – товар, который не является подакцизным и не подлежит маркировке (ФФД 1.05 и ФФД 1.2)
• EXCISE – подакцизный товар, который не подлежит маркировке (ФФД 1.05 и ФФД 1.2)
• JOB – работа (ФФД 1.05 и ФФД 1.2)
• SERVICE – услуга (ФФД 1.05 и ФФД 1.2)
• PAYMENT – платеж (ФФД 1.05 и ФФД 1.2)
• ANOTHER – иной предмет расчета (ФФД 1.05 и ФФД 1.2)
• COMMODITY_MARKING_NO_CODE – товар, который не является подакцизным, подлежит маркировке, но не имеет кода маркировки (ФФД 1.2)
• COMMODITY_MARKING_WITH_CODE – товар, который не является подакцизным, подлежит маркировке и имеет код маркировки (ФФД 1.2)
• EXCISE_MARKING_NO_CODE – подакцизный товар, который подлежит маркировке, но не имеет кода маркировки (ФФД 1.2)
• EXCISE_MARKING_WITH_CODE – подакцизный товар, который подлежит маркировке и имеет код маркировки (ФФД 1.2)
Для авансовых чеков и чеков частичной предоплаты должен заполняться значением PAYMENT. Если параметр не передан, то заполняется значением COMMODITY по умолчанию'
x-description-i18n:
eng: '`The tag FDF — 1212`
Payment object type. Valid values:
• COMMODITY – good (FFD 1.05 and FFD 1.2)
• EXCISE – excisable good (FFD 1.05 and FFD 1.2)
• JOB – job (FFD 1.05 and FFD 1.2)
• SERVICE – service (FFD 1.05 and FFD 1.2)
• PAYMENT – payment (FFD 1.05 and FFD 1.2)
• ANOTHER – another payment object (FFD 1.05 and FFD 1.2)
• COMMODITY_MARKING_NO_CODE – marked good that has no marking code (FFD 1.2)
• COMMODITY_MARKING_WITH_CODE – marked good that has a marking code (FFD 1.2)
• EXCISE_MARKING_NO_CODE – excisable good that has no marking code (FFD 1.2)
• EXCISE_MARKING_WITH_CODE – excisable good that has a marking code (FFD 1.2)
For advance payments and prepayments value PAYMENT must be passed. If null, value COMMODITY will be set by default'
enum:
- COMMODITY
- EXCISE
- JOB
- SERVICE
- PAYMENT
- ANOTHER
- COMMODITY_MARKING_NO_CODE
- COMMODITY_MARKING_WITH_CODE
- EXCISE_MARKING_NO_CODE
- EXCISE_MARKING_WITH_CODE
example: COMMODITY_MARKING_WITH_CODE
paymentMode:
type: string
description: '`Тег ФФД — 1214`
Способ расчета. Возможные значения:
• FULL_PREPAYMENT – 100% предоплата до момента передачи предмета расчета
• FULL_PAYMENT – полная оплата в момент передачи предмета расчета
• ADVANCE – аванс
• PREPAYMENT – частичная предоплата до момента передачи предмета расчета
• CREDIT – Передача в кредит
• CREDIT_PAYMENT – Оплата кредита
Если параметр не передан, по умолчанию устанавливается значение FULL_PREPAYMENT'
x-description-i18n:
eng: '`The tag FDF — 1214`
Payment mode. Valid values:
• FULL_PREPAYMENT – 100% prepayment
• FULL_PAYMENT – full payment
• ADVANCE – advance payment
• PREPAYMENT – partial prepayment
• CREDIT – credit
• CREDIT_PAYMENT – credit payment
If null, the value FULL_PREPAYMENT is set dy default'
enum:
- FULL_PREPAYMENT
- FULL_PAYMENT
- ADVANCE
- PREPAYMENT
- CREDIT
- CREDIT_PAYMENT
example: FULL_PREPAYMENT
measurementUnit:
type: string
description: '`Тег ФФД — 2108`
Единица измерения товара, работы, услуги, иного предмета расчета.
Для ФФД 1.05 передавать строковое значение до 16 символов включительно.
Для ФФД 1.2 передавать значения из списка:
• PIECE – штука/единица/дробный товар
• GRAM – грамм
• KILOGRAM – килограмм
• TON – тонна
• CENTIMETER – сантиметр
• DECIMETER – дециметр
• METER – метр
• SQUARE_CENTIMETER – кв. сантиметр
• SQUARE_DECIMETER – кв. дециметр
• SQUARE_METER – кв. метр
• MILLILITER – миллилитр
• LITER – литр
• CUBIC_METER – куб. метр
• KILOWATT_HOUR – киловатт-час
• GIGACALORIE – гигакалория
• DAY – сутки/день
• HOUR – час
• MINUTE – минута
• SECOND – секунда
• KILOBYTE – килобайт
• MEGABYTE – мегабайт
• GIGABYTE – гигабайт
• TERABYTE – терабайт
• OTHER – иное
Если передано значение не из списка выше, то в ОФД автоматически будет передано OTHER
'
x-description-i18n:
eng: '`The tag FDF — 2108`
Unit of measurement of goods, work, services, other payment objects
If FFD 1.05, string value up to 16 symbols has to be passed.
If FFD 1.2, value from the list is accepted:
• PIECE – a piece
• GRAM – gram
• KILOGRAM – kilogram
• TON – ton
• CENTIMETER – centimeter
• DECIMETER – decimeter
• METER – meter
• SQUARE_CENTIMETER – sq. centimeter
• SQUARE_DECIMETER – sq. decimeter
• SQUARE_METER – sq. meter
• MILLILITER – milliliter
• LITER – liter
• CUBIC_METER – c. meter
• KILOWATT_HOUR – kilowatt-hour
• GIGACALORIE – gigacalorie
• DAY – day or 24 hours
• HOUR – an hour
• MINUTE – a minute
• SECOND – a second
• KILOBYTE – a kilobyte
• MEGABYTE – a megabyte
• GIGABYTE – a gigabyte
• TERABYTE – a terabyte
• OTHER – other
If passed value in off the list, value OTHER will passed automatically to OFD'''
example: PIECE
nomenclatureCode:
type: string
description: '`Тег ФФД — 1162`
Номенклатурный код товара в 16-ричном представлении с пробелами или в формате GS1 DataMatrix. Только для ФФД 1.05.
Примеры: ''''00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00'''' или ''''010463003407001221CMK45BrhN0WLf''''
Если вы используете БИФИТ или Чек-Онлайн, номенклатурный код должен быть передан строго в 16-ричном представлении с пробелами. Если LIFE PAY или Эвотор – строго в формате GS1 DataMatrix'
x-description-i18n:
eng: '`The tag FDF — 1162`
Product code in hexadecimal divided by spaces or in GS1 DataMatrix format. For FFD 1.05 only.
For example, "00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00" or "010463003407001221CMK45BrhN0WLf"
If you use BIFIT or Chekonline, the nomenclature code must be passed strictly in hexadecimal (hex) notation with spaces.
If you use LIFE PAY or Evotor, the nomenclature code must be passed strictly in GS1 DataMatrix format'
pattern: ^([a-fA-F0-9]{2}$)|(^([a-fA-F0-9]{2}\s){1,31}[a-fA-F0-9]{2}|01(?\d{14})21(?[a-zA-Z0-9!" % &'()*+\/\-.,:;=<>?_]{13})([a-zA-Z0-9!" % &'()*+\/\- .,:;=<>?_]{1,119})?|(?\d{14})(?[a-zA-Z0-9!" %&'()*+\/\-.,:;=<>?_]{11})[a-zA-Z0-9!" %&'()*+\/\-.,:;=<>?_]{4})$
maxLength: 150
example: 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00
vatType:
type: string
description: '`Тег ФФД — 1199`
Ставка НДС на позицию чека. Возможные значения:
• NONE – без НДС
• VAT0 – НДС по ставке 0%
• VAT10 – НДС чека по ставке 10%
• VAT110 – НДС чека по расчетной ставке 10/110
• VAT20 – НДС чека по ставке 20%
• VAT120 – НДС чека по расчетной ставке 20/120
• VAT5 – НДС чека по ставке 5%
• VAT105 – НДС чека по расчетной ставке 5/105
• VAT7 – НДС чека по ставке 7%
• VAT107 – НДС чека по расчетной ставке 7/107
• VAT22 – НДС чека по ставке 22%
• VAT122 – НДС чека по расчетной ставке 22/122'
x-description-i18n:
eng: '`The tag FDF — 1199`
VAT rate on each receipt item. Valid values:
• NONE – no VAT
• VAT0 – 0% VAT
• VAT10 – 10% VAT
• VAT110 – 10/110 VAT
• VAT20 – 20% VAT
• VAT120 – 20/120 VAT
• VAT5 – 5% VAT
• VAT105 – 5/105 VAT
• VAT7 – 7% VAT
• VAT107 – 7/107 VAT
• VAT22 – 22% VAT
• VAT122 – 22/122 VAT'
enum:
- NONE
- VAT0
- VAT10
- VAT110
- VAT20
- VAT120
- VAT5
- VAT105
- VAT7
- VAT107
- VAT22
- VAT122
example: VAT20
agentType:
type: string
description: '`Тег ФФД — 1222`
Признак агента по предмету расчета. Опциональный параметр, который заполняется только для операций через агента. Возможные значения:
• BANK_PAYING_AGENT – банковский платежный агент
• BANK_PAYING_SUBAGENT – банковский платежный субагент
• PAYING_AGENT – платежный агент
• PAYING_SUBAGENT – платежный субагент
• ATTORNEY – поверенный
• COMMISSION_AGENT – комиссионер
• ANOTHER – другой тип агента'
x-description-i18n:
eng: '`The tag FDF — 1222`
Agent type. Optional parameter which is required for agent operations only.
Valid values:
• BANK_PAYING_AGENT – bank paying agent
• BANK_PAYING_SUBAGENT – bank paying subagent
• PAYING_AGENT – paying agent
• PAYING_SUBAGENT – paying subagent
• ATTORNEY – attorney
• COMMISSION_AGENT – commission agent
• «ANOTHER» – another agent type'
enum:
- BANK_PAYING_AGENT
- BANK_PAYING_SUBAGENT
- PAYING_AGENT
- PAYING_SUBAGENT
- ATTORNEY
- COMMISSION_AGENT
- ANOTHER
example: ANOTHER
supplierInfo:
type: object
description: Данные о поставщике. Обязательно к заполнению, если заполнен параметр agentType
x-description-i18n:
eng: Supplier information. Required if agentType is filled in
properties:
phone:
type: string
description: '`Тег ФФД — 1171`
Телефон поставщика. Заполняется по формату "+79991234567", после кода +7 должно быть указано 10 цифр'
x-description-i18n:
eng: '`The tag FDF — 1171`
Supplier phone number. Filled in with Russian country code in format "+79991234567". The country code +7 must be followed by 10 digits'
format: +7XXXXXXXXXX
example: '+79991234567'
name:
type: string
description: '`Тег ФФД — 1225`
Наименование поставщика'
x-description-i18n:
eng: '`The tag FDF — 1225`
Supplier name'
example: ООО «Ромашка»
inn:
type: string
description: '`Тег ФФД — 1226`
ИНН поставщика. Может содержать только цифры в количестве 10 или 12 символов'
x-description-i18n:
eng: '`The tag FDF — 1226`
Supplier tax code of 10 or 12 digits'
maxLength: 12
example: '287381373424'
required:
- inn
marking:
type: object
description: 'Данные маркировки. Только для ФФД 1.2
Обязательно к заполнению, если предметом расчета является маркированный товар, который имеет код маркировки''
'
x-description-i18n:
eng: 'Marking data. Relevant for FFD 1.2 only
Must be passed for marked goods that have marking codes
'
properties:
quantity:
type: object
description: '`Тег ФФД — 1291`
Дробное количество маркированного товара
Обязательно к заполнению, если предметом расчета является дробный маркированный товар, который имеет код маркировки.
В таком случае параметр measurementUnit должен иметь значение PIECE
'
x-description-i18n:
eng: '`The tag FDF — 1291`
Fractional amount of marking goods
Must be passed for marked goods that have marking codes. If so, value PIECE must be passed in measurementUnit
'
properties:
numerator:
type: integer
description: '`Тег ФФД — 1293`
Числитель дробной части'
x-description-i18n:
eng: '`The tag FDF — 1293`
Fraction numerator'
example: 1
denominator:
type: integer
description: '`Тег ФФД — 1294`
Знаменатель дробной части'
x-description-i18n:
eng: '`The tag FDF — 1294`
Fraction denominator'
example: 3
required:
- numerator
- denominator
code:
type: object
description: Код маркировки
x-description-i18n:
eng: Marking code data
required:
- format
- value
properties:
format:
type: string
description: Формат кода маркировки
x-description-i18n:
eng: Marking code format
enum:
- UNKNOWN
- EAN8
- EAN13
- ITF14
- GS1M
- SHORT
- FUR
- EGAIS20
- EGAIS30
example: GS1M
value:
type: string
description: '`Тег ФФД — 1300. Нераспознанный код товара`
`Тег ФФД — 1301. КТ EAN-8`
`Тег ФФД — 1302. КТ EAN-13`
`Тег ФФД — 1303. КТ ITF-14`
`Тег ФФД — 1305. КТ GS1.М`
`Тег ФФД — 1306. КТ КМК, (SHORT)`
`Тег ФФД — 1307. КТ Меховые изделия, (FUR)`
`Тег ФФД — 1308. КТ ЕГАИС-3.0, (EGAIS20)`
`Тег ФФД — 1309. КТ ЕГАИС-3.0, (EGAIS30)`
Код маркировки. Должен соответствовать формату, переданному в параметре format'
x-description-i18n:
eng: '`The tag FDF — 1300. Undefined item code`
`The tag FDF — 1301. Item code EAN-8`
`The tag FDF — 1302. Item code EAN-13`
`The tag FDF — 1303. Item code ITF-14`
`The tag FDF — 1305. Item code GS1.М`
`The tag FDF — 1306. Item code SHORT`
`The tag FDF — 1307. Item code FUR`
`The tag FDF — 1308. Item code EGAIS20`
`The tag FDF — 1309. Item code EGAIS30`
Marking code. Value must match the format'
example: MDEwNDYwNzQyODY3OTA5MDIxNmVKSWpvV0g1NERkVSA5MWZmZDAgOTJzejZrU1BpckFwZk1CZnR2TGJvRTFkbFdDLzU4aEV4UVVxdjdCQmtabWs0PQ==
plannedStatus:
type: integer
minimum: 1
maximum: 6
description: '`Тег 2003 — планируемый статус маркированного торвара`
Только маркировок вида GS1M и SHORT
1 - Штучный товар, подлежащий обязательной маркировке
средством идентификации, реализован
2 - Мерный товар, подлежащий обязательной маркировке
средством идентификации, в стадии реализации
3 - Штучный товар, подлежащий обязательной маркировке
средством идентификации, возвращен
4 - Часть товара, подлежащего обязательной маркировке
средством идентификации, возвращена
5 - Штучный товар, подлежащий обязательной маркировке
средством идентификации, в стадии реализации
6 - Мерный товар, подлежащий обязательной маркировке
средством идентификации, реализован
'
required:
- code
sectoralProperties:
type: array
minItems: 1
maxItems: 5
description: '`Тег ФФД — 1260`
Отраслевые реквизиты предмета расчета. Только для ФФД 1.2
Большинство ОФД поддерживают обработку только 1 элемента в массиве. Если Вам необходимо передавать более 1 элемента в массиве, то сверьтесь с протоколом Вашего ОФД
'
x-description-i18n:
eng: '`The tag FDF — 1260`
Sectoral properties. Relevant for FFD 1.2 only
Most OFD support processing of only 1 element in an array. If you need to transfer more than 1 element in an array, then check with the protocol of your OFD
'
items:
type: object
properties:
federalId:
type: string
description: '`Тег ФФД — 1262`
Идентификатор Федерального органа исполнительной власти. Должно принимать одно из значений справочника в соответствии с [приказом ФНС России](https://www.nalog.gov.ru/rn77/about_fts/docs/10020801/)'
x-description-i18n:
eng: '`The tag FDF — 1262`
Identifier of the Federal Executive Authority. Must take one of the directory values in accordance with [the order of the Federal Tax Service of Russia](https://www.nalog.gov.ru/rn77/about_fts/docs/10020801/)'
example: '030'
documentDate:
type: string
format: date
description: '`Тег ФФД — 1263`
Дата нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения поля «значение отраслевого реквизита»'
x-description-i18n:
eng: '`The tag FDF — 1263`
Date of the normative act of the federal executive body regulating the procedure for filling in the field "value of the sectoral property"'
example: '2023-11-21'
documentNumber:
type: string
description: '`Тег ФФД — 1264`
Номер нормативного акта федерального органа исполнительной власти, регламентирующего порядок заполнения поля «значение отраслевого реквизита»'
x-description-i18n:
eng: '`The tag FDF — 1264`
Number of the normative act of the federal executive body, regulating the procedure for filling in the field "value of the sectoral property"'
example: '1944'
value:
type: string
description: '`Тег ФФД — 1265`
Значение отраслевого реквизита. Заполнение регламентируется нормативным актом федерального органа исполнительной власти'
x-description-i18n:
eng: '`The tag FDF — 1265`
The value of the sectoral property. Filling is regulated by the normative act of the federal executive authority'
example: UUID=2ce10bdb-6515-4d37-be04-dd475b98c728&Time=1692691702067
required:
- federalId
- documentDate
- documentNumber
- value
required:
- name
- price
- quantity
- amount
- vatType
additionalUserProperty:
type: object
required:
- name
- value
description: '`Тег ФФД — 1084`
Дополнительный реквизит пользователя'
x-description-i18n:
eng: '`The tag FDF — 1084`
Additional user property'
properties:
name:
type: string
description: '`Тег ФФД — 1085`
Наименование дополнительного реквизита пользователя'
x-description-i18n:
eng: '`The tag FDF — 1085`
Additional user property name'
maxLength: 64
value:
type: string
description: '`Тег ФФД — 1086`
Значение дополнительного реквизита пользователя'
x-description-i18n:
eng: '`The tag FDF — 1086`
Additional user property value'
maxLength: 256
CreatedOrder:
title: CreatedOrder
type: object
properties:
paymentMethod:
$ref: '#/components/schemas/OrderPaymentMethod'
oneOf:
- $ref: '#/components/schemas/SbpOrder'
- $ref: '#/components/schemas/AcquiringOrder'
- $ref: '#/components/schemas/DigitalRubleOrder'
- $ref: '#/components/schemas/UndefinedOrder'
discriminator:
propertyName: paymentMethod
mapping:
SBP: '#/components/schemas/SbpOrder'
ACQUIRING: '#/components/schemas/AcquiringOrder'
UNDEFINED: '#/components/schemas/UndefinedOrder'
DIGITAL_RUBLE: '#/components/schemas/DigitalRubleOrder'
OrderStatusValue:
title: OrderStatusValue
type: string
enum:
- NEW
- PAID
- EXPIRED
- CANCELLED
OrderPaymentMethod:
title: OrderPaymentMethod
type: string
enum:
- UNDEFINED
- ACQUIRING
- SBP
- DIGITAL_RUBLE
description: 'Способ оплаты заказа
- `UNDEFINED` - Способ оплаты не определен (заказ не оплачен)
- `SBP` - Оплата по СБП
- `ACQUIRING` - Оплата по карте
- `DIGITAL_RUBLE` - Оплата по цифровому рублю'
x-description-i18n:
eng: 'Order payment method
- `UNDEFINED` - Payment method not defined (order not paid)
- `SBP` - Payment via SBP
- `ACQUIRING` - Payment by card
- `DIGITAL_RUBLE` - Payment by digital ruble
'
PaymentDetails:
title: PaymentDetails
type: string
description: 'Назначение платежа. Отображается в выписке. Может содержать:
- Символы латиницы (A–Z и a–z)
- Символы кириллицы (А-Я и а-я)
- Цифры 0-9
- Спецсимволы: пробел и `!`, `"`, `#`, `$`, `%`, `''`, `(`, `)`, `*`, `+`, `,`, `-`, `.`, `/`, `:`, `;`, `=`, `>`, `?`, `@`, `[`, `\`, `]`, `^`, `_`, `{`, `|`, `}`, `~`
- Спецсимвол `№`'
x-description-i18n:
eng: 'Payment details. Displayed in the statement. May contain:
- Latin characters (A–Z and a–z)
- Cyrillic characters (А-Я and а-я)
- Digits 0-9
- Special characters: space and `!`, `"`, `#`, `$`, `%`, `''`, `(`, `)`, `*`, `+`, `,`, `-`, `.`, `/`, `:`, `;`, `=`, `>`, `?`, `@`, `[`, `\`, `]`, `^`, `_`, `{`, `|`, `}`, `~`
- Special character `№`'
pattern: ^(?=.*\S)[A-Za-zА-Яа-яЁё0-9 !"#$%''()*+,\-./:;=>?@\[\\\]\^_`{\|}~№]+$
GeneralError:
title: General Error
type: object
properties:
code:
type: string
description: Код ошибки запроса
x-description-i18n:
eng: Request error code
message:
type: string
description: Описание ошибки
x-description-i18n:
eng: Error description
traceId:
type: string
description: Идентификатор выполнения запроса при наличии ошибки
x-description-i18n:
eng: Request ID if there is an error
parameters:
orderId:
name: orderId
in: path
required: true
schema:
type: string
maxLength: 40
description: Идентификатор заказа в системе мерчанта
x-description-i18n:
eng: Unique order ID in the merchant system
refundId:
name: refundId
in: path
required: true
schema:
type: string
description: Уникальный идентификатор запроса на возврат в системе мерчанта
x-description-i18n:
eng: Return request ID in the merchant system
publicId:
name: publicId
in: path
required: true
schema:
type: string
description: Идентификатор мерчанта в системе Банка
x-description-i18n:
eng: Merchant ID in the Bank system
securitySchemes:
secretKey:
type: http
scheme: bearer
bearerFormat: JWT
description: 'Указывается в заголовке `Authorization` в формате `Bearer `.
Подробная информация содержится в разделе [Авторизация](#section/API/Avtorizaciya)'
x-description-i18n:
eng: 'Specified in the `Authorization` header in the format `Bearer `.
Detailed information is contained in the [Authorization] section (#section/API/Authorizaciya)
'
x-refined-from:
- raiffeisen-ru-raif-pay-payment-form-openapi.json
- raiffeisen-ru-raif-pay-payment-form-openapi.yml