openapi: 3.2.0
info:
title: Raiffeisen Ru Subscriptions 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 subscriptions 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: Subscriptions
x-displayName: Подписки и рекуррентные платежи
x-x-displayName-i18n:
eng: Subscriptions
description: 'В данном разделе описаны методы, с помощью которых можно провести списание по оформленной подписке, а также получить статус платежа.
**API для данного сценария может быть расширяемым**.'
x-description-i18n:
eng: 'This section describes the methods by which you can write off a pre-formed subscription, as well as obtain the payment status.
**The API for this scenario may be extensible**.
'
paths:
/payments/v1/merchants/{publicId}/payments:
parameters:
- $ref: '#/components/parameters/publicId'
post:
summary: Создание платежа
x-summary-i18n:
eng: Create payment
operationId: post-payments-v1-merchants-publicId-payments
responses:
'200':
$ref: '#/components/responses/CreatePaymentResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Ошибка формирования платежа:
$ref: '#/components/examples/WL_ERROR_400_ERROR_CREATE_PAYMENT'
Ошибка валидации:
$ref: '#/components/examples/WL_ERROR_400_ERROR_VALID_TO_CREATE_PAYMENT'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Доступ запрещен:
$ref: '#/components/examples/WL_ERROR_403_FORBIDDEN'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Внутренняя ошибка сервиса:
$ref: '#/components/examples/GENERAL_INTERNAL_ERROR_500'
description: 'Метод позволяет сформировать платеж по ранее сформированной привязке.
Подробнее о сценариях подписок и привязок см. в разделе [[Подписки и привязки]](#section/Shemy-raboty/Podpiski-i-privyazki).
Привязку можно создать:
* С помощью метода [[Создание заказа с получением платежной ссылки]](#operation/post-payments-v1-merchants-publicId-orders-payment-link2) — при открытии платежной формы
* С помощью метода [[Создание подписки на форме]](#operation/post-v1-merchants-publicId-forms) — непосредственно на платежной форме банка
При успешном списании на адрес мерчанта будет отправлено [[Уведомление об оплате (v3)]](#tag/Callback/operation/payment-callback)'
x-description-i18n:
eng: 'The method allows you to generate a payment for a previously created subscription.
'
tags:
- Subscriptions
requestBody:
$ref: '#/components/requestBodies/CreatePaymentRequest'
security:
- secretKey: []
parameters: []
x-internal: false
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
/payments/v1/merchants/{publicId}/payments/{id}:
parameters:
- $ref: '#/components/parameters/publicId'
- schema:
type: string
name: id
in: path
required: true
description: Идентификатор платежа
x-description-i18n:
eng: Payment ID
get:
summary: Получение информации по платежу
x-summary-i18n:
eng: Receiving payment information
tags:
- Subscriptions
responses:
'200':
$ref: '#/components/responses/GetWLStatusCardPaymentResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Доступ запрещен:
$ref: '#/components/examples/WL_ERROR_403_FORBIDDEN'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Платеж не найден:
$ref: '#/components/examples/WL_ERROR_404_PAYMENT_NOT_FOUND'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Внутренняя ошибка сервиса:
$ref: '#/components/examples/GENERAL_INTERNAL_ERROR_500'
operationId: get-payments-v1-merchants-publicId-payments-id
security:
- secretKey: []
description: Метод позволяет получить состояние платежа.
x-description-i18n:
eng: '`For merchants with PCI DSS certificate`
The method allows you to get the payment status, as well as the necessary data for passing 3DS authentication at any stage of payment.
'
x-internal: false
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
/v1/merchants/{publicId}/subscriptions/{id}:
parameters:
- $ref: '#/components/parameters/publicId'
- schema:
type: string
name: id
in: path
required: true
description: Идентификатор подписки
x-description-i18n:
eng: Subscription ID
get:
summary: Получение информации по подписке
x-summary-i18n:
eng: Receiving information by subscription
operationId: get-v1-merchants-publicId-subscriptions-id
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralSubscription'
examples:
ACQUIRING:
$ref: '#/components/examples/GET_SUBSCRIPTION_INFO_ACQUIRING'
SBP:
$ref: '#/components/examples/GET_SUBSCRIPTION_INFO_SBP'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Доступ запрещен:
$ref: '#/components/examples/FORBIDDEN_ERROR_403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Example 1:
$ref: '#/components/examples/SUBSCRIPTION_NOT_FOUND'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Example 1:
$ref: '#/components/examples/GENERAL_INTERNAL_ERROR_500'
tags:
- Subscriptions
description: Метод позволяет получить информацию по подписке
x-description-i18n:
eng: The method allows you to obtain information about a subscription
security:
- secretKey: []
patch:
summary: Изменение подписки
x-summary-i18n:
eng: Change subscription
operationId: patch-v1-merchants-publicId-subscriptions-id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChangeSubscription'
responses:
'200':
$ref: '#/components/responses/GetSubscriptionResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Доступ запрещен:
$ref: '#/components/examples/FORBIDDEN_ERROR_403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Example 1:
$ref: '#/components/examples/SUBSCRIPTION_NOT_FOUND'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Example 1:
$ref: '#/components/examples/GENERAL_INTERNAL_ERROR_500'
description: Метод позволяет изменить данные для подписки
x-description-i18n:
eng: The method allows you to change the subscription data
tags:
- Subscriptions
security:
- secretKey: []
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
/v2/merchants/{publicId}/subscriptions/{id}:
parameters:
- $ref: '#/components/parameters/publicId'
- schema:
type: string
name: id
in: path
required: true
description: Идентификатор подписки
x-description-i18n:
eng: Subscription ID
delete:
summary: Отмена подписки
x-summary-i18n:
eng: Cancel subscription
operationId: delete-v2-merchants-publicId-subscriptions-id
responses:
'200':
description: OK
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Example 1:
$ref: '#/components/examples/SUBSCRIPTION.DELETE_SUBSCRIPTION'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Доступ запрещен:
$ref: '#/components/examples/FORBIDDEN_ERROR_403'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Подписка не найдена:
$ref: '#/components/examples/SUBSCRIPTION_NOT_FOUND'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralError'
examples:
Ошибка сервиса:
$ref: '#/components/examples/GENERAL_INTERNAL_ERROR_500'
description: 'Метод позволяет отменить подписку. После отмены проведение списаний по подписке будет недоступно.
Отменить можно подписку только в статусе `SUBSCRIBED`.'
x-description-i18n:
eng: 'This method allows you to cancel subscription. After cancellation, subscription charges will no longer be available.
You can only cancel a subscription if it has the `SUBSCRIBED` status.'
tags:
- Subscriptions
security:
- secretKey: []
servers:
- url: https://pay-test.raif.ru/api
description: Sandbox
- url: https://pay.raif.ru/api
description: Production
components:
schemas:
ClearingStatus:
title: ClearingStatus
type: string
enum:
- PENDING
- COMPLETED
- FAILED
PaymentDeclineReason:
type: string
description: Код причины отклонения платежа. Описание значений приведено в разделе [Справочник ошибок](#tag/Errors).
x-description-i18n:
eng: Payment decline reason code. Values are described in [List of errors](#tag/Errors).
enum:
- PAYMENT_DECLINED
- INSUFFICIENT_FUNDS
- LIMIT_EXCEEDED
- PAYER_LIMIT_EXCEEDED
- CARD_UNAVAILABLE
- FRAUD_SUSPECTED
- TIMEOUT
- INVALID_DATA
- OPERATION_NOT_SUPPORTED
- ACCOUNT_NOT_FOUND
- AUTHENTICATION_FAILED
- PROCESSING_ERROR
- USER_CANCELLED
- SUBSCRIPTION_TERMINATED
SubscriptionAutoCharge:
title: SubscriptionAutoCharge
type: object
description: Данные автоматического списания по подписке. Объект передается, если по подписке необходимо взимать деньги на регулярной основе.
x-description-i18n:
eng: Automatic subscription debit data. This item is passed if the subscription requires recurring payments.
properties:
frequency:
type: string
description: 'Периодичность списания по подписке
Если параметр передан, то банк будет автоматически проводить ежемесячное списание средств.'
x-description-i18n:
eng: 'Subscription debit frequency
If this parameter is passed, the bank will automatically debit funds monthly.'
enum:
- MONTHLY
firstChargeDate:
type: string
format: date
description: 'Дата первого списания по подписке
Списание в указанную дату произойдет автоматически, далее – с заданной периодичностью начиная с этой даты. Переданное значение должно быть не меньше 7 дней от текущей даты. Например, при создании подписки 1 января firstChargeDate может быть 8 января или позже.
Если параметр не передан, то при `frequency` равен `MONTHLY` первое списание по подписке произойдет через месяц после привязки счета клиентом.'
x-description-i18n:
eng: 'Date of first subscription charge
The debit will be automatically debited on the specified date. Then, it will be debited at the specified frequency starting from that date. The value passed must be at least 7 days old. For example, if you create a subscription on January 1st, firstChargeDate could be January 8th or later.
If the parameter is not passed, then if `frequency` is equal to `MONTHLY`, the first subscription charge will occur one month after the client links the account.'
amount:
type: number
description: Сумма платежа в рублях. Для копеек доступно два знака после точки.
x-description-i18n:
eng: Payment amount in rubles. For kopecks, two decimal places are allowed.
minimum: 1
required:
- frequency
- amount
GeneralWLPayment:
type: object
x-examples: {}
properties:
id:
type: string
description: Идентификатор платежа. Если не передан будет сформирован на стороне Банка. Рекомендуем использовать [UUID v4](https://ru.wikipedia.org/wiki/UUID)
x-description-i18n:
eng: Payment id
maxLength: 40
pattern: ^[A-Za-z0-9-_.]+$
amount:
type: number
description: Сумма платежа в рублях. Для копеек доступно два знака после точки.
x-description-i18n:
eng: Payment amount in rubles. For kopecks, two signs after the dot are available.
exclusiveMinimum: 0
order:
type: object
description: Заказ
x-description-i18n:
eng: Order
properties:
id:
type: string
description: Идентификатор заказа. Если не передан будет сформирован на стороне Банка. Рекомендуем использовать [UUID v4](https://ru.wikipedia.org/wiki/UUID)
x-description-i18n:
eng: Order id
maxLength: 40
pattern: ^[A-Za-z0-9-_.]+$
comment:
$ref: '#/components/schemas/OrderComment'
extra:
$ref: '#/components/schemas/Extra'
status:
type: object
description: Статус платежа
x-description-i18n:
eng: Payment status
required:
- value
- date
properties:
value:
$ref: '#/components/schemas/WLPaymentStatus'
date:
type: string
description: Дата и время создания платежа
x-description-i18n:
eng: Date and time of payment update
format: date-time
declineReason:
$ref: '#/components/schemas/PaymentDeclineReason'
splits:
$ref: '#/components/schemas/Split'
required:
- id
- amount
- status
Subscription:
title: Subscription
type: object
description: Данные для оформления подписки и будущих рекурентных платежей. Результат подписки зависит от плательщика. При успешной подписке будет отправлено [[Уведомление о подписке (v2)]](#tag/Callback/operation/subscriptionNotificationV2).
x-description-i18n:
eng: Subscription data. Subscription results depend on the payer. If the subscription is successful [[a subscription notification (v2) will be sent to the merchant's address]](#tag/Callback/operation/subscriptionNotificationV2).
properties:
id:
type: string
description: Идентификатор подписки. Рекомендуем использовать длинный формат без возможности перебора, например, использовать формат [UUIDv4](https://ru.wikipedia.org/wiki/UUID)
x-description-i18n:
eng: Subscription ID. We recommend using a long, non-threadable format, such as [UUIDv4](https://ru.wikipedia.org/wiki/UUID)
maxLength: 40
example: a7631fbb-f94f-4c17-1e13-0e96a3a77113
pattern: ^[A-Za-z0-9-_.]+$
purpose:
type: string
description: 'Описание подписки
Может содержать:
* Символы латиницы (A-Z и a-z)
* Символы кириллицы (А-Я и а-я)
* Цифры 0-9
* Спецсимволы: `(`, `)`, `!`, `@`, `[`, `]`, `#`, `+`, `=`, `-`, `|`, `.`, `,`'
x-description-i18n:
eng: 'Subscription description
May contain:
* Latin characters (A-Z и a-z)
* Cyrillic symbols (А-Я и а-я)
* Numbers 0-9
* Special characters: `(`, `)`, `!`, `@`, `[`, `]`, `#`, `+`, `=`, `-`, `|`, `.`, `,`'
maxLength: 140
example: Подписка на интернет магазин
pattern: ^[A-Za-zА-Яа-я0-9 ()!@\[\]#+=_\|.,-]+$
autoCharge:
$ref: '#/components/schemas/SubscriptionAutoCharge'
customer:
$ref: '#/components/schemas/SubscriptionCustomer'
autoAcceptance:
type: boolean
default: false
description: 'Флаг для управления привязкой карты. Если флаг установлен в `true`, чекбокс привязки на платежной форме будет установлен по умолчанию на согласие плательщика с привязкой карты.
Для управления флагом необходима дополнительная настройка со стороны Банка.
Поле используется только для метода [[Создание заказа с получением платежной ссылки]](#tag/payform/operation/post-payments-v1-merchants-publicId-orders-payment-link2)
'
x-description-i18n:
eng: 'Flag for managing card binding. If the flag is set to `true`, the binding checkbox on the payment form will be checked by default to indicate the payer''s consent to binding the card.
Additional configuration on the Bank''s side is required to manage this flag.
The field is only used for the [[Create order with payment link]](#tag/payform/operation/post-payments-v1-merchants-publicId-orders-payment-link2) method
'
required:
- purpose
CreatedPayment:
title: CreatedPayment
properties:
stage:
$ref: '#/components/schemas/PaymentStage'
oneOf:
- $ref: '#/components/schemas/PostCreatedSubscriptionPayment'
- $ref: '#/components/schemas/CreatedWLPayment3DS1'
- $ref: '#/components/schemas/CreatedWLPayment3DS2'
discriminator:
propertyName: stage
mapping:
CREATED_SUBSCRIPTION_PAYMENT: '#/components/schemas/PostCreatedSubscriptionPayment'
CREATED_PAYMENT_3DS1: '#/components/schemas/CreatedWLPayment3DS1'
CREATED_PAYMENT_3DS2: '#/components/schemas/CreatedWLPayment3DS2'
x-examples:
Example 1:
value:
id: payment-test
amount: 540
order:
id: order-test
comment: Оплата молока
extra:
email: pavel@mail.ru
flow: SUBSCRIPTION
status:
value: SUCCESS
date: '2025-11-29T19:43:54+03:00'
stage: CREATED_SUBSCRIPTION_PAYMENT
paymentDetails: Оплата молока на Фрунзе 1
subscriptionId: subscription-test
recurringType: UNSCHEDULED
parameters:
paymentMethod: ACQUIRING
eci: '02'
rrn: '935014591810'
authCode: 259AA
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: Тестовый комментарий
FinalWLCardPayment:
title: Успешный / неуспешный платеж
allOf:
- $ref: '#/components/schemas/GeneralWLPayment'
- type: object
properties:
stage:
$ref: '#/components/schemas/PaymentStage'
flow:
$ref: '#/components/schemas/PaymentFlow'
clearing:
$ref: '#/components/schemas/Clearing'
parameters:
type: object
description: Данные платежа
x-description-i18n:
eng: Payment details
properties:
rrn:
type: string
description: Идентификатор транзакции в системе Банка
x-description-i18n:
eng: Transaction ID in the Bank system
authCode:
type: string
description: Код авторизации, полученный от Банка-эмитента
x-description-i18n:
eng: Authorization code received from the Issuing Bank
eci:
type: string
description: Уровень и тип риска операции в процессе обработки онлайн-платежа
x-description-i18n:
eng: The level and type of risk of the transaction during the online payment processing process
required:
- stage
- flow
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
CreatedSubscriptionPayment:
title: CreatedSubscriptionPayment
allOf:
- $ref: '#/components/schemas/GeneralPayment'
- type: object
properties:
status:
type: object
description: Статус платежа
x-description-i18n:
eng: Payment status
required:
- value
- date
properties:
value:
$ref: '#/components/schemas/SubscriptionPaymentStatus'
date:
type: string
description: Дата и время создания платежа
x-description-i18n:
eng: Date and time of payment update
format: date-time
declineReason:
$ref: '#/components/schemas/PaymentDeclineReason'
stage:
$ref: '#/components/schemas/PaymentStage'
flow:
$ref: '#/components/schemas/PaymentFlow'
paymentDetails:
type: string
description: Назначение платежа. Используется для оплаты по подписке СБП.
x-description-i18n:
eng: Payment purpose. Used for payment under the SBP subscription.
maxLength: 140
subscriptionId:
type: string
description: Идентификатор подписки
x-description-i18n:
eng: Subscription ID
pattern: ^[A-Za-z0-9-_.]+$
recurringType:
$ref: '#/components/schemas/SubscriptionRecurringType'
parameters:
$ref: '#/components/schemas/SubsriptionPaymentParameters'
splits:
$ref: '#/components/schemas/Split'
clearing:
$ref: '#/components/schemas/Clearing'
required:
- status
- stage
- flow
Status:
title: Status
type: object
description: Статус
x-description-i18n:
eng: Status
properties:
value:
type: string
description: Статус подписки
x-description-i18n:
eng: Subscription status
enum:
- INACTIVE
- SUBSCRIBED
- UNSUBSCRIBED
- REVOKED_BY_ISSUER
- CANCELLED
date:
type: string
description: Дата формирования подписки
x-description-i18n:
eng: Subscription formation date
format: date-time
AutoCharge:
title: AutoCharge
type: object
description: Данные автоматического списания по подписке. Объект передается, если по подписке необходимо взимать деньги на регулярной основе.
x-description-i18n:
eng: Automatic subscription debit data. This item is passed if the subscription requires recurring payments.
properties:
frequency:
type: string
description: 'Периодичность списания по подписке
Если параметр передан, то банк будет автоматически проводить ежемесячное списание средств.'
x-description-i18n:
eng: 'Subscription debit frequency
If this parameter is passed, the bank will automatically debit funds monthly.'
enum:
- MONTHLY
firstChargeDate:
type: string
format: date
description: 'Дата первого списания по подписке
Списание в указанную дату произойдет автоматически, далее – с заданной периодичностью начиная с этой даты. Переданное значение должно быть не меньше 7 дней от текущей даты. Например, при создании подписки 1 января firstChargeDate может быть 8 января или позже.
Если параметр не передан, то при `frequency` равен `MONTHLY` первое списание по подписке произойдет через месяц после привязки счета клиентом.'
x-description-i18n:
eng: 'Date of first subscription charge
The debit will be automatically debited on the specified date. Then, it will be debited at the specified frequency starting from that date. The value passed must be at least 7 days old. For example, if you create a subscription on January 1st, firstChargeDate could be January 8th or later.
If the parameter is not passed, then if `frequency` is equal to `MONTHLY`, the first subscription charge will occur one month after the client links the account.'
amount:
type: number
description: Сумма платежа в рублях. Для копеек доступно два знака после точки.
x-description-i18n:
eng: Payment amount in rubles. For kopecks, two decimal places are allowed.
exclusiveMinimum: 0
PaymentInfo:
title: PaymentInfo
properties:
stage:
$ref: '#/components/schemas/PaymentStage'
oneOf:
- $ref: '#/components/schemas/CreatedWLPayment3DS1'
- $ref: '#/components/schemas/CreatedWLPayment3DS2'
- $ref: '#/components/schemas/ContinueWLPayment3DS1'
- $ref: '#/components/schemas/ContinueWLPayment3DS2'
- $ref: '#/components/schemas/FinalWLCardPayment'
- $ref: '#/components/schemas/CreatedSubscriptionPayment'
discriminator:
propertyName: stage
mapping:
CREATED_SUBSCRIPTION_PAYMENT: '#/components/schemas/CreatedSubscriptionPayment'
CREATED_PAYMENT_3DS1: '#/components/schemas/CreatedWLPayment3DS1'
CREATED_PAYMENT_3DS2: '#/components/schemas/CreatedWLPayment3DS2'
CONTINUE_PAYMENT_3DS1: '#/components/schemas/ContinueWLPayment3DS1'
CONTINUE_PAYMENT_3DS2: '#/components/schemas/ContinueWLPayment3DS2'
FINAL_CARD_PAYMENT: '#/components/schemas/FinalWLCardPayment'
ContinueWLPayment:
title: ContinueWLPayment
allOf:
- $ref: '#/components/schemas/GeneralWLPayment'
- type: object
properties:
stage:
type: string
Order:
title: Order
type: object
description: Заказ
x-description-i18n:
eng: Order
properties:
id:
type: string
pattern: ^[A-Za-z0-9-_.]+$
description: Идентификатор заказа. Если не передан будет сформирован на стороне Банка. Рекомендуем использовать [UUID v4](https://ru.wikipedia.org/wiki/UUID)
x-description-i18n:
eng: Order ID. If not provided, it will be generated by the Bank. We recommend using [UUID v4](https://ru.wikipedia.org/wiki/UUID)
maxLength: 40
comment:
$ref: '#/components/schemas/OrderComment'
GeneralSubscription:
title: GeneralSubscription
oneOf:
- $ref: '#/components/schemas/SbpSubscription'
- $ref: '#/components/schemas/CardSubscription'
- $ref: '#/components/schemas/UndefinedSubscription'
discriminator:
propertyName: paymentMethod
mapping:
ACQUIRING: '#/components/schemas/CardSubscription'
SBP: '#/components/schemas/SbpSubscription'
UNDEFINED: '#/components/schemas/UndefinedSubscription'
CardSubscription:
title: CardSubscription
allOf:
- $ref: '#/components/schemas/schemas-Subscription'
- type: object
properties:
paymentMethod:
type: string
description: Способ оплаты
x-description-i18n:
eng: Payment method
groupId:
$ref: '#/components/schemas/SubscriptionGroup'
paymentSystem:
type: string
description: Платежная система
x-description-i18n:
eng: Payment system
enum:
- MIR
- VISA
- MASTERCARD
cardNumber:
type: string
description: Маскированный номер карты
x-description-i18n:
eng: Masked payer card number
pattern: ^[0-9*]+$
minLength: 1
maxLength: 20
example: '2201382000000039'
expirationDate:
type: string
description: Срок действия карты
x-description-i18n:
eng: Card validity period
example: 2025-10
pattern: ^(20\d{2})-(0[1-9]|1[0-2])$
SubscriptionPayment:
title: SubscriptionPayment
allOf:
- $ref: '#/components/schemas/GeneralPayment'
- type: object
properties:
flow:
$ref: '#/components/schemas/PaymentFlow'
paymentDetails:
type: string
description: Назначение платежа. Используется для оплаты по подписке СБП.
x-description-i18n:
eng: Payment purpose. Used for payment under the SBP subscription.
maxLength: 140
subscriptionId:
type: string
description: Идентификатор подписки
x-description-i18n:
eng: Subscription ID
pattern: ^[A-Za-z0-9-_.]+$
maxLength: 40
recurringType:
$ref: '#/components/schemas/SubscriptionRecurringType'
receipt:
allOf:
- type: object
properties:
receiptNumber:
type: string
pattern: ^[A-Za-z0-9-_.]+$
description: Идентификатор чека. Если не передан будет соответствовать идентификатору заказа. Рекомендуем использовать [UUID v4](https://ru.wikipedia.org/wiki/UUID)
x-description-i18n:
eng: Receipt ID. If not passed, it will match the order ID. We recommend using [UUID v4](https://ru.wikipedia.org/wiki/UUID)
- $ref: '#/components/schemas/FiscalReceiptBasic'
splits:
$ref: '#/components/schemas/Split'
required:
- flow
- subscriptionId
- recurringType
Extra:
title: Extra
type: object
description: Дополнительные поля в формате key-value. Отображаются в реестрах.
x-description-i18n:
eng: Additional fields in key-value format. Displayed in registries
additionalProperties:
type: string
WLPaymentStatus:
title: WhitelabelPaymentStatus
type: string
description: "Статус платежа\n - `NEW` - Платеж создан успешно, необходимо продолжение платежа\n - `3DS_PENDING` - Требуется подтверждение аутентификации 3DS\n - `SUCCESS` - Платеж проведен\n - `DECLINED` - Платеж отклонен"
x-description-i18n:
eng: 'Payment status
- `NEW` - Payment created successfully, payment continuation required
- `3DS_PENDING` - 3DS authentication confirmation required
- `SUCCESS` - Payment completed
- `DECLINED` - Payment declined
'
enum:
- NEW
- 3DS_PENDING
- SUCCESS
- DECLINED
PaymentStage:
title: PaymentStage
type: string
enum:
- CREATED_PAYMENT_3DS1
- CREATED_PAYMENT_3DS2
- CONTINUE_PAYMENT_3DS1
- CONTINUE_PAYMENT_3DS2
- FINAL_CARD_PAYMENT
- CREATED_SUBSCRIPTION_PAYMENT
SbpSubscription:
title: SbpSubscription
allOf:
- $ref: '#/components/schemas/schemas-Subscription'
- type: object
properties:
paymentMethod:
type: string
description: Способ оплаты
x-description-i18n:
eng: Payment method
groupId:
$ref: '#/components/schemas/SubscriptionGroup'
bank:
type: object
description: Банк
x-description-i18n:
eng: Bank
properties:
name:
type: string
description: Наименование банка в котором оформлена подписка. Будет заполнен в случае успешной подписки.
x-description-i18n:
eng: The name of the bank where the subscription was made. This will be populated if the subscription is successful.
memberId:
type: string
description: Идентификатор банка в котором оформлена подписка. Будет заполнен в случае успешной подписки.
x-description-i18n:
eng: The identifier of the bank where the subscription was issued.. This will be populated if the subscription is successful.
qr:
type: object
description: QR-код используемый для оформления подписки
x-description-i18n:
eng: QR code used to subscribe
properties:
id:
type: string
description: Идентификатор QR-кода
x-description-i18n:
eng: QR ID
payload:
type: string
description: Данные для самостоятельной генерации изображения зарегистрированного QR-кода в СБП. При открытии с мобильного устройства, запускает банковское приложение клиента или список выбора банка
x-description-i18n:
eng: Data for independently generating an image of a registered QR code in the SBP. When opened from a mobile device, it launches the client's banking app or a bank selection list.
url:
type: string
description: URL с изображением зарегистрированного QR-кода в СБП
x-description-i18n:
eng: URL with an image of the QR code registered in the SBP
PaymentFlow:
title: PaymentFlow
type: string
description: 'Сценарий проведения платежа
* `SUBSCRIPTION` - [Только для сценария оплата по подписке](./ecom.html#tag/subscriptions)
* `CARD` - [Только для клиентов с PCI DSS](./wl-ecom.html#section/Shema-raboty/Provedenie-platezha-na-forme-klienta)
* `CARD_BINDING` - [Привязка карты](./wl-ecom.html#section/Shema-raboty/Privyazka-karty)'
x-description-i18n:
eng: 'Payment scenario
* `SUBSCRIPTION` - [Only for the subscription payment scenario](./ecom.html#tag/subscriptions)
* `CARD` - [Only for clients with PCI DSS](./wl-ecom.html#section/Shema-raboty/Provedenie-platezha-na-forme-klienta)
* `CARD_BINDING` - [Card binding](./wl-ecom.html#section/Shema-raboty/Privyazka-karty)'
enum:
- CARD
- SUBSCRIPTION
- CARD_BINDING
ContinueWLPayment3DS2:
title: Необходимо подтверждение 3DS v.2
allOf:
- $ref: '#/components/schemas/ContinueWLPayment'
- type: object
properties:
flow:
$ref: '#/components/schemas/PaymentFlow'
stage:
$ref: '#/components/schemas/PaymentStage'
parameters:
type: object
description: Данные, необходимые для проведения платежа
x-description-i18n:
eng: Data required to make a payment
properties:
threeDSVersion:
$ref: '#/components/schemas/ThreeDSVersion'
threeDS:
type: object
description: Данные для проведения 3DS
x-description-i18n:
eng: Data for conducting 3DS
properties:
acsUrl:
type: string
description: Адрес Банка-Эмитента для прохождения 3DS аутентификации
x-description-i18n:
eng: Issuing Bank address for 3DS authentication
creq:
type: string
description: Параметр, необходимый для продолжения платежа по 3DS2
x-description-i18n:
eng: Parameter required to proceed with 3DS2 payment
cresNotificationUrl:
type: string
description: URL-адрес на стороне мерчанта, на который ACS вернет ответ после прохождения 3DS. Также на данный адрес будет перенаправлен плательщик после успешного ввода OTP-кода.
x-description-i18n:
eng: The URL on the merchant side to which ACS will return a response after passing 3DS. The payer will also be redirected to this address after successfully entering the OTP code.
required:
- flow
- stage
UndefinedSubscription:
title: UndefinedSubscription
allOf:
- $ref: '#/components/schemas/schemas-Subscription'
- type: object
properties:
paymentMethod:
type: string
description: Способ оплаты
x-description-i18n:
eng: Payment method
CardPaymentParameters:
title: CardPaymentParameters
type: object
properties:
paymentMethod:
$ref: '#/components/schemas/SubscriptionPaymentMethod'
eci:
type: string
description: Уровень и тип риска операции в процессе обработки онлайн-платежа
x-description-i18n:
eng: The level and type of risk of the transaction during the online payment processing process
rrn:
type: string
description: Идентификатор транзакции в системе Банка
x-description-i18n:
eng: Transaction ID in the Bank system
authCode:
type: string
description: Код авторизации, полученный от Банка-эмитента
x-description-i18n:
eng: Authorization code received from the Issuing Bank
ThreeDSVersion:
title: threeDSVersion
type: string
enum:
- V1
- V2
description: Версия 3DS
x-description-i18n:
eng: 3DS version
CardPayment:
title: CardPayment
allOf:
- $ref: '#/components/schemas/GeneralPayment'
- type: object
properties:
flow:
$ref: '#/components/schemas/PaymentFlow'
subscription:
$ref: '#/components/schemas/Subscription'
splits:
$ref: '#/components/schemas/Split'
parameters:
type: object
description: Данные плательщика
x-description-i18n:
eng: Payer details
required:
- pan
- month
- year
- browserData
properties:
cvv:
type: string
description: Трехзначный защитный код
x-description-i18n:
eng: Three-digit security code
example: '880'
pan:
type: string
description: Номер карты
x-description-i18n:
eng: Card number
example: '4000001000000018'
month:
type: integer
description: Срок действия карты, месяц, MM
x-description-i18n:
eng: Card validity period, month, MM
example: 1
year:
type: integer
description: Срок действия карты, год, YYYY
x-description-i18n:
eng: Card validity period, year, YYYY
example: 2030
cardHolder:
type: string
description: Фамилия и имя держателя карты
x-description-i18n:
eng: Cardholder's first and last name
example: Ivan Ivanov
browserData:
type: object
description: Данные браузера плательщика
x-description-i18n:
eng: Payer browser data
required:
- userAgent
- colorDepth
- javaEnabled
- javaScriptEnabled
- language
- screenHeight
- screenWidth
- timezone
- ipAddress
properties:
userAgent:
type: string
description: Содержимое http заголовкa User-Agent
x-description-i18n:
eng: Content of the HTTP User-Agent header
colorDepth:
type: string
description: Глубина цвета палитры для отображения изображений в битах. Допустимые значения 1-99.
x-description-i18n:
eng: The color depth of the palette for displaying images in bits. Valid values are 1-99.
example: '24'
maxLength: 2
minLength: 1
pattern: ^[1-9][0-9]?$
javaEnabled:
type: boolean
description: Параметр указывает, включена ли в браузере плательщика поддержка Java
x-description-i18n:
eng: The parameter specifies whether Java support is enabled in the payer browser.
javaScriptEnabled:
type: boolean
description: Параметр указывает, включена ли в браузере плательщика поддержка JavaScript
x-description-i18n:
eng: The parameter specifies whether JavaScript support is enabled in the payer browser.
language:
type: string
description: Язык браузера
x-description-i18n:
eng: Browser language
enum:
- ru
- en
- zh
example: ru
screenHeight:
type: string
description: Высота экрана браузера плательщика в пикселях
x-description-i18n:
eng: Payer browser screen height in pixels
example: '1760'
screenWidth:
type: string
description: Ширина экрана браузера плательщика в пикселях
x-description-i18n:
eng: Payer browser screen width in pixels
example: '1800'
timezone:
type: string
description: 'Смещение временной зоны
браузера держателя карты по сравнению с
зоной UTC в минутах.
• Со знаком "плюс", если локальное время отстает от UTC
• Со знаком "минус", если локальное время опережает UTC
Например 300, если UTC-5'
x-description-i18n:
eng: 'The offset of the cardholder''s
browser time zone from the UTC zone in minutes.
• With a plus sign if local time is behind UTC
• With a minus sign if local time is ahead of UTC
For example 300 if UTC-5
'
example: '300'
ipAddress:
type: string
description: IP-адрес плательщика
x-description-i18n:
eng: Payer IP address
example: 77.77.77.77
required:
- flow
- parameters
SbpPaymentParameters:
title: SbpPaymentParameters
type: object
properties:
paymentMethod:
$ref: '#/components/schemas/SubscriptionPaymentMethod'
sbpTransactionId:
type: string
description: Уникальный идентификатор операции на уровне всей системы СБП
x-description-i18n:
eng: Unique transaction ID at the entire SBP system level
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
SubscriptionPaymentMethod:
description: '- `SBP` - Оплата привязанному счету СБП
- `ACQUIRING` - Оплата по привязанной карте'
x-description-i18n:
eng: '- `SBP` - Payment from a linked SBP account
- `ACQUIRING` - Payment from a linked card'
type: string
enum:
- ACQUIRING
- SBP
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
SubscriptionRecurringType:
title: SubscriptionRecurringType
type: string
enum:
- SCHEDULED
- UNSCHEDULED
description: "Тип повторяющегося платежа
\n * `SCHEDULED` - плата за подписку на услугу / сервис, инициированная ТСП на регулярной основе
\n * `UNSCHEDULED` - покупка без графика"
x-description-i18n:
eng: 'Recurring payment type
* `SCHEDULED` - a subscription fee for a service initiated by the merchant on a regular basis
* `UNSCHEDULED` - a purchase without a schedule, initiated by the payer'
ChangeSubscription:
title: ChangeSubscription
type: object
properties:
purpose:
$ref: '#/components/schemas/SubscriptionPurpose'
autoCharge:
$ref: '#/components/schemas/AutoCharge'
customer:
$ref: '#/components/schemas/SubscriptionCustomer'
PostCreatedSubscriptionPayment:
title: PostCreatedSubscriptionPayment
allOf:
- $ref: '#/components/schemas/CreatedSubscriptionPayment'
- type: object
properties:
receipt:
allOf:
- type: object
properties:
receiptNumber:
type: string
description: Идентификатор чека
x-description-i18n:
eng: Receipt ID
pattern: ^[A-Za-z0-9-_.]+$
- $ref: '#/components/schemas/FiscalReceiptBasic'
SubscriptionGroup:
title: SubscriptionGroup
type: string
description: Идентификатор группы подписок, объединенных общим методом оплаты рамках мерчанта. Используется для дедупликации однотипных подписок.
x-description-i18n:
eng: Subscription hash for client-side uniqueness verification
GeneralPayment:
title: GeneralPayment
type: object
properties:
id:
type: string
description: Идентификатор платежа. Если не передан будет сформирован на стороне Банка. Рекомендуем использовать [UUID v4](https://ru.wikipedia.org/wiki/UUID)
x-description-i18n:
eng: Payment identifier. If not transmitted, it will be generated on the Bank side. We recommend using UUID v4.
maxLength: 40
pattern: ^[A-Za-z0-9-_.]+$
amount:
type: number
description: 'Сумма платежа в рублях. Для копеек доступно два знака после точки. Для сценария `flow: CARD_BINDING` используется фиксированная сумма, которая автоматически возвращается на карту клиента после успешной оплаты.'
x-description-i18n:
eng: 'Payment amount in rubles. For kopecks, two signs after the dot are available. For the `flow: CARD_BINDING` scenario, a fixed amount is used, which is automatically refunded to the customer''s card after a successful payment.'
example: 540
exclusiveMinimum: 0
order:
$ref: '#/components/schemas/Order'
extra:
$ref: '#/components/schemas/Extra'
required:
- amount
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
CardBinding:
title: CardBinding
description: Запрос на привязку банковской карты.
x-description-i18n:
eng: 'Card binding request.
'
allOf:
- properties:
id:
type: string
description: 'Идентификатор платежа. Если не передан, будет сформирован на стороне Банка.
Рекомендуем использовать [UUID v4](https://ru.wikipedia.org/wiki/UUID)'
x-description-i18n:
eng: Payment identifier. If not transmitted, it will be generated on the Bank side. We recommend using UUID v4.
maxLength: 40
pattern: ^[A-Za-z0-9-_.]+$
example: payment-binding-123
flow:
$ref: '#/components/schemas/PaymentFlow'
subscription:
$ref: '#/components/schemas/Subscription'
parameters:
type: object
description: Данные карты плательщика
x-description-i18n:
eng: Payer card details
required:
- pan
- month
- year
- browserData
properties:
cvv:
type: string
description: CVV-код карты
x-description-i18n:
eng: Three-digit security code
example: '880'
pan:
type: string
description: Номер карты
x-description-i18n:
eng: Card number
example: '4000001000000018'
month:
type: integer
description: Месяц срока действия карты
x-description-i18n:
eng: Card validity period, month, MM
example: 1
year:
type: integer
description: Год срока действия карты
x-description-i18n:
eng: Card validity period, year, YYYY
example: 2030
cardHolder:
type: string
description: Фамилия и имя держателя карты
x-description-i18n:
eng: Cardholder's first and last name
example: Ivan Ivanov
browserData:
type: object
description: Данные браузера плательщика
x-description-i18n:
eng: Payer browser data
required:
- userAgent
- colorDepth
- javaEnabled
- javaScriptEnabled
- language
- screenHeight
- screenWidth
- timezone
- ipAddress
properties:
userAgent:
type: string
description: Содержимое http заголовка User-Agent
x-description-i18n:
eng: Content of the HTTP User-Agent header
colorDepth:
type: string
description: Глубина цвета палитры для отображения изображений в битах. Допустимые значения 1-99.
x-description-i18n:
eng: The color depth of the palette for displaying images in bits. Valid values are 1-99.
example: '24'
maxLength: 2
minLength: 1
pattern: ^[1-9][0-9]?$
javaEnabled:
type: boolean
description: Параметр указывает, включена ли в браузере плательщика поддержка Java
x-description-i18n:
eng: The parameter specifies whether Java support is enabled in the payer browser.
javaScriptEnabled:
type: boolean
description: Параметр указывает, включена ли в браузере плательщика поддержка JavaScript
x-description-i18n:
eng: The parameter specifies whether JavaScript support is enabled in the payer browser.
language:
type: string
description: Язык браузера
x-description-i18n:
eng: Browser language
example: ru
enum:
- ru
- en
- zh
screenHeight:
type: string
description: Высота экрана браузера плательщика в пикселях
x-description-i18n:
eng: Payer browser screen height in pixels
example: '1760'
screenWidth:
type: string
description: Ширина экрана браузера плательщика в пикселях
x-description-i18n:
eng: Payer browser screen width in pixels
example: '1800'
timezone:
type: string
description: 'Смещение временной зоны браузера держателя карты по сравнению с зоной UTC в минутах.
Со знаком "плюс", если локальное время отстает от UTC.
Со знаком "минус", если локальное время опережает UTC.
Например 300, если UTC-5'
x-description-i18n:
eng: 'The offset of the cardholder''s browser time zone from the UTC zone in minutes.
With a plus sign if local time is behind UTC.
With a minus sign if local time is ahead of UTC.
For example 300 if UTC-5.
'
example: '300'
ipAddress:
type: string
description: IP-адрес плательщика
x-description-i18n:
eng: Payer IP address
example: 77.77.77.77
format: ipv4
required:
- flow
- subscription
- parameters
type: object
CreatedWLPayment3DS1:
title: Платеж создан
allOf:
- $ref: '#/components/schemas/GeneralWLPayment'
- type: object
properties:
stage:
$ref: '#/components/schemas/PaymentStage'
flow:
$ref: '#/components/schemas/PaymentFlow'
subscription:
$ref: '#/components/schemas/Subscription'
required:
- stage
- flow
SubscriptionCustomer:
title: SubscriptionCustomer
type: object
description: Данные покупателя по подписке
x-description-i18n:
eng: Subscription customer data
properties:
email:
type: string
description: Email покупателя
x-description-i18n:
eng: Customer email
example: customer@test.ru
maxLength: 64
format: email
required:
- email
CreatedWLPayment3DS2:
title: Необходимо прохождение 3DS Method
allOf:
- $ref: '#/components/schemas/GeneralWLPayment'
- type: object
properties:
stage:
$ref: '#/components/schemas/PaymentStage'
flow:
$ref: '#/components/schemas/PaymentFlow'
subscription:
$ref: '#/components/schemas/Subscription'
parameters:
type: object
description: Данные, необходимые для проведения платежа
x-description-i18n:
eng: Data required to make a payment
properties:
threeDSVersion:
$ref: '#/components/schemas/ThreeDSVersion'
threeDS:
type: object
description: Данные для проведения 3DS
x-description-i18n:
eng: Data for conducting 3DS
properties:
acsUrl:
type: string
description: Адрес Банка-эмитента для сбора данных браузера плательщика. Используется при прохождении 3DS2 аутентификации.
x-description-i18n:
eng: The address of the Issuing Bank for collecting the payer browser data. Used when passing 3DS2 authentication.
threeDSMethodData:
type: string
description: Данные необходимые для прохождения 3DS2 аутентификации
x-description-i18n:
eng: Data required to pass 3DS2 authentication
required:
- stage
- flow
x-examples: {}
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
Payment:
title: Payment
description: Полиморфный платеж
x-description-i18n:
eng: Polymorphic payment
properties:
flow:
$ref: '#/components/schemas/PaymentFlow'
oneOf:
- $ref: '#/components/schemas/SubscriptionPayment'
- $ref: '#/components/schemas/CardPayment'
- $ref: '#/components/schemas/CardBinding'
discriminator:
propertyName: flow
mapping:
SUBSCRIPTION: '#/components/schemas/SubscriptionPayment'
CARD: '#/components/schemas/CardPayment'
CARD_BINDING: '#/components/schemas/CardBinding'
type: object
x-examples: {}
schemas-Subscription:
title: Subscription
type: object
properties:
id:
type: string
description: Идентификатор подписки
x-description-i18n:
eng: Subscription ID
pattern: ^[A-Za-z0-9-_.]+$
status:
$ref: '#/components/schemas/Status'
purpose:
$ref: '#/components/schemas/SubscriptionPurpose'
autoCharge:
$ref: '#/components/schemas/AutoCharge'
customer:
$ref: '#/components/schemas/SubscriptionCustomer'
payformUrl:
type: string
maxLength: 512
description: Ссылка на платёжную форму для оформления подписки
x-description-i18n:
eng: URL to the payment form for subscription registration
Clearing:
title: Clearing
type: object
description: Информация о проведении межбанковского клиринга по платежу. Применимо только для платежей по каналу Интернет-Эквайринг.
properties:
amount:
type: number
description: Сумма клиринга
status:
$ref: '#/components/schemas/ClearingStatus'
clearingDate:
type: string
format: date-time
description: Фактическая дата клиринга
plannedClearingDate:
type: string
format: date-time
description: Планируемая дата клиринга
ContinueWLPayment3DS1:
title: Необходимо подтверждение 3DS v.1
allOf:
- $ref: '#/components/schemas/ContinueWLPayment'
- type: object
properties:
flow:
$ref: '#/components/schemas/PaymentFlow'
stage:
$ref: '#/components/schemas/PaymentStage'
parameters:
type: object
description: Данные, необходимые для проведения платежа
x-description-i18n:
eng: Data required to make a payment
properties:
threeDSVersion:
$ref: '#/components/schemas/ThreeDSVersion'
threeDS:
type: object
description: Данные для проведения 3DS
x-description-i18n:
eng: Data for conducting 3DS
properties:
acsUrl:
type: string
description: Адрес Банка-Эмитента для прохождения 3DS аутентификации
x-description-i18n:
eng: Issuing Bank address for 3DS authentication
pareq:
type: string
description: Параметр необходимый для продолжения платежа по 3DS1
x-description-i18n:
eng: Parameter required to continue payment via 3DS1
md:
type: string
description: Данные, необходимые для идентификации транзакции
x-description-i18n:
eng: Data required to identify the transaction
required:
- flow
- stage
SubsriptionPaymentParameters:
title: SubsriptionParameters
properties:
paymentMethod:
$ref: '#/components/schemas/SubscriptionPaymentMethod'
oneOf:
- $ref: '#/components/schemas/CardPaymentParameters'
- $ref: '#/components/schemas/SbpPaymentParameters'
discriminator:
propertyName: paymentMethod
mapping:
ACQUIRING: '#/components/schemas/CardPaymentParameters'
SBP: '#/components/schemas/SbpPaymentParameters'
SubscriptionPurpose:
title: SubscriptionPurpose
type: string
pattern: ^[A-Za-zА-Яа-я0-9 ()!@\[\]#+=_\|.,-]+$
description: 'Описание подписки
Может содержать:
* Символы латиницы (A-Z и a-z)
* Символы кириллицы (А-Я и а-я)
* Цифры 0-9
* Спецсимволы: `(`, `)`, `!`, `@`, `[`, `]`, `#`, `+`, `=`, `-`, `|`, `.`, `,`'
x-description-i18n:
eng: 'Subscription description
May contain:
* Latin characters (A-Z и a-z)
* Cyrillic symbols (А-Я и а-я)
* Numbers 0-9
* Special characters: `(`, `)`, `!`, `@`, `[`, `]`, `#`, `+`, `=`, `-`, `|`, `.`, `,`'
SubscriptionPaymentStatus:
title: SubscriptionPaymentStatus
type: string
description: "Статус платежа\n - `SUCCESS` - Платеж проведен\n - `IN_PROGRESS` - Платеж в обработке\n - `DECLINED` - Платеж отклонен"
x-description-i18n:
eng: 'Payment status
- `SUCCESS` - Payment completed
- `IN_PROGRESS` - Payment is being processed
- `DECLINED` - Payment declined
'
enum:
- SUCCESS
- DECLINED
- IN_PROGRESS
examples:
FORBIDDEN_ERROR_403:
value:
code: ERROR.FORBIDDEN
message: Доступ запрещен
traceId: abb066c61a7c8b74af83f245c7706813
GET_SUBSCRIPTION_INFO_SBP:
value:
id: subscription-test
status:
value: SUBSCRIBED
date: '2024-12-31T10:00:00+03:00'
purpose: Подписка на интернет магазин
customer:
email: customer@test.ru
paymentMethod: SBP
bank:
name: Райффайзенбанк
memberId: '100000000007'
qr:
id: AD100004BAL7227F9BNP6KNE007J9B3K
payload: https://sub.nspk.ru/AS3D33FC7B034DEEA8A365142E1DE737?type=03&bank=10000001&crc=C08B
url: https://pay-test.raif.ru/api/sbp/v1/qr/AS3D33FC7B034DEEA8A365142E1DE737/image
WL_ERROR_403_FORBIDDEN:
value:
code: ERROR.FORBIDDEN
message: Доступ запрещен
traceId: abb066c61a7c8b74af83f245c7706813
SUBSCRIPTION.CREATE_SUBSCRIPTION_PAYMENT_WITH_SPLITS_REQUEST:
value:
id: payment-test
amount: 1000
order:
id: order-test
comment: Оплата по подписке с разделением
extra:
email: pavel@mail.ru
flow: SUBSCRIPTION
subscriptionId: subscription-test
recurringType: UNSCHEDULED
paymentDetails: Оплата по подписке с разделением суммы
splits:
- accountId: ea6f870f-debd-48cc-a83f-b87e7cee8582
amount: 600
- accountId: 226f0738-d5d8-4ee6-afff-71e05836820a
amount: 400
SUBSCRIPTION.DELETE_SUBSCRIPTION:
value:
code: ERROR.BAD_REQUEST
message: Действие недопустимо
traceId: abb066c61a7c8b74af83f245c7706813
SUBSCRIPTION_NOT_FOUND:
value:
code: ERROR.BAD_REQUEST
message: Подписка не найдена
traceId: abb066c61a7c8b74af83f245c7706813
SUBSCRIPTION.CREATE_SUBSCRIPTION_PAYMENT:
value:
id: payment-test
amount: 540
order:
id: order-test
comment: Оплата молока
extra:
email: pavel@mail.ru
flow: SUBSCRIPTION
recurringType: UNSCHEDULED
paymentDetails: Оплата молока на Фрунзе 1
subscriptionId: subscription-test
GENERAL_INTERNAL_ERROR_500:
value:
code: ERROR.INTERNAL_ERROR
message: Внутренняя ошибка сервиса
traceId: abb066c61a7c8b74af83f245c7706813
GET_SUBSCRIPTION_INFO_ACQUIRING:
value:
id: subscription-test
status:
value: SUBSCRIBED
date: '2024-12-31T10:00:00+03:00'
purpose: Подписка на интернет магазин
customer:
email: customer@test.ru
paymentMethod: ACQUIRING
paymentSystem: MIR
cardNumber: 22013311****3339
expirationDate: 2035-10
SUBSCRIPTION.CREATED_SUBSCRIPTION_PAYMENT:
value:
id: payment-test
amount: 540
order:
id: order-test
comment: Оплата молока
extra:
email: pavel@mail.ru
flow: SUBSCRIPTION
status:
value: SUCCESS
date: '2025-11-29T19:43:54+03:00'
stage: CREATED_SUBSCRIPTION_PAYMENT
paymentDetails: Оплата молока на Фрунзе 1
subscriptionId: subscription-test
recurringType: UNSCHEDULED
parameters:
paymentMethod: ACQUIRING
eci: '02'
rrn: '935014591810'
authCode: 259AA
WL_ERROR_400_ERROR_VALID_TO_CREATE_PAYMENT:
value:
code: ERROR.BAD_REQUEST
message: 'Некорректное значение поля: amount не должно равняться 0'
traceId: abb066c61a7c8b74af83f245c7706813
WL_ERROR_404_PAYMENT_NOT_FOUND:
value:
code: ERROR.PAYMENT_NOT_FOUND
message: Платеж не найден
traceId: 3af319058c62903432219dd24ed304d1
WL_ERROR_400_ERROR_CREATE_PAYMENT:
value:
code: ERROR.BAD_REQUEST
message: Платёж с данным идентификатором уже существует
traceId: abb066c61a7c8b74af83f245c7706813
requestBodies:
CreatePaymentRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Payment'
examples:
Платеж по подписке:
$ref: '#/components/examples/SUBSCRIPTION.CREATE_SUBSCRIPTION_PAYMENT'
Платеж по подписке со сплитованием:
$ref: '#/components/examples/SUBSCRIPTION.CREATE_SUBSCRIPTION_PAYMENT_WITH_SPLITS_REQUEST'
responses:
CreatePaymentResponse:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedPayment'
examples:
Example 1:
$ref: '#/components/examples/SUBSCRIPTION.CREATED_SUBSCRIPTION_PAYMENT'
headers: {}
GetWLStatusCardPaymentResponse:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentInfo'
examples:
Example 1:
$ref: '#/components/examples/SUBSCRIPTION.CREATED_SUBSCRIPTION_PAYMENT'
GetSubscriptionResponse:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GeneralSubscription'
examples:
ACQUIRING:
$ref: '#/components/examples/GET_SUBSCRIPTION_INFO_ACQUIRING'
SBP:
$ref: '#/components/examples/GET_SUBSCRIPTION_INFO_SBP'
parameters:
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