openapi: 3.0.2
info:
  version: '1.19'
  title: Прием платежей
  description: |-
    ## Правила работы

    Прием платежей происходит с помощью вызова методов — параметры передаются через метод POST в формате JSON. Все методы и передаваемые параметры чувствительны к регистру. Для POST-запроса в заголовке должен быть `Content-Type: application/json`. Для корректной работы с API-методами используйте TLS протокол версии 1.2 и выше.

    Для большинства методов нужно использовать [подпись запроса](/eacq/intro/developer/token).

    Для нашего интернет-эквайринга оплата проходит только в рублях. Если мерчанту нужна оплата в валюте, он самостоятельно реализовывает логику конвертации суммы в запросе на своей стороне.
  contact:
    url: https://www.tbank.ru/kassa/
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  x-logo:
    url: /kassa/dev/assets/img/logo.svg
servers:
  - url: https://securepay.tinkoff.ru
    description: production
  - url: https://rest-api-test.tinkoff.ru
    description: test
security: []
tags:
  - name: Проведение платежа
  - name: Прием платежей по карте
  - name: Методы для работы с 3DS
    x-parent-tag: Прием платежей по карте
  - name: Другие способы приема платежей
    description: СБП, T‑Pay, SberPay, Mir Pay.
  - name: СБП
    x-parent-tag: Другие способы приема платежей
  - name: T‑Pay
    x-parent-tag: Другие способы приема платежей
  - name: SberPay
    x-parent-tag: Другие способы приема платежей
  - name: Mir Pay
    x-parent-tag: Другие способы приема платежей
  - name: Alfa Pay
    x-parent-tag: Другие способы приема платежей
  - name: Привязка карты
    description: Методы для работы с покупателями и картами.
  - name: Методы работы с покупателями
    x-parent-tag: Привязка карты
  - name: Методы работы с картами
    x-parent-tag: Привязка карты
  - name: Проведение платежа по сохраненным реквизитам
  - name: Отмена платежа
  - name: Статус платежа или заказа
  - name: Справка по операции
  - name: Методы работы с чеками
paths:
  /v2/Init:
    post:
      operationId: Init
      tags:
        - Проведение платежа
      summary: Инициировать платеж
      x-front:
        usage-scenario:
          - name: Прием платежей на платежной форме банка
            link: /eacq/scenarios/payments/nonPCI/
          - name: Прием платежей на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/
      description: |
        Метод инициирует платеж.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Init'
            example:
              TerminalKey: TBankTest
              Amount: 140000
              OrderId: '21090'
              Description: Подарочная карта на 1000 рублей
              Token: 68711168852240a2f34b6a8b19d2cfbd296c7d2a6dff8b23eda6278985959346
              DATA:
                Phone: '+71234567890'
                Email: a@test.com
              Receipt:
                Email: a@test.ru
                Phone: '+79031234567'
                Taxation: osn
                Items:
                  - Name: Наименование товара 1
                    Price: 10000
                    Quantity: 1
                    Amount: 10000
                    Tax: vat10
                    Ean13: '303130323930303030630333435'
                  - Name: Наименование товара 2
                    Price: 20000
                    Quantity: 2
                    Amount: 40000
                    Tax: vat20
                  - Name: Наименование товара 3
                    Price: 30000
                    Quantity: 3
                    Amount: 90000
                    Tax: vat10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
              example:
                Success: true
                ErrorCode: '0'
                TerminalKey: TBankTest
                Status: NEW
                PaymentId: '3093639567'
                OrderId: '21090'
                Amount: 140000
                PaymentURL: https://pay.tbank.ru/new/fU1ppgqa
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/Check3dsVersion:
    post:
      operationId: Check3dsVersion
      x-front:
        usage-scenario:
          - name: Оплата картой на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/card
          - name: Привязка карты на своей форме привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      tags:
        - Методы для работы с 3DS
      summary: Проверить версию 3DS
      description: |

        >Для мерчантов c собственной платежной формой

        Метод возвращает версию протокола 3DS, по которому может аутентифицироваться карта.

        Если 3DS v2.1, можно получить данные для прохождения дополнительного метода [Пройти этап 3DS Method](/eacq/api/3-ds-method). Он позволяет эмитенту собрать данные браузера покупателя — это может быть полезно при принятии решения в пользу Frictionless Flow (аутентификация покупателя без редиректа на страницу ACS).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - PaymentId
                - TerminalKey
                - CardData
                - Token
              properties:
                PaymentId:
                  description: |
                    Идентификатор платежа в системе Т‑Бизнес.
                  type: string
                  maxLength: 20
                TerminalKey:
                  description: |
                    Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
                  type: string
                  maxLength: 20
                CardData:
                  description: |
                    Зашифрованные данные карты в формате: 
                      ```
                      PAN=4300000000000777;ExpDate=0519;CardHolder=IVAN PETROV;CVV=111
                      ```
                  type: string
                Token:
                  description: |
                    Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
                  type: string
            example:
              PaymentId: 13660
              TerminalKey: TBankTest
              CardData: U5jDbwqOVx+2vDApxe/rfACMt+rfWXzPdJ8ZXxNFVIiZaLZrOW72bGe9cKZdIDnekW0nqm88YxRD↵jyfa5Ru0kY5cQV alU+juS1u1zpamSDtaGFeb8sRZfhj72yGw+io+qHGSBeorcfgoKStyKGuBPWfG↵d0PLHuyBE6QgZyIAM1XfdmNlV0UAxOnkTGDsskL pIt3AWhw2e8KOar0vwbgCTDjznDB1/DLgOW01↵Aj/bXyLJoG1BkOrPBm9JURs+f+uyFae0hkRicNKNgXoN5pJTSQxOEauOi6ylsVJ B3WK5MNYXtj6x↵GlxcmTk/LD9kvHcjTeojcAlDzRZ87GdWeY8wgg==
              Token: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - Version
                  - PaymentSystem
                  - Success
                  - ErrorCode
                properties:
                  Version:
                    description: |
                      Версия протокола 3DS. 
                      Примеры:
                      * `1.0.0` — первая версия,
                      * `2.1.0` — вторая версия.
                    type: string
                  TdsServerTransID:
                    description: |
                      Идентификатор платежа, который генерируется 3DS Server. Параметр обязательный для 3DS v2.1.
                    type: string
                  ThreeDSMethodURL:
                    description: |
                      Дополнительный параметр для 3DS v2.1, который позволяет пройти этап по сбору данных браузера ACS-ом.
                    type: string
                    format: uri
                  PaymentSystem:
                    description: |
                      Платежная система карты.
                    type: string
                  Success:
                    description: |
                      Успешность прохождения запроса — `true`/`false`.
                    type: boolean
                  ErrorCode:
                    description: |
                      Код ошибки.
                    type: string
                    maxLength: 20
                  Message:
                    description: |
                      Краткое описание ошибки.
                    type: string
                  Details:
                    description: |
                      Подробное описание ошибки.
                    type: string
              example:
                Version: 2.1.0
                TdsServerTransID: 17d3791b-5cfa-4318-bc23-3d949e8c4b7e
                ThreeDSMethodURL: https://acs.vendorcert.mirconnect.ru/ds/6300
                PaymentSystem: mir
                Success: true
                ErrorCode: '0'
                Message: None
                Details: None
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/3DSMethod:
    post:
      tags:
        - Методы для работы с 3DS
      description: |

        >Для мерчантов c собственной платежной формой

        Метод для сбора информации ACS-ом о девайсе. Обязателен, если для 3DS v2.1 в ответе метода [Проверить версию 3DS](/eacq/api/check-3-ds-version) был получен параметр `ThreeDSMethodURL`.

        Условия выполнения:

          * в скрытом iframe на стороне браузера;
          * с таймаутом ожидания ответа на запрос — 10 секунд.
      summary: Пройти этап 3DS Method
      servers:
        - url: https://acs.vendorcert.mirconnect.ru/ds/6300
          description: production
      operationId: 3DSMethod
      x-front:
        usage-scenario:
          - name: Оплата картой на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/card
          - name: Привязка карты на своей форме привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/3DSMethod'
      x-codeSamples:
        - lang: Пример запроса на 3DS Method Url
          source: |
            <body onload="document.form.submit()">
            <form name="form" action="{ThreeDSMethodURL}" method="post">
              <input type="hidden" name="threeDSMethodData" value="eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjU2ZTcxMmE1LTE5MGEtNDU4OC05MWJjLWUwODYyNmU3N2M0NCIsInRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiOiJodHRwczovL3Jlc3QtYXBpLXRlc3QudGlua29mZi5ydS92Mi9Db21wbGV0ZTNEU01ldGhvZHYyIn0">
            </form>
            </body>
        - lang: Пример декодированного значения threeDSMethodData
          source: |
            {
            "threeDSServerTransID":"56e712a5-190a-4588-91bc-e08626e77c44",
            "threeDSMethodNotificationURL":https://rest-api-test.tinkoff.ru/v2/Complete3DSMethodv2
            }
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/3DSMethod-2'
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/FinishAuthorize:
    post:
      operationId: FinishAuthorize
      x-front:
        usage-scenario:
          - name: Прием платежей на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/
      tags:
        - Проведение платежа
      summary: Подтвердить платеж
      description: |

        >Для мерчантов c собственной платежной формой

        Метод подтверждает платеж:

        * при одностадийной оплате —  списывает деньги за покупку сразу после завершения оплаты;
        * при двухстадийной — блокирует деньги за покупку на карте покупателя и только потом списывает их. 
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FinishAuthorize'
            example:
              TerminalKey: TBankTest
              PaymentId: '700001702044'
              Token: f5a3be479324a6d3a4d9efa0d02880b77d04a91758deddcbd9e752a6df97cab5
              IP: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
              SendEmail: true
              deviceChannel: '02'
              Source: cards
              DATA:
                threeDSCompInd: 'Y'
                language: RU
                timezone: '-300'
                screen_height: '1024'
                screen_width: '967'
                cresCallbackUrl: www.callbackurl.ru
                colorDepth: '48'
                javaEnabled: 'false'
              InfoEmail: qwerty@test.com
              EncryptedPaymentData: string
              CardData: eyJzaWduYXR1cmUiOiJNRVVDSVFEdjNJS1A5WG9nWml4RytUUm9zZWFDK0RGd3RKd2FtMHVEcm91RUVGZVB6Z0lnYXBFbHhxQ3AwQWtZcVVmTFVMaVNhUjBKWkVQNmg 4THFqYks5YkJKQnM5d1x1MDAzZCIsInByb3RvY29sVmVyc2lvbiI6IkVDdjEiLCJzaWduZWRNZXNzYWdlIjoie1wiZW5jcnlwdGVkTWVzc2FnZVwiOlwiQW11dm5OYUIralBsa3VKTitrMUZLSDZFcm1VK2lTY052 L05rR3FFaXIxOHZmSWxkVFJ5L2U4cW5zMXkyanFtcm1acU1JSWNYMUhyTHBxRURpaXkvS3B6SUhNZFllcXRkSVVNOU1tRjNpejU2d2NTZUVVaXU2ODI3QThGcitaYm8xRWtWRjY1TUxRYVY3NlBOUFRndH UvQ1BodW5HUk0rN25KdVhDczVtbkVvOHFma0RNVk8xWktGWDQ4TnVEL2FKcDJQdVVIY2puSnBTZ0pTSDB4U21YSnAzU1MreXFDNm54N254WUEwN2h4YjYvSnp2R2s3ZExDU2hWWGU1Z2haUjNDaFQyV W8rRnpXTWJRRGZtSjBLQW9kc2VlR0xaaitqMzVqOUlKMkhJRFhIUUZZMWNuTW9YVUVoTjgvdEkvRkpqRnJiYVdFRkIzRDZwOFUzT2tkUmVaNHAyYi8yYURNZXVxR1ozSUtjc3R0R2lKMFhQQVhhZXYyQU8 o1M3RRQXVqQXRYdFlaekNTVjVBVXdXZS85T1VcXHUwMDNkXCJ9In0=
              Amount: 10000
              Route: ACQ
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Without3DS'
                  - $ref: '#/components/schemas/With3DS'
                  - $ref: '#/components/schemas/With3DSv2APP'
                  - $ref: '#/components/schemas/With3DSv2BRW'
              examples:
                Without3DS:
                  summary: Without3DS
                  value:
                    TerminalKey: TBankTest
                    Amount: 100000
                    OrderId: '21050'
                    Success: true
                    Status: NEW
                    PaymentId: '13660'
                    ErrorCode: '0'
                    Message: Неверные параметры
                    Details: '0'
                    RebillId: '21813157'
                    CardId: string
                With3DS:
                  summary: With3DS
                  value:
                    TerminalKey: TBankTest
                    Amount: 100000
                    OrderId: '21050'
                    Success: true
                    Status: NEW
                    PaymentId: '13660'
                    ErrorCode: '0'
                    Message: Неверные параметры
                    Details: '0'
                    RebillId: '21813157'
                    CardId: string
                    MD: ACQT-563587431
                    PaReq: eJxVUl1TwjAQ/CtM30s+KLTDHGHQwsiogFh09C2kp1RpC2nLh7/eBAtqnnYvN3ubvUD/kK4bO9RFkmc9hzWp08BM5XGSvfecRTRyA6cvIFppxP\nARVaVRwD0WhXzHRhL3HMUU73itwKVtyl1Pcs8Nli3pymUQK+z2Sww6joDZYI5bAfUgYeY0OZAzNYparWRWCpBqezWeiDZnLe3BqSmkqMeh4PRy2p\n02BfJThkymKCIsSiAnCCqvslIfhXEG5Eyg0muxKstN0SVkv983yyT7zN/emroiQOwlkF8js8qiwogdklg8rEfT5WK0jj6G7D4cepNo8TWNBmwSDXtAbAfEskTjkPk0\noF6DeV3a6jLj8VQHmVoXglFTqTFs7IjBn4u/BTBZa7OK8yPODPCwyTM0HSbACwby6/f6xsaoSpNMMN89+uHdV/iUPz2nyat/uxrPXz5nuX/c2nBPTVYxMflwzthJ0hIgVobUeyP1yg469xW+AedOuuM=\
                    ACSUrl: https://secure.tcsbank.ru/acs/auth/start.do
                With3DSv2APP:
                  summary: With3DSv2APP
                  value:
                    TerminalKey: TBankTest
                    Amount: 100000
                    OrderId: '21050'
                    Success: true
                    Status: NEW
                    PaymentId: '13660'
                    ErrorCode: '0'
                    Message: Неверные параметры
                    Details: '0'
                    RebillId: '21813157'
                    CardId: string
                    TdsServerTransId: d93f7c66-3ecf-4d10-ba62-46046e7b7596
                    AcsTransId: aceca6af-56ee-43f0-80ef-ea8d30d5c5b0
                    AcsInterface: '02'
                    AcsUiTemplate: '03'
                    AcsSignedContent: eyJ4NWMiOlsiTUlJRGtUQ0NBbm1nQXdJQkFnSVVRU1VEV05VZEFicWozS1Uya0M0VHpaSEpVVHd3RFFZSktvWklodmNOQVFFTEJRQXdXREVMTUFrR0ExVUVCaE1DVWxVeER6QU5CZ05WQkFnTUJrMXZjMk52ZHpFUE1BMEdBMVVFQnd3R1RXOXpZMjkzTVJJ d0VBWURWUVFLREFsVGIyMWxJR0poYm1zeEV6QVJCZ05WQkFNTUNtUnpMbTF2WTJzdWNuVXdIaGNOTWpBd056RTRNVFExT1RNM1doY05NakV3TnpFNE1UUTFPVE0zV2pCWU1Rc3dDUVlEVlFRR0V3SlNWVEVQTUEwR0ExVUVDQXdHVFc5elkyOTNNUTh3RF FZRFZRUUhEQVpOYjNOamIzY3hFakFRQmdOVkJBb01DVk52YldVZ1ltRnVhekVUTUJFR0ExVUVBd3dLWkhNdWJXOWpheTV5ZFRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUhNdXB1Wlg3VUFWR3Z5dm9uZ1o4U3BJcisrRD RnMjBRaFwvZ0NGb3JUN1pDUkRaVWhRamlDSzdXSWpiVHRKQUFKVG1yelhcLzlMSGJIdHpIcFFvRFVTNXZPTnRqVWFaVGVQUE91SklMRWl6NDBBVjJCUVZRd0xnRzBjbm9oK21Qa0dNMEZ4VmJFcHFEVHk3SHB0dFAwdm96cGxHNjdFWk1HTXdKSUpESmlDYUdG OGZ0aTlYR3M4MXB3NUhWZElmOHNpQnFaWW94cGt0QWJ1dnpBTFJEUnp3dFBhclFHOTZyQStPM0dJaE53VDhZXC9pallwS0hWNkJCWDBKNmxZdFdoaVY5blhBVktYNTNlVTJ4M1E2Njh4U3BLa2dwSVh1N2xiNUN2M2dDTlIrelVqK0lTODNZYjJhUlR2WkF6MFI1 V3dBNW5Zb2J6V3Vta1wvdE5iV1FYdzBWTUNBd0VBQWFOVE1GRXdIUVlEVlIwT0JCWUVGRmVWN0dzR0tCSzhUTDljaVk4UFF2N0RhY290TUI4R0ExVWRJd1FZTUJhQUZGZVY3R3NHS0JLOFRMOWNpWThQUXY3RGFjb3RNQThHQTFVZEV3RUJcL3dRRk1BT UJBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUZqVGppUkxKOFpaWld5dXFLNTZHVkR6dnJiXC9uRlVDTHVjVXZEV2toK09lRWkxWUFPOUJZV3RFVTVzdmRNNTlsOWVTMGtjbGxrRzVDTklcL1U4S2dKSnUzV0tEVXp5cU80eVRNU3g3RWZDXC9qVE1oT2d2Y UJubktWK2hvV3FQZTlKNHZVYzZ2R0wzWE1cL0FNeWpoVDlBRko1ZjZBaVdZMk5QYkxHczQ2N0ZPY2Vwb1RJMkdseHBtcWdaMFVGKzlsblNZbDU0WEg2dGNZYUszWjcxS2NES0I0QkUySWVmV1Y3MUM3anBVdjFFSlFsNTY4XC8xaGpsZktXUExWcE5NTzVlTlNMR 1ZKd1VmdFA0V0tKU2Y2VmdtbG5XOU1yVStiK3hvZW44MFF1dUxrSWs1ZXBIM2l1ZDV4a1IxcVVXQU1aTUZTQW4yUHJDdjQrZFFMRDd2OG83d3BrPSJdLCJhbGciOiJQUzI1NiJ9.eyJhY3NFcGhlbVB1YktleSI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IlRoRj NJY3BIMVVLanliQW5lNWhHcy1BNnpyYXo2aUxiYVk0WmVEOU1oSU0iLCJ5Ijoid0VuVXNvNlRLZDlfbjZSc2NjUXRCeFc2Q1gzLXFSTGk0UWJBU3pNbm4tTSJ9LCJzZGtFcGhlbVB1YktleSI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6Ikp6R2tGM2w3WGxnclJ6NU 1PTl9ncDg3WUxfd0NkVVJpVUlxOXJmNnVyR2MiLCJ5IjoiTnI4UmllTE9vVzJXUkhiX2RFazFmdHRoWEZXTHdYaWZFUzNZZkFnMkhvWSJ9LCJhY3NVUkwiOiJodHRwczovL2VhY3EtZHMtbW9jay1zZXJ2aWNlLXRlc3QudGNzYmFuay5ydS9jaGFsbGVuZ2UvZDkzZjdj NjYtM2VjZi00ZDEwLWJhNjItNDYwNDZlN2I3NTk2In0.hQLVTT5YMAY8TjISRdYX2IT04zH8Z8DgoB4kIAyVfkuJ0X6AGIKXSVcIVSNgC-A_SEkCZRqAyUeu0ZJtpoIVyOf1mumBGEK-uC6yVQlX5WSPidQUj4nuBvpYsfdrGPeoHWvNsrBpMMxvvW4559jtbAUY00NcW3rwDShAi4gVKgJcssMPAM1zOOR5vi0_ClUsCW1k9a201Hv6cYcEBuO2JQ8NPLampEkZ55nOmwcPPTEziXeZsq9VjROXNfBewbA4wLuQmh8aSrcOcwFtJo0CPpdrsKiY77KPT0c8XMmZZK_FiAxzrWocfHraqC7cRJNQ5glEBakXvSfrwGg_xXA
                    AcsReferenceNumber: '12345'
                    SdkTransID: d5a44dfe-673b-4666-82f9-96346107e424
                With3DSv2BRW:
                  summary: With3DSv2BRW
                  value:
                    TerminalKey: TBankTest
                    Amount: 100000
                    OrderId: '21050'
                    Success: true
                    Status: NEW
                    PaymentId: '13660'
                    ErrorCode: '0'
                    Message: Неверные параметры
                    Details: '0'
                    RebillId: '21813157'
                    CardId: string
                    TdsServerTransId: d7171a06-7159-4bdd-891a-a560fe9938d2
                    AcsTransId: e176d5d3-2f19-40f5-8234-46d3464e0b08
                    ACSUrl: https://acs.vendorcert.mirconnect.ru/mdpayacs/creq
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/Confirm:
    post:
      operationId: Confirm
      x-front:
        usage-scenario:
          - name: Прием платежей по двухстадийной схеме
            link: /eacq/scenarios/payments/nonPCI/
          - name: Прием платежей по двухстадийной схеме на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/
      tags:
        - Проведение платежа
      summary: Подтвердить списание
      description: |
        Метод подтверждает списание денег с карты покупателя. 

        Используется при двухстадийном платеже. 

        Применим только к платежам в статусе `AUTHORIZED`. Сумма списания может быть меньше или равна сумме авторизации.

        <a href="/eacq/intro/developer/glossary">Подробнее про реализацию двухстадийного платежа</a>
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Confirm'
            example:
              TerminalKey: TBankTest
              PaymentId: '2304882'
              Token: c0ad1dfc4e94ed44715c5ed0e84f8ec439695b9ac219a7a19555a075a3c3ed24
              IP: 192.168.255.255
              Amount: 19200
              Receipt:
                ClientInfo:
                  Birthdate: string
                  Citizenship: string
                  DocumentСode: '21'
                  DocumentData: string
                  Address: string
                Taxation: osn
                Email: a@test.ru
                Phone: '+79031234567'
                Customer: '78894325'
                CustomerInn: '788621292'
                Items:
                  - AgentData:
                      AgentSign: paying_agent
                      OperationName: Позиция чека
                      Phones:
                        - '+790912312398'
                      ReceiverPhones:
                        - '+79221210697'
                        - '+79098561231'
                      TransferPhones:
                        - '+79221210697'
                      OperatorName: TBank
                      OperatorAddress: г. Тольятти
                      OperatorInn: '7710140679'
                    SupplierInfo:
                      Phones:
                        - '+79221210697'
                        - '+79098561231'
                      Name: ООО Вендор товара
                      Inn: '7710140679'
                    Name: Наименование товара 1
                    Price: 10000
                    Quantity: 1
                    Amount: 10000
                    Tax: vat10
                    PaymentMethod: full_payment
                    PaymentObject: goods_with_marking_code
                    UserData: Данные пользователя ext.test.qa@tbank.ru
                    Excise: '12.2'
                    CountryCode: '056'
                    DeclarationNumber: '12345678901'
                    MeasurementUnit: шт
                    MarkProcessingMode: string
                    MarkCode:
                      MarkCodeType: EAN8
                      Value: '12345678'
                    MarkQuantity:
                      Numerator: 1
                      Denominator: 2
                    SectoralItemProps:
                      FederalId: '001'
                      Date: 21.11.2020
                      Number: 123/43
                      Value: test value SectoralItemProps
                Payments:
                  Cash: 90000
                  Electronic: 19200
                  AdvancePayment: 0
                  Credit: 0
                  Provision: 0
              Shops:
                - ShopCode: '700456'
                  Amount: 10000
                  Name: Товар
                  Fee: '500'
              Route: BNPL
              Source: BNPL
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Confirm-2'
              example:
                TerminalKey: TBankTest
                OrderId: '21057'
                Success: true
                Status: CONFIRMED
                PaymentId: '2304882'
                ErrorCode: '0'
                Message: OK
                Details: None
                Params:
                  - Key: Route
                    Value: ACQ
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/Cancel:
    post:
      operationId: Cancel
      x-front:
        usage-scenario:
          - name: Отмена и возврат платежа
            link: /eacq/scenarios/cancel_confirm/
      tags:
        - Отмена платежа
      summary: Отменить платеж
      description: |
        Метод отменяет платеж.

        [Подробнее об отмене платежа](/eacq/scenarios/cancel_confirm/)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Cancel'
            example:
              TerminalKey: TBankTest
              PaymentId: '2304882'
              Token: c0ad1dfc4e94ed44715c5ed0e84f8ec439695b9ac219a7a19555a075a3c3ed24
              IP: 192.168.255.255
              Amount: 19200
              Receipt:
                ClientInfo:
                  Birthdate: string
                  Citizenship: string
                  DocumentСode: '21'
                  DocumentData: string
                  Address: string
                Taxation: osn
                Email: a@test.ru
                Phone: '+79031234567'
                Customer: '78894325'
                CustomerInn: '788621292'
                Items:
                  - AgentData:
                      AgentSign: paying_agent
                      OperationName: Позиция чека
                      Phones:
                        - '+790912312398'
                      ReceiverPhones:
                        - '+79221210697'
                        - '+79098561231'
                      TransferPhones:
                        - '+79221210697'
                      OperatorName: TBank
                      OperatorAddress: г. Тольятти
                      OperatorInn: '7710140679'
                    SupplierInfo:
                      Phones:
                        - '+79221210697'
                        - '+79098561231'
                      Name: ООО Вендор товара
                      Inn: '7710140679'
                    Name: Наименование товара 1
                    Price: 10000
                    Quantity: 1
                    Amount: 10000
                    Tax: vat10
                    PaymentMethod: full_payment
                    PaymentObject: goods_with_marking_code
                    UserData: Данные пользователя ext.test.qa@tbank.ru
                    Excise: '12.2'
                    CountryCode: '056'
                    DeclarationNumber: '12345678901'
                    MeasurementUnit: шт
                    MarkProcessingMode: string
                    MarkCode:
                      MarkCodeType: EAN8
                      Value: '12345678'
                    MarkQuantity:
                      Numerator: 1
                      Denominator: 2
                    SectoralItemProps:
                      - FederalId: '001'
                        Date: 21.11.2020
                        Number: 123/43
                        Value: test value SectoralItemProps
                Payments:
                  Cash: 90000
                  Electronic: 19200
                  AdvancePayment: 0
                  Credit: 0
                  Provision: 0
              Shops:
                - ShopCode: '700456'
                  Amount: 10000
                  Name: Товар
              QrMemberId: '77892'
              Route: BNPL
              Source: BNPL
              ExternalRequestId: '1234556'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cancel-2'
              example:
                TerminalKey: TBankTest
                OrderId: '21057'
                Success: true
                Status: REVERSED
                OriginalAmount: 13000
                NewAmount: 5000
                PaymentId: '2304882'
                ErrorCode: '0'
                Message: OK
                Details: None
                ExternalRequestId: '756478567845678436'
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/Charge:
    post:
      operationId: Charge
      x-front:
        usage-scenario:
          - name: Платежи по сохраненным реквизитам
            link: /eacq/scenarios/payments/nonPCI/autopay/
          - name: Платежи по сохраненным реквизитам через свою платежную форму
            link: /eacq/scenarios/payments/PCI_DSS/autopay/
      tags:
        - Проведение платежа по сохраненным реквизитам
      summary: Провести платеж по сохраненным реквизитам
      description: |-
        Метод используется для проведения COF-операции с использованием ранее сохраненных 
        реквизитов карты. Выполняет безакцептное списание средств с карты покупателя на основании сохраненных реквизитов и параметра `RebillId`.

        Подробнее про платежи по сохраненным реквизитам при интеграции:
        - [с платежной формой банка](/eacq/scenarios/payments/nonPCI/autopay/);
        - [со своей платежной формой](/eacq/scenarios/payments/PCI_DSS/autopay/).
             
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Charge'
            example:
              TerminalKey: TBankTest
              PaymentId: '700001702044'
              RebillId: '145919'
              Token: f5a3be479324a6d3a4d9efa0d02880b77d04a91758deddcbd9e752a6df97cab5
              IP: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
              SendEmail: true
              InfoEmail: customer@test.com
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - TerminalKey
                  - Amount
                  - OrderId
                  - Success
                  - PaymentId
                  - ErrorCode
                  - Status
                properties:
                  TerminalKey:
                    description: |
                      Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
                    type: string
                    maxLength: 20
                    example: TBankTest
                  Amount:
                    description: |
                      Сумма в копейках.
                    type: number
                    maxLength: 20
                    example: 100000
                  OrderId:
                    description: |
                      Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
                    type: string
                    maxLength: 36
                    example: '21050'
                  Success:
                    description: |
                      Успешность прохождения запроса — `true`/`false`.
                    type: boolean
                    example: true
                  Status:
                    description: |
                      Статус платежа. 

                      Возвращается один из статусов:
                      * `CONFIRMED` — если платеж выполнен;
                      * `REJECTED` — если платеж не выполнен.
                    type: string
                    maxLength: 20
                    example: CONFIRMED
                  PaymentId:
                    description: |
                      Идентификатор платежа в системе Т‑Бизнес.
                    type: string
                    maxLength: 20
                    example: '13660'
                  ErrorCode:
                    description: |
                      Код ошибки.
                    type: string
                    maxLength: 20
                    example: '0'
                  Message:
                    description: |
                      Краткое описание ошибки.
                    type: string
                  Details:
                    description: |
                      Подробное описание ошибки.
                    type: string
              example:
                TerminalKey: TBankTest
                Amount: 100000
                OrderId: '21050'
                Success: true
                Status: CONFIRMED
                PaymentId: '13660'
                ErrorCode: '0'
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/GetState:
    post:
      operationId: GetState
      x-front:
        usage-scenario:
          - name: Получение данных о платеже
            link: /eacq/scenarios/notification/
      tags:
        - Статус платежа или заказа
      summary: Получить статус платежа
      description: |
        Метод возвращает статус платежа.

        <a href="/eacq/scenarios/notification">Подробнее про способы получения данных о платеже</a>
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetState'
            example:
              TerminalKey: TBankTest
              PaymentId: '13660'
              Token: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
              IP: 192.168.0.52
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - TerminalKey
                  - Amount
                  - OrderId
                  - Success
                  - PaymentId
                  - ErrorCode
                  - Status
                properties:
                  TerminalKey:
                    description: |
                      Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
                    type: string
                    maxLength: 20
                  Amount:
                    description: |
                      Сумма в копейках.
                    type: number
                    maxLength: 20
                  OrderId:
                    description: |
                      Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
                    type: string
                    maxLength: 36
                  Success:
                    description: |
                      Успешность прохождения запроса — `true`/`false`.
                    type: boolean
                  Status:
                    description: |
                      Статус платежа.
                    type: string
                    maxLength: 20
                  PaymentId:
                    description: |
                      Идентификатор платежа в системе Т‑Бизнес.
                    type: string
                    maxLength: 20
                  ErrorCode:
                    description: |
                      Код ошибки.

                      При успешном прохождении запроса для СБП возвращается `0`. Ориентируйтесь на статус платежа.
                    type: string
                    maxLength: 20
                  Message:
                    description: |
                      Краткое описание ошибки.

                      При успешном прохождении запроса для СБП возвращается `ОК`.
                    type: string
                  Details:
                    description: |
                      Подробное описание ошибки.
                    type: string
                  Params:
                    description: |
                      Информация по способу оплаты или деталям для платежей в рассрочку.
                    type: array
                    items:
                      $ref: '#/components/schemas/Items_Params'
              example:
                Success: true
                ErrorCode: '0'
                Message: OK
                TerminalKey: TBankTest
                Status: AUTHORIZED
                PaymentId: '13660'
                OrderId: '21050'
                Params:
                  - Key: Route
                    Value: ACQ
                  - Key: Source
                    Value: cards
                  - Key: CreditAmount
                    Value: '100000'
                Amount: 1230
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/AddCustomer:
    post:
      operationId: AddCustomer
      x-front:
        usage-scenario:
          - name: Привязка карты через форму привязки банка
            link: /eacq/scenarios/payments/PCI_DSS/card
          - name: Привязка карты через свою форму привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      tags:
        - Методы работы с покупателями
      summary: Зарегистрировать покупателя
      description: |
        Метод регистрирует покупателя в связке с терминалом.    
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddCustomer'
            example:
              TerminalKey: TBankTest
              CustomerKey: 4387c647-a693-449d-bc35-91faecfc50de
              Token: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
              IP: 10.100.10.10
              Email: username@test.ru
              Phone: '+79031234567'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddCustomerResponse'
              example:
                TerminalKey: TBankTest
                CustomerKey: 05d65baa-9718-445e-8212-76fa0dd4c1d2
                ErrorCode: '0'
                Success: true
                Message: Неверные параметры
                Details: Терминал не найден
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/GetCustomer:
    post:
      operationId: GetCustomer
      x-front:
        usage-scenario:
          - name: Привязка карты через форму привязки банка
            link: /eacq/scenarios/payments/PCI_DSS/card
          - name: Привязка карты через свою форму привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      tags:
        - Методы работы с покупателями
      summary: Получить данные покупателя
      description: Метод возвращает данные покупателя, которые были сохранены в связке с терминалом.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetOrRemoveCustomer'
            example:
              TerminalKey: TBankTest
              CustomerKey: string
              Token: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
              IP: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCustomerResponse'
              example:
                TerminalKey: TBankTest
                CustomerKey: 4264aa7b-08ab-4429-ab5a-2a171d841ced
                ErrorCode: '0'
                Success: true
                Message: Неверный статус покупателя
                Details: Клиент не найден.
                Email: a@test.ru
                Phone: '+79031234567'
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/RemoveCustomer:
    post:
      operationId: RemoveCustomer
      x-front:
        usage-scenario:
          - name: Привязка карты через форму привязки банка
            link: /eacq/scenarios/payments/PCI_DSS/card
          - name: Привязка карты через свою форму привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      tags:
        - Методы работы с покупателями
      summary: Удалить данные покупателя
      description: Метод удаляет сохраненные данные покупателя.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetOrRemoveCustomer'
            example:
              TerminalKey: TBankTest
              CustomerKey: string
              Token: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
              IP: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoveCustomerResponse'
              example:
                TerminalKey: TBankTest
                CustomerKey: string
                ErrorCode: '0'
                Success: true
                Message: Неверные параметры
                Details: string
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/AddCard:
    post:
      operationId: AddCard
      x-front:
        usage-scenario:
          - name: Привязка карты через форму привязки банка
            link: /eacq/scenarios/payments/PCI_DSS/card
          - name: Привязка карты через свою форму привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      tags:
        - Методы работы с картами
      summary: Инициировать привязку карты к покупателю
      description: |
        Метод инициирует привязку карты к покупателю.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddCard'
            example:
              TerminalKey: TBankTest
              CustomerKey: testCustomer1234
              Token: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
              CheckType: 'NO'
              IP: 10.100.10.10
              ResidentState: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddCardResponse'
              example:
                PaymentId: 6155312072
                TerminalKey: TBankTest
                CustomerKey: '906540'
                RequestKey: ed989549-d3be-4758-95c7-22647e03f9ec
                ErrorCode: '0'
                Success: true
                Message: Неверные параметры
                Details: Терминал не найден
                PaymentURL: https://securepayments.tinkoff.ru/addcard/82a31a62-6067-4ad8-b379-04bf13e37642d
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/AttachCard:
    post:
      operationId: AttachCard
      x-front:
        usage-scenario:
          - name: Привязка карты через свою форму привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      tags:
        - Методы работы с картами
      summary: Привязать карту
      description: |

        >Для мерчантов c собственной платежной формой

        Метод завершает привязку карты к покупателю. 

        Для прохождения 3DS v2 перед вызовом метода нужно вызвать поочередно методы [Проверить версию 3DS](/eacq/api/check-3-ds-version) и [Пройти этап 3DS Method](/eacq/api/3-ds-method).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AttachCard'
            example:
              TerminalKey: TBankTest
              RequestKey: 13021e10-a3ed-4f14-bcd1-823b5ac37390
              deviceChannel: '02'
              CardData: U5jDbwqOVx+2vDApxe/rfACMt+rfWXzPdJ8ZXxNFVIiZaLZrOW72bGe9cKZdIDnekW0nqm88YxRD↵jyfa5Ru0kY5cQV alU+juS1u1zpamSDtaGFeb8sRZfhj72yGw+io+qHGSBeorcfgoKStyKGuBPWfG↵d0PLHuyBE6QgZyIAM1XfdmNlV0UAxOnkTGDsskL pIt3AWhw2e8KOar0vwbgCTDjznDB1/DLgOW01↵Aj/bXyLJoG1BkOrPBm9JURs+f+uyFae0hkRicNKNgXoN5pJTSQxOEauOi6ylsVJ B3WK5MNYXtj6x↵GlxcmTk/LD9kvHcjTeojcAlDzRZ87GdWeY8wgg==
              DATA:
                property1: string
                property2: string
              Token: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachCardResponse'
              examples:
                Пример ответа 3DS v1.0:
                  value:
                    TerminalKey: TBankTest
                    CustomerKey: testCustomerKey
                    RequestKey: 8de92934-26c9-474c-a4ce-424f2021d24d
                    CardId: '5555'
                    Success: true
                    ErrorCode: '0'
                    Status: NEW
                    RebillId: '130799909'
                    Message: Неверные параметры
                    Details: string
                    ACSUrl: https://secure.tcsbank.ru/acs/auth/start.do
                    MD: ACQT-563587431
                    PaReq: eJxVUl1TwjAQ/CtM30s+KLTDHGHQwsiogFh09C2kp1RpC2nLh7/eBAtqnnYvN3ubvUD/kK4bO9RFkmc9hzWp08BM5XGSvfecRT RyA6cvIFppxPARVaVRwD0WhXzHRhL3HMUU73itwKVtyl1Pcs8Nli3pymUQK+z2Sww6joDZYI5bAfUgYeY0OZAzNYparWRWCpBqe zWeiDZnLe3BqSmkqMeh4PRy2p02BfJThkymKCIsSiAnCCqvslIfhXEG5Eyg0muxKstN0SVkv983yyT7zN/emroiQOwlkF8js8qiwogdk lg8rEfT5WK0jj6G7D4cepNo8TWNBmwSDXtAbAfEskTjkPk0oF6DeV3a6jLj8VQHmVoXglFTqTFs7IjBn4u/BTBZa7OK8yPODPCwyT M0HSbACwby6/f6xsaoSpNMMN89+uHdV/iUPz2nyat/uxrPXz5nuX/c2nBPTVYxMflwzthJ0hIgVobUeyP1yg469xW+AedOuuM=
                Пример ответа 3DS v2.1:
                  value:
                    TerminalKey: TBankTest
                    CustomerKey: testCustomerKey
                    RequestKey: 8de92934-26c9-474c-a4ce-424f2021d24d
                    CardId: '5555'
                    Success: true
                    ErrorCode: '0'
                    Status: 3DS_CHECKING
                    RebillId: '130799909'
                    Message: Неверные параметры
                    Details: string
                    ACSUrl: https://acs.vendorcert.mirconnect.ru/mdpayacs/creq
                    TdsServerTransId: d7171a06-7159-4bdd-891a-a560fe9938d2
                    AcsTransId: e176d5d3-2f19-40f5-8234-46d3464e0b08
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/ACSUrl:
    post:
      tags:
        - Методы для работы с 3DS
      description: |

        >Для мерчантов c собственной платежной формой

         `ACSUrl` возвращается в ответе метода [Подтвердить платеж](/eacq/api/finish-authorize).
         Если в ответе метода [Подтвердить платеж](/eacq/api/finish-authorize) возвращается статус `3DS_CHECKING`, 
         мерчанту нужно сформировать запрос на URL ACS банка, выпустившего карту, из параметра `ACSUrl`.
         
         **Для 3DS v2.1**: компонент ACS использует пары сообщений CReq и CRes для выполнения проверки (Challenge). В ответ на полученное сообщение CReq компонент ACS формирует сообщение CRes, которое запрашивает держателя карты ввести данные для аутентификации.

         **Формат ответа**: cres, полученный по `NotificationUrl` из запроса метода [Подтвердить платеж](/eacq/api/finish-authorize).
         При успешном результате прохождения 3DS инициированный платеж подтверждается с помощью методов [Подтвердить прохождение 3DS v1.0](/eacq/api/submit-3-ds-authorization) или [Подтвердить прохождение 3DS v2.1](/eacq/api/submit-3-ds-authorization-v-2) в зависимости от версии 3DS.
         
         **URL**: ACSUrl, который возвращается в ответе метода [Подтвердить платеж](/eacq/api/finish-authorize).
      summary: Отправить запрос в банк-эмитент для прохождения 3DS
      servers:
        - url: https://acsSignedContent.com
          description: production
      operationId: ACSUrl
      x-front:
        usage-scenario:
          - name: Оплата картой на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/card
          - name: Привязка карты на своей форме привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              oneOf:
                - $ref: '#/components/schemas/ACSUrl_V1'
                - $ref: '#/components/schemas/ACSUrl_V2'
      x-codeSamples:
        - lang: Payload 3DS v1.0
          source: |
            <body onload="document.form.submit()" >
            <form name="form" action="{ACSUrl}" method="post" >
              <input type="hidden" name="TermUrl" value="{TermUrl}" >
              <input type="hidden" name="MD" value="{MD}" >
              <input type="hidden" name="PaReq" value="{PaReq}" >
            </form>
            </body>
        - lang: Payload 3DS v2.1
          source: |
            <body onload="document.form.submit()">
            <form name="form" action="{ACSUrl}" method="post">
              <input type="hidden" name="creq" value="ewogICJhY3NUcmFuc0lEIjogImUxNzZkNWQzLTJmMTktNDBmNS04MjM0LTQ2ZDM0NjRlMGIwOCIsCiAgImNoYWxsZW5nZVdpbmRvd1NpemUiOiAiMDMiLAogICJtZXNzYWdlVHlwZSI6ICJDUmVxIiwKICAibWVzc2FnZVZlcnNpb24iOiAiMi4xLjAiLAogICJ0aHJlZURTU2VydmVyVHJhbnNJRCI6ICJkNzE3MWEwNi03MTU5LTRiZGQtODkxYS1hNTYwZmU5OTM4ZDIiCn0K">
            </form>
            </body>
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ACSUrlResponseV1'
                  - $ref: '#/components/schemas/ACSUrlResponseV2'
              example:
                cres: FwlGfSwmRARfDXsgt1PBvbtYTIMY2l2SThPEeei6aFwlGfSwmRARfDXsgt1PBvbtYTIMY2l2SThPEeei6aGIdXfZ3psSfuKZt3O35yCVpfAbYs8AmIdIHQmJyskyNxYZyGIdXfZ3psSfuKZt3O35yCVpNkQwzuH68WlB9oiEnt6NdGaegzJ6ljDlKAl7tvQNCPw2FjDWbhHlxj34ut0hhivaJBNHSmvumv7sndTpA7AzxJYNUhkp67fG411fAbYs8AmIdIHQmJyskyNxYZy
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/Submit3DSAuthorization:
    post:
      operationId: Submit3DSAuthorization
      x-front:
        usage-scenario:
          - name: Прием платежей по карте на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/card/
          - name: Привязка карты на своей форме привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      tags:
        - Методы для работы с 3DS
      summary: Подтвердить прохождение 3DS v1.0
      description: |

        >Для мерчантов c собственной платежной формой

        Проверяет результаты прохождения 3D Secure и при успешном прохождении
        подтверждает инициированный платеж.
        При использовании:
          * одностадийной оплаты — списывает денежные средства с карты
         покупателя;
          * двухстадийной оплаты — блокирует указанную сумму на карте покупателя.


         Формат запроса — `x-www-form-urlencoded`.


        После получения ответа ACS с результатами прохождения 3D Secure на `TermUrl` нужно отправить запрос для подтверждения прохождения 3DS первой версии.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
                - MD
                - PaRes
              properties:
                MD:
                  description: |
                    Идентификатор платежа, который возвращается в ответе от ACS.
                  type: string
                  example: '2561504'
                PaRes:
                  description: |
                    Результат 3D Secure аутентификации, который возвращается в ответе от ACS.
                  type: string
                  example: eJxVUttygjAU/BWG1w4mXKXOMY5WOrVTrOOtl7cAqeJI1AAO+vVNFKrlaffkZM9mD9Crsq12ZCJPd7yrmy2sa4zHuyTlq66+mD8bvt4jMF8LxoYzFpeCEQhZntMV09JE3vC8Hx9j27A8LzEcN7aNCPu24VIrihKXetiPdAKT/pQdCNSDiJzTsgA1VCqKeE15QYDGh8FoTBy73fZtQDWFjInRkFi4+Uz82JbH1zJwmjEyHcwAXRDEu5IX4kQ8R/Y0BEqxJeui2HcQOlGesKolSkCqCuhmYFIqlEuVKk3IDL8uPwI3jDaBGZ4XeLxZVeFw5I7nX11AqgMSWjDpzPSxb/ma6XRct4Pl4y51oJkar5zLx1wx7NWI/t3BfQFkxkKuoHHfMGDVfseZugLoDwO6+X16UfHFhUyk/32OMH3vZ5+nYBu/2d4xcMTDsn04j19VqJcmpZjKYKT3q6QigJQMqveF6lVL9O8X+AWMIbbt
                PaymentId:
                  description: |
                    Идентификатор платежа в системе Т‑Бизнес.
                  type: string
                  example: '10063'
                TerminalKey:
                  description: |
                    Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
                  type: string
                  maxLength: 20
                  example: TBankTest
                Token:
                  description: |
                    Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
                  type: string
                  example: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
      x-codeSamples:
        - lang: Payload
          source: |
            <body onload="document.form.submit()">
            <form name="form" action="https://rest-api-test.tinkoff.ru/v2/Submit3DSAuthorization" method="post">
              <input type="hidden" name="MD" value="2561504">
              <input type="hidden" name="PaRes" value="eJxVUttygjAU/BWG1w4mXKXOMY5WOrVTrOOtl7cAqeJI1AAO+vVNFKrlaffkZM9mD9Crsq12ZCJPd7yrmy2sa4zHuyTlq66+mD8bvt4jMF8LxoYzFpeCEQhZntMV09JE3vC8Hx9j27A8LzEcN7aNCPu24VIrihKXetiPdAKT/pQdCNSDiJzTsgA1VCqKeE15QYDGh8FoTBy73fZtQDWFjInRkFi4+Uz82JbH1zJwmjEyHcwAXRDEu5IX4kQ8R/Y0BEqxJeui2HcQOlGesKolSkCqCuhmYFIqlEuVKk3IDL8uPwI3jDaBGZ4XeLxZVeFw5I7nX11AqgMSWjDpzPSxb/ma6XRct4Pl4y51oJkar5zLx1wx7NWI/t3BfQFkxkKuoHHfMGDVfseZugLoDwO6+X16UfHFhUyk/32OMH3vZ5+nYBu/2d4xcMTDsn04j19VqJcmpZjKYKT3q6QigJQMqveF6lVL9O8X+AWMIbbt">
              <input type="hidden" name="PaymentId" value="10063">
              <input type="hidden" name="TerminalKey" value="TBankTest">
              <input type="hidden" name="Token" value="871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6" >
            </form>
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - TerminalKey
                  - OrderId
                  - Success
                  - Status
                  - PaymentId
                  - ErrorCode
                properties:
                  TerminalKey:
                    description: |
                      Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
                    type: string
                  OrderId:
                    description: |
                      Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
                    type: string
                  Success:
                    description: |
                      Успешность прохождения запроса — `true`/`false`.
                    type: boolean
                  Status:
                    description: |
                      Статус транзакции:
                      - `CONFIRMED` — при успешном сценарии и одностадийном проведении платежа;
                      - `AUTHORIZED` — при успешном сценарии и двухстадийном проведении платежа; 
                      - `REJECTED` — при неуспешном сценарии.
                    type: string
                  PaymentId:
                    description: |
                      Идентификатор платежа в системе Т‑Бизнес.
                    type: string
                  ErrorCode:
                    description: |
                      Код ошибки.
                    type: string
                    maxLength: 20
                  Message:
                    description: |
                      Краткое описание ошибки.
                    type: string
                  Details:
                    description: |
                      Подробное описание ошибки.
                    type: string
              example:
                TerminalKey: TBankTest
                OrderId: '21050'
                Success: true
                Status: CONFIRMED
                PaymentId: '10063'
                ErrorCode: '0'
                Message: string
                Details: string
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/Submit3DSAuthorizationV2:
    post:
      operationId: Submit3DSAuthorizationV2
      tags:
        - Методы для работы с 3DS
      summary: Подтвердить прохождение 3DS v2.1
      x-front:
        usage-scenario:
          - name: Прием платежей по карте на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/card/
          - name: Привязка карты на своей форме привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      description: |

        >Для мерчантов c собственной платежной формой

        Проверяет результаты прохождения 3D Secure и при успешном прохождении
        подтверждает инициированный платеж.
        При использовании:
          * одностадийной оплаты — списывает денежные средства с карты
        покупателя;
          * двухстадийной оплаты — блокирует указанную сумму на карте покупателя.


        Формат запроса — `x-www-form-urlencoded`.


        После получения ответа ACS с результатами прохождения 3D Secure на `cresCallbackUrl` нужно
        отправить запрос на подтверждение прохождения 3DS второй версии.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
                - PaymentId
                - TerminalKey
                - Token
              properties:
                PaymentId:
                  description: |
                    Идентификатор платежа в системе Т‑Бизнес.
                  type: string
                  example: '10063'
                TerminalKey:
                  description: |
                    Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
                  type: string
                  maxLength: 20
                  example: TBankTest
                Token:
                  description: |
                    Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
                  type: string
                  example: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
      x-codeSamples:
        - lang: Payload
          source: |
            <body onload="document.form.submit()">
            <form name="form" action="https://rest-api-test.tinkoff.ru/v2/Submit3DSAuthorizationV2" method="post">
              <input type="hidden" name="PaymentId" value="10063">
              <input type="hidden" name="TerminalKey" value="TBankTest">
              <input type="hidden" name="Token" value="871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6" >
            </form>
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - OrderId
                  - Status
                  - TerminalKey
                  - Success
                  - ErrorCode
                  - PaymentId
                properties:
                  OrderId:
                    description: |
                      Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
                    type: string
                  TerminalKey:
                    description: |
                      Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
                    type: string
                  Status:
                    description: |
                      Статус транзакции
                    type: string
                  PaymentId:
                    description: |
                      Идентификатор платежа в системе Т‑Бизнес.
                    type: string
                  Success:
                    description: |
                      Успешность прохождения запроса — `true`/`false`.
                    type: boolean
                  ErrorCode:
                    description: |
                      Код ошибки.
                    type: string
                    maxLength: 20
                  Message:
                    description: |
                      Краткое описание ошибки.
                    type: string
                  Details:
                    description: |
                      Подробное описание ошибки.
                    type: string
              example:
                OrderId: '21050'
                TerminalKey: TBankTest
                Status: CONFIRMED
                PaymentId: '10063'
                Success: true
                ErrorCode: '0'
                Message: string
                Details: string
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/GetAddCardState:
    post:
      operationId: GetAddCardState
      tags:
        - Методы работы с картами
      summary: Получить статус привязки карты
      description: |

        >Для мерчантов c собственной платежной формой

        Метод возвращает статус привязки карты.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAddCardState'
            example:
              TerminalKey: TBankTest
              RequestKey: 13021e10-a3ed-4f14-bcd1-823b5ac37390
              Token: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAddCardStateResponse'
              example:
                TerminalKey: TBankTest
                RequestKey: 13021e10-a3ed-4f14-bcd1-823b5ac37390
                Status: NEW
                Success: true
                CardId: '156516516'
                RebillId: '134249124'
                ErrorCode: '0'
                Message: Неверные параметры
                Details: Данный RequestKey не найден.
                CustomerKey: testCustomer1234
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/GetCardList:
    post:
      operationId: GetCardList
      x-front:
        usage-scenario:
          - name: Привязка карты через форму привязки банка
            link: /eacq/scenarios/payments/PCI_DSS/card
          - name: Привязка карты через свою форму привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      tags:
        - Методы работы с картами
      summary: Получить список карт покупателя
      description: |
        Метод возвращает список всех привязанных к терминалу карт покупателя, включая удаленные.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetCardList'
            example:
              TerminalKey: TBankTest
              CustomerKey: testCustomer1234
              SavedCard: true
              Token: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
              IP: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - CardId
                    - Pan
                    - Status
                    - CardType
                  properties:
                    CardId:
                      description: |
                        Идентификатор карты в системе Т‑Бизнес.
                      type: string
                    Pan:
                      description: |
                        Номер карты.
                      type: string
                    Status:
                      description: |
                        Статус карты:
                        * `A` — активная;
                        * `D` — удаленная.
                      type: string
                      enum:
                        - A
                        - D
                    RebillId:
                      description: |
                        Уникальный идентификатор сохраненных реквизитов карты покупателя.
                      type: string
                    CardType:
                      description: |
                        Тип карты:
                        * `0` — карта списания;
                        * `1` — карта пополнения;
                        * `2` — карта пополнения и списания.
                      type: number
                      enum:
                        - 0
                        - 1
                        - 2
                    ExpDate:
                      description: |
                        Срок действия карты.
                      type: string
              example:
                CardId: '881900'
                Pan: 518223******0036
                Status: D
                RebillId': '6155312073'
                CardType: 0
                ExpDate: '1122'
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/RemoveCard:
    post:
      operationId: RemoveCard
      x-front:
        usage-scenario:
          - name: Привязка карты через форму привязки банка
            link: /eacq/scenarios/payments/PCI_DSS/card
          - name: Привязка карты через свою форму привязки
            link: /eacq/scenarios/payments/PCI_DSS/card/#работа-с-картами-и-покупателями
      tags:
        - Методы работы с картами
      summary: Удалить привязанную карту покупателя
      description: |
        Метод удаляет привязанную карту покупателя.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoveCard'
            example:
              TerminalKey: TBankTest
              CustomerKey: testCustomer1234
              CardId: '156516516'
              Token: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
              IP: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoveCardResponse'
              example:
                TerminalKey: TBankTest
                Status: D
                CustomerKey: testCustomer1234
                CardId: '156516516'
                CardType: 0
                Success: true
                ErrorCode: '0'
                Message: Неверные параметры
                Details: Не удалось удалить карту покупателя, для данного покупателя такая карта не существует
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/GetQr:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: GetQr
      x-front:
        usage-scenario:
          - name: Прием платежей через СБП на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/sbp/
      tags:
        - СБП
      summary: Сформировать QR
      description: |
        Метод регистрирует QR и возвращает информацию о нем. 
        Вызывается после метода [Инициировать платеж](/eacq/api/init).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetQr'
            example:
              TerminalKey: TBankTest
              PaymentId: 10063
              DataType: PAYLOAD
              Token: 871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QrResponse'
              example:
                TerminalKey: TBankTest
                OrderId: '21057'
                Success: true
                Data: https://qr.nspk.ru/AD1000670LSS7DN18SJQDNP4B05KLJL2
                PaymentId: 10063
                ErrorCode: '0'
                Message: Неверные параметры
                Details: Подробное описание ошибки
                RequestKey: Идентификатор запроса
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/TinkoffPay/terminals/{TerminalKey}/status:
    get:
      operationId: Status
      x-front:
        usage-scenario:
          - name: Прием платежей через T-Pay на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/t-pay/
      tags:
        - T‑Pay
      summary: Определить возможность проведения платежа
      description: |
        Метод определяет возможность проведения платежа T‑Pay на терминале.
      parameters:
        - in: path
          name: TerminalKey
          schema:
            type: string
            maxLength: 20
            example: testRegress
          required: true
          description: |
            Идентификатор терминала. Выдается мерчанту в Т-Бизнес при заведении теринала.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - Params
                  - Success
                  - ErrorCode
                properties:
                  Params:
                    description: |
                      Параметры ответа.
                    type: object
                    required:
                      - Allowed
                    properties:
                      Allowed:
                        description: |
                          Наличие возможности проведения оплаты
                          T‑Pay по API.
                        type: boolean
                      Version:
                        description: |
                          Версия T‑Pay, доступная на терминале:
                          * `1.0` — e-invoice;
                          * `2.0` — T‑Pay.
                        type: string
                  Success:
                    description: |
                      Успешность прохождения запроса — `true`/`false`.
                    type: boolean
                  ErrorCode:
                    description: |
                      Код ошибки.
                    type: string
                    maxLength: 20
                  Message:
                    description: |
                      Краткое описание ошибки.
                    type: string
                  Details:
                    description: |
                      Подробное описание ошибки.
                    type: string
              example:
                Params:
                  Allowed: true
                  Version: '1.0'
                Success: true
                ErrorCode: '0'
                Message: string
                Details: string
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/TinkoffPay/transactions/{paymentId}/versions/{version}/link:
    get:
      operationId: Link
      x-front:
        usage-scenario:
          - name: Прием платежей через T-Pay на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/t-pay/
      tags:
        - T‑Pay
      summary: Получить ссылку
      description: |
        Метод генерирует ссылку для безусловного редиректа на устройстве покупателя.
      parameters:
        - in: path
          name: paymentId
          schema:
            type: number
            maxLength: 20
            example: 13660
          required: true
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
        - in: path
          name: version
          required: true
          schema:
            type: string
            example: '2.0'
          description: |
            Версия T‑Pay, доступная на терминале — 2.0.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - Params
                  - Success
                  - ErrorCode
                properties:
                  Params:
                    description: |
                      Параметры ответа.
                    type: object
                    required:
                      - RedirectUrl
                    properties:
                      RedirectUrl:
                        description: |
                          URL для перехода.
                        type: string
                        format: uri
                      WebQR:
                        description: |
                          URL для получения QR.
                        type: string
                        format: uri
                  Success:
                    description: |
                      Успешность прохождения запроса — `true`/`false`.
                    type: boolean
                  ErrorCode:
                    description: |
                      Код ошибки.
                    type: string
                    maxLength: 20
                  Message:
                    description: |
                      Краткое описание ошибки.
                    type: string
                  Details:
                    description: |
                      Подробное описание ошибки.
                    type: string
              example:
                Params:
                  RedirectUrl: https://o.tbank.ru/tpay/<requestId>
                  WebQR: http://example.com
                Success: true
                ErrorCode: '0'
                Message: string
                Details: string
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/TinkoffPay/{paymentId}/QR:
    get:
      operationId: QR
      x-front:
        usage-scenario:
          - name: Прием платежей через T-Pay на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/t-pay/
      deprecated: false
      tags:
        - T‑Pay
      summary: Получить QR
      description: |
        Метод генерирует QR для десктопов.
      parameters:
        - in: path
          name: paymentId
          schema:
            type: number
            example: 700001702044
          required: true
          description: Идентификатор платежа в системе Т‑Бизнес.
      responses:
        '200':
          description: SVG QR, размер — 124*124.
          content:
            image/svg:
              schema:
                type: string
                format: binary
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/SberPay/{paymentId}/QR:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    get:
      operationId: SberPayQR
      x-front:
        usage-scenario:
          - name: Прием платежей через SberPay на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/sberpay/
      deprecated: false
      tags:
        - SberPay
      summary: Получить QR
      description: |
        Метод генерирует QR для десктопов.
      parameters:
        - in: path
          name: paymentId
          schema:
            type: string
            example: '700001702044'
          required: true
          description: Идентификатор платежа в системе Т‑Бизнес.
      responses:
        '200':
          description: SVG QR, размер — 124*124.
          content:
            image/svg:
              schema:
                type: string
                format: binary
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/SberPay/transactions/{paymentId}/link:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    get:
      operationId: SberPaylink
      x-front:
        usage-scenario:
          - name: Прием платежей через SberPay на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/sberpay/
      deprecated: false
      tags:
        - SberPay
      summary: Получить ссылку
      description: |
        Метод генерирует ссылку SberPay.
      parameters:
        - in: path
          name: paymentId
          schema:
            type: number
            example: 700001702044
          required: true
          description: Идентификатор платежа в системе Т‑Бизнес.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - Params
                  - Success
                  - ErrorCode
                properties:
                  Params:
                    description: |
                      Параметры ответа.
                    type: object
                    required:
                      - RedirectUrl
                    properties:
                      RedirectUrl:
                        description: |
                          URL для перехода.
                        type: string
                        format: uri
                  Success:
                    description: |
                      Успешность прохождения запроса — `true`/`false`.
                    type: boolean
                  ErrorCode:
                    description: |
                      Код ошибки.
                    type: string
                    maxLength: 20
                  Message:
                    description: |
                      Краткое описание ошибки.
                    type: string
                  Details:
                    description: |
                      Подробное описание ошибки.
                    type: string
              example:
                Params:
                  RedirectUrl: tinkoffbank://Main/EInvoicing?billId=5000015507&providerId=e-invoicing
                Success: true
                ErrorCode: '0'
                Message: string
                Details: string
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/MirPay/GetDeepLink:
    post:
      operationId: GetDeepLink
      x-front:
        usage-scenario:
          - name: Оплата через Mir Pay на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/mirpay/
      tags:
        - Mir Pay
      summary: Получить DeepLink
      description: |

        >Для мерчантов c собственной платежной формой

        Метод позволяет получить DeepLink с включенным подписанным JWT-токеном.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetDeepLink'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDeepLinkResponse'
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/AlfaPay/link/get:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: AlfaPayLink
      x-front:
        usage-scenario:
          - name: Прием платежей через Alfa Pay на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/alfapay
      deprecated: false
      tags:
        - Alfa Pay
      summary: Получить ссылку
      description: |
        Метод генерирует ссылку Alfa Pay.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AlfaPayLink'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlfaPayLinkResponse'
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/QrMembersList:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: QrMembersList
      tags:
        - СБП
      summary: Получить список банков-пользователей QR для возврата
      description: Метод возвращает список участников, которым может быть сделан возврат платежа, совершенного по QR.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - TerminalKey
                - PaymentId
                - Token
              properties:
                TerminalKey:
                  type: string
                  description: |
                    Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
                PaymentId:
                  type: string
                  description: |
                    Идентификатор платежа в системе Т‑Бизнес.
                Token:
                  type: string
                  description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
            example:
              TerminalKey: TBankTest
              PaymentId: '10063'
              Token: 871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - OrderId
                  - Success
                  - ErrorCode
                properties:
                  Members:
                    type: array
                    description: Массив списка участников. Возвращается, только если возврат возможен.
                    items:
                      $ref: '#/components/schemas/Member'
                  OrderId:
                    description: |
                      Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
                    type: string
                    maxLength: 36
                  Success:
                    description: |
                      Успешность прохождения запроса — `true`/`false`.
                    type: boolean
                  ErrorCode:
                    description: |
                      Код ошибки.
                    type: string
                    maxLength: 20
                  Message:
                    description: |
                      Краткое описание ошибки.
                    type: string
              example:
                Members:
                  - MemberId: '1000000'
                    MemberName: T-Банк
                    IsPayee: true
                OrderId: '21050'
                Success: true
                ErrorCode: '0'
                Message: OK
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/AddAccountQr:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: AddAccountQr
      x-front:
        usage-scenario:
          - name: Платежи по сохраненным реквизитам через СБП
            link: /eacq/scenarios/payments/nonPCI/autopay/
          - name: Платежи по сохраненным реквизитам через СБП на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/autopay/
          - name: Платеж через СБП на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/sbp/
      tags:
        - СБП
      summary: Привязать счет к магазину
      description: Метод инициирует привязку счета покупателя к магазину и возвращает информацию о нем.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddAccountQr'
            example:
              TerminalKey: TBankTest
              Description: string
              DataType: PAYLOAD
              Data:
                property1: string
                property2: string
              RedirectDueDate": '2016-08-31T12:28:00+03:00'
              Token: 871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddAccountQrResponse'
              example:
                TerminalKey: TBankTest
                Description: string
                DataType: PAYLOAD
                Data: https://sub.nspk.ru/AB50803R2RH0LJ2A9RTU038L6NT5RU1M?type=03&bank=100000000004&crc=F3D0
                RequestKey: ed989549-d3be-4758-95c7-22647e03f9ec
                ErrorCode": '0'
                Success: true
                Message: OK
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/GetAddAccountQrState:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: GetAddAccountQrState
      summary: Получить статус привязки счета к магазину
      tags:
        - СБП
      description: |
        Метод возвращает статус привязки счета покупателя по магазину.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAddAccountQrState'
            example:
              RequestKey: 13021e10-a3ed-4f14-bcd1-823b5ac37390
              TerminalKey: TBankTest
              Token: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAddAccountQrStateResponse'
              example:
                TerminalKey: TBankTest
                RequestKey: 211258
                BankMemberId: '100000000004'
                BankMemberName: T-Банк
                AccountToken: a022254a5c3c46a7327c8a12cb5c8389
                Success: true
                Status: ACTIVE
                ErrorCode: '0'
                Message: OK
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/GetAccountQrList:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: GetAccountQrList
      summary: Получить список счетов, привязанных к магазину
      tags:
        - СБП
      description: Метод возвращает список счетов покупателя, которые привязаны к магазину.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAccountQrList'
            examples:
              GetAccountQrListRequest:
                summary: Пример запроса
                value:
                  TerminalKey: TBankTest
                  Token: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountQrListResponse'
              examples:
                GetAccountQrListResponse:
                  summary: Пример ответа
                  value:
                    TerminalKey: TBankTest
                    Success: true
                    ErrorCode: '0'
                    Message: OK
                    AccountTokens:
                      - RequestKey: '77520'
                        Status: ACTIVE
                        AccountToken: 0b67f2cae19b41809f85d5674de30a1a
                        BankMemberId: '100000000004'
                        BankMemberName: T-Банк
                      - RequestKey: '77563'
                        Status: ACTIVE
                        AccountToken: 14ac4445811e8225db8ed312j4433a68
                        BankMemberId: '100000000004'
                        BankMemberName: T-Банк
                      - RequestKey: '77644'
                        Status: PROCCESING
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/ChargeQr:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: ChargeQr
      x-front:
        usage-scenario:
          - name: Платежи по СБП по сохраненным реквизитам
            link: /eacq/scenarios/payments/nonPCI/autopay/
          - name: Платежи по СБП по сохраненным реквизитам через свою платежную форму
            link: /eacq/scenarios/payments/PCI_DSS/autopay/
      tags:
        - Проведение платежа по сохраненным реквизитам
      summary: Автоплатеж по QR СБП
      description: |
        Метод проводит платеж по привязанному счету по QR через СБП.


        [Подробнее про автоплатежи по СБП](/eacq/scenarios/payments/PCI_DSS/autopay/#через-сбп)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChargeQr'
            example:
              TerminalKey: TBankTest
              PaymentId: '700001702044'
              AccountToken: 70LSS7DN18SJQRS10006DNPKLJL24B05
              Token: f5a3be479324a6d3a4d9efa0d02880b77d04a91758deddcbd9e752a6df97cab5
              IP: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
              SendEmail: true
              InfoEmail: customer@test.com
              BankMemberId: '100000000004'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChargeQrResponse'
              example:
                TerminalKey: TBankTest
                Amount: 100000
                OrderId: '21050'
                Success: true
                Status: CONFIRMED
                PaymentId: '13660'
                ErrorCode: '0'
                Message: Неверные параметры
                Details: string
                Currency: 643
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/SbpPayTest:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: SbpPayTest
      x-front:
        usage-scenario:
          - name: Тестирование СБП
            link: /eacq/intro/errors/test-sbp
      tags:
        - СБП
      summary: Создать тестовую платежную сессию
      description: Метод создает тестовую платежную сессию с предопределенным статусом по СБП.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SbpPayTest'
            example:
              TerminalKey: TBankTest
              PaymentId: '13660'
              Token: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
              IsDeadlineExpired: true
              IsRejected: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SbpPayTestResponse'
              example:
                Success: true
                ErrorCode: '0'
                Message: OK
                Details: '0'
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/GetQrState:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: GetQrState
      x-front:
        usage-scenario:
          - name: Получение данных о платеже
            link: /eacq/scenarios/notification/
      tags:
        - СБП
      summary: Получить статус возврата
      description: |
        Метод возвращает статус возврата платежа по СБП.

        <a href="/eacq/scenarios/notification">Подробнее про способы получения данных о платеже</a>
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - TerminalKey
                - PaymentId
                - Token
              properties:
                TerminalKey:
                  type: string
                  description: |
                    Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
                  example: TBankTest
                PaymentId:
                  type: string
                  description: |
                    Идентификатор платежа в системе Т‑Бизнес, котрый был получен в ответе на вызов метода [Инициировать платеж](/eacq/api/init).
                  example: '700031849'
                Token:
                  type: string
                  description: |
                    Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
                  example: l43kb4hyi6lknb23bv4gdfskjn238fsllsdf8
            example:
              TerminalKey: TBankTest
              PaymentId: '700031849'
              Token: l43kb4hyi6lknb23bv4gdfskjn238fsllsdf8
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetQRStateResponse'
              example:
                Success: true
                ErrorCode: '0'
                Status: CONFIRMED
                QrCancelCode: I05043
                QrCancelMessage: У покупателя нет расчетного счета в этом банке. Попробуйте вернуть деньги на счет этого покупателя в другом банке
                OrderId: '7830122'
                Amount: 10000
                Message: OK
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/GetQrBankList:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: GetQrBankList
      x-front:
        usage-scenario:
          - name: Прием платежей через СБП на своей платежной форме
            link: /eacq/scenarios/payments/PCI_DSS/sbp/
      tags:
        - СБП
      summary: Получить список банков-участников СБП для платежа
      description: |
        Метод возвращает список банков-участников СБП.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetQrBankList'
            example:
              TerminalKey: TBankTest
              ScenarioType: qr
              Device:
                Type: mobile
                Os: iOS
              Token: l43kb4hyi6lknb23bv4gdfskjn238fsllsdf8
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetQrBankListResponse'
              example:
                Success: true
                ErrorCode: '0'
                Message: dolor consequat mollit in
                BankList:
                  - BankId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                    NspkBankId: '100000000004'
                    BankName: Т-Банк
                    BankLogo: https://qr.nspk.ru/proxyapp/logo/bank100000000004.png
                    BankOrder: 1
                  - BankId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                    NspkBankId: '100000000111'
                    BankName: Сбербанк
                    BankLogo: https://qr.nspk.ru/proxyapp/logo/bank100000000111.png
                    BankOrder: 2
                  - BankId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
                    NspkBankId: '100000000005'
                    BankName: Банк ВТБ
                    BankLogo: https://qr.nspk.ru/proxyapp/logo/bank100000000005.png
                    BankOrder: 3
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/CheckOrder:
    post:
      operationId: CheckOrder
      x-front:
        usage-scenario:
          - name: Получение данных о платеже
            link: /eacq/scenarios/notification/
      tags:
        - Статус платежа или заказа
      summary: Получить статус заказа
      description: |
        Метод возвращает статус заказа.

        <a href="/eacq/scenarios/notification">Подробнее про способы получения данных о платеже</a>
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckOrder'
            example:
              TerminalKey: TBankTest
              OrderId: '21057'
              Token: 4c4c36adf9936b011879fa26f60759e7b47e57f7968283129b0ae9ac457486ab
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckOrder-2'
              example:
                TerminalKey: TBankTest
                OrderId: '21057'
                Success: true
                ErrorCode: '0'
                Message: OK
                Details: None
                Payments:
                  - PaymentId: '124671934'
                    Amount: 13660
                    Status: NEW
                    RRN: '12345678'
                    Success: 'true'
                    ErrorCode: 0
                    Message: None
                    SbpPaymentId: A42631655397753A0000030011340501
                    SbpCustomerId: c4494ca1c0888b3fb0e2bfd0b83576aaae0d2c71161c5f472133ea9401473aee
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /cashbox/SendClosingReceipt:
    servers:
      - url: https://securepay.tinkoff.ru
        description: production
    post:
      operationId: SendClosingReceipt
      x-front:
        usage-scenario:
          - name: Работа с чеками
            link: /eacq/scenarios/fiscalization/
      tags:
        - Методы работы с чеками
      summary: Отправить закрывающий чек в кассу
      description: |
        Метод отправляет закрывающий чек в кассу.

        <a href="/eacq/scenarios/fiscalization">Подробнее про работу с чеками</a>
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendClosingReceipt'
            example:
              TerminalKey: TBankTest
              PaymentId: '2304882'
              Receipt:
                ClientInfo:
                  Birthdate: string
                  Citizenship: string
                  DocumentСode: '21'
                  DocumentData: string
                  Address: string
                Taxation: osn
                Email: a@test.ru
                Phone: '+79031234567'
                Customer: '78894325'
                CustomerInn: '788621292'
                Items:
                  - AgentData:
                      AgentSign: paying_agent
                      OperationName: Позиция чека
                      Phones:
                        - '+790912312398'
                      ReceiverPhones:
                        - '+79221210697'
                        - '+79098561231'
                      TransferPhones:
                        - '+79221210697'
                      OperatorName: Tinkoff
                      OperatorAddress: г. Тольятти
                      OperatorInn: '7710140679'
                    SupplierInfo:
                      Phones:
                        - '+79221210697'
                        - '+79098561231'
                      Name: ООО Вендор товара
                      Inn: '7710140679'
                    Name: Наименование товара 1
                    Price: 10000
                    Quantity: 1
                    Amount: 10000
                    Tax: vat10
                    PaymentMethod: full_payment
                    PaymentObject: goods_with_marking_code
                    UserData: Данные пользователя ext.test.qa@tbank.ru
                    Excise: '12.2'
                    CountryCode: '056'
                    DeclarationNumber: '12345678901'
                    MeasurementUnit: шт
                    MarkProcessingMode: string
                    MarkCode:
                      MarkCodeType: EAN8
                      Value: '12345678'
                    MarkQuantity:
                      Numerator: 1
                      Denominator: 2
                    SectoralItemProps:
                      FederalId: '001'
                      Date: 21.11.2020
                      Number: 123/43
                      Value: test value SectoralItemProps
                Payments:
                  AdvancePayment: 1000
              Token: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendClosingReceipt-2'
              example:
                Success: true
                ErrorCode: '2304882'
                Message: Неверные параметры
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
  /v2/getConfirmOperation:
    post:
      operationId: GetConfirmOperation
      x-front:
        usage-scenario:
          - name: Получение данных о платеже
            link: /eacq/scenarios/notification/
      tags:
        - Справка по операции
      description: |
        Метод генерирует справку по конкретной операции. 

        Работает только для операций по карте, T‑Pay и Mir Pay.

        <a href="/eacq/scenarios/notification">Подробнее про способы получения данных о платеже</a>
      summary: Получить справку по операции
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/by_url'
                - $ref: '#/components/schemas/by_email'
            examples:
              URL:
                value:
                  TerminalKey: TBankTest
                  CallbackUrl: http://www.tbank.ru
                  PaymentIdList:
                    - 1201206437
                    - 1201206442
                  Token: f2fdd7fec8225872590e1558b7ea258c75df8f300d808006c41ab540dd7514d9
              Email:
                value:
                  TerminalKey: TBankTest
                  PaymentIdList:
                    - 1201206437
                    - 1201206442
                  EmailList:
                    - test1@tbank.ru
                    - test2@tbank.ru
                  Token: f2fdd7fec8225872590e1558b7ea258c75df8f300d808006c41ab540dd7514d9
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/response_by_url'
                  - $ref: '#/components/schemas/response_by_email'
              examples:
                URL:
                  value:
                    Success: true
                    ErrorCode: 0
                    Message: OK
                    PaymentIdList:
                      - Success: true
                        ErrorCode: 0
                        Message: Запрос на отправку документа принят
                        PaymentId: '1201206442'
                Email:
                  value:
                    Success: true
                    ErrorCode: 0
                    Message: OK
                    PaymentIdList:
                      - Success: true
                        ErrorCode: 0
                        Message: Запрос на отправку документа принят
                        PaymentId: '1201206442'
        '500':
          description: Внутренняя ошибка сервера
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/500'
              example:
                Success: false
                ErrorCode: '9999'
                Message: Внутренняя ошибка системы.
                Causes:
                  - Internal Service Error.
components:
  schemas:
    '500':
      type: object
      required:
        - ErrorCode
        - Message
        - Causes
      properties:
        ErrorCode:
          type: string
          description: Код ошибки.
          example: '9999'
        Message:
          type: string
          description: Описание ошибки.
          example: Внутренняя ошибка системы.
        Causes:
          $ref: '#/components/schemas/Causes'
        StackTrace:
          type: string
          description: Отчет об ошибке.
          example: 'javax.validation.ValidationException: HV000028: Unexpected exception during isValid call. <...>'
    Common:
      type: object
      properties:
        additionalProperties:
          type: string
        OperationInitiatorType:
          type: string
          description: |
            Признак инициатора операции для платежа. Параметр обязательный при создании 
            родительского CC-платежа при оплате картой.
             
            [Подробнее о признаке инициатора операции](/eacq/scenarios/payments/nonPCI/card/#передача-признака-инициатора-операции).

            - `0` — обычный платеж;
            - `1` — CIT CC;
            - `2` — CIT COF;
            - `R` — MIT COF Recurring;
            - `I` — MIT COF Installment;
            - `D` — MIT COF Delayed-Charge;
            - `N` — MIT COF No-Show.

            Если передавать значения параметров, которые не соответствуют таблице, MAPI вернет ошибку 1126 — несопоставимые 
            значения `rebillId` или `Recurrent` с переданным значением `OperationInitiatorType`.
          enum:
            - '0'
            - '1'
            - '2'
            - R
            - I
            - D
            - 'N'
    T-Pay:
      type: object
      properties:
        Device:
          description: |
            Тип устройства:
            * `SDK` — вызов из мобильного приложения,
            * `Desktop` — вызов из браузера с десктопа,
            * `Mobile` — вызов из браузера с мобильного устройства.
          type: string
          example: Desktop
          enum:
            - SDK
            - Desktop
            - Mobile
        DeviceOs:
          description: ОС устройства.
          type: string
          example: iOS
        DeviceWebView:
          description: Признак открытия в WebView.
          type: boolean
          example: true
        TinkoffPayWeb:
          description: Признак проведения операции через T‑Pay по API.
          type: boolean
          example: true
    LongPay1:
      properties:
        ticketNumber:
          description: |
            Номера билетов с контрольной цифрой для всех пассажиров, летящих по одному маршруту. В качестве разделителя используйте `;`.


            Параметр необязательный, если передан `ticketReservationNumber`.
          type: string
        ticketReservationNumber:
          description: |
            Номера билетов с контрольной цифрой для всех пассажиров, летящих по одному маршруту. В качестве разделителя используйте `;`.


            Параметр необязательный, если передан `ticketNumber`.
          type: string
        ticketSystem:
          description: Код системы продажи.
          type: string
        ticketAgencyCode:
          description: Код агентства.
          type: string
        ticketAgencyName:
          description: Название агентства.
          type: string
        ticketRestricted:
          description: |
            Ограничения билета:
            * `0` — без ограничений;
            * `1` — невозвратный.
          type: string
    LongPay2:
      description: |
        `%` — порядковый номер пассажира от 1 до 4.
      required:
        - ticketPassengerSurname%
        - ticketPassengerFirstname%
      properties:
        ticketPassengerSurname%:
          description: Фамилия латиницей.
          type: string
        ticketPassengerFirstname%:
          description: Имя латиницей.
          type: string
        passengerPassport%:
          description: Серия и номер паспорта.
          type: string
        passengerCountry%:
          description: Гражданство по стандарту `ISO 3166-1 alpha-3`.
          type: string
        ticketPassengerBirthDate%:
          description: Дата рождения в формате `YYYY-DD-MM`.
          type: string
    LongPay3:
      description: '`#` — порядковый номер пассажира от 1 до 4.'
      required:
        - triplegDate#
        - triplegCarrier#
        - triplegDestinationFrom#
        - triplegDestinationTo#
      properties:
        triplegDate#:
          description: Дата вылета в формате `YYYY-DD-MM`.
          type: string
        triplegTime#:
          description: Время вылета в формате `hh24:mm:ss`.
          type: string
        triplegCarrier#:
          description: Код перевозчика `ИАТА`.
          type: string
        triplegFlightNumber#:
          description: Номер рейса.
          type: string
        triplegClass#:
          description: Класс перелета.
          type: string
        triplegDestinationFrom#:
          description: Код аэропорта вылета ИАТА.
          type: string
        triplegDestinationTo#:
          description: Код аэропорта прилета ИАТА.
          type: string
        triplegCountryFrom#:
          description: Код страны вылета по стандарту `ISO 3166-1 numeric`.
          type: string
        triplegCountryTo#:
          description: Код страны прилета по стандарту `ISO 3166-1 numeric`.
          type: string
        triplegStopover#:
          description: |
            Остановка при пересадке:
            * `0` — разрешена;
            * `X` — запрещена.
          type: string
        triplegFareBasisCode#:
          description: Код тарифа.
          type: string
    LongPay:
      description: Расширенный набор параметров авиабилета передается при создании платежа (метод [Инициировать платеж](/eacq/api/init)) в параметре `DATA`.
      type: object
      properties:
        Параметры билета:
          type: array
          $ref: '#/components/schemas/LongPay1'
        Параметры пассажира:
          type: array
          $ref: '#/components/schemas/LongPay2'
        Параметры перелета:
          type: array
          $ref: '#/components/schemas/LongPay3'
    AgentData:
      type: object
      description: |
        Данные агента. Параметр обязательный, если используется агентская схема.
      properties:
        AgentSign:
          description: |
            `Тег ФФД: 1222`

            Признак агента:

            * `bank_paying_agent` — банковский платежный агент;
            * `bank_paying_subagent` — банковский платежный субагент;
            * `paying_agent` — платежный агент;
            * `paying_subagent` — платежный субагент;
            * `attorney` — поверенный;
            * `commission_agent` — комиссионер;
            * `another` — другой тип агента.
          type: string
          enum:
            - bank_paying_agent
            - bank_paying_subagent
            - paying_agent
            - paying_subagent
            - attorney
            - commission_agent
            - another
          example: paying_agent
        OperationName:
          description: |
            `Тег ФФД: 1044`

            Наименование операции.

            Параметр обязательный, если в `AgentSign` передано `bank_paying_agent` или `bank_paying_subagent`.
          type: string
          maxLength: 24
          example: Позиция чека
        Phones:
          description: |
            `Тег ФФД: 1073`     

            Телефоны платежного агента в формате `+{Ц}`.

            Параметр обязательный, если в `AgentSign` передано одно из значений:

            * `bank_paying_agent`;
            * `bank_paying_subagent`;
            * `paying_agent`;
            * `paying_subagent`.
          type: array
          items:
            type: string
            maxLength: 19
          example:
            - '+790912312398'
        ReceiverPhones:
          description: |
            `Тег ФФД: 1074`    

            Телефоны оператора по приему платежей в формате `+{Ц}`.

            Параметр обязательный, если `AgentSign` передан в значениях `paying_agent` или `paying_subagent`.
          items:
            type: string
            maxLength: 19
          example:
            - '+79221210697'
            - '+79098561231'
        TransferPhones:
          description: |
            `Тег ФФД: 1075`     

            Телефоны оператора перевода в формате `+{Ц}`.

            Параметр обязательный, если `AgentSign` передан в значениях `bank_paying_agent` или `bank_paying_subagent`.
          items:
            type: string
            maxLength: 19
          example:
            - '+79221210697'
        OperatorName:
          description: |
            `Тег ФФД: 1026`

            Наименование оператора перевода.

            Параметр обязательный, если в `AgentSign` передано `bank_paying_agent` или `bank_paying_subagent`.
          type: string
          maxLength: 64
          example: TBank
        OperatorAddress:
          description: |
            `Тег ФФД: 1005`
             
            Адрес оператора перевода.

            Параметр обязательный, если в `AgentSign` передано `bank_paying_agent` или `bank_paying_subagent`.
          type: string
          maxLength: 243
          example: г. Тольятти
        OperatorInn:
          description: |
            `Тег ФФД: 1016`

            ИНН оператора перевода.
            Параметр обязательный, если в `AgentSign` передано `bank_paying_agent` или `bank_paying_subagent`.
          type: string
          maxLength: 12
          example: '7710140679'
    SupplierInfo:
      type: object
      description: |
        Данные поставщика платежного агента. 
        Параметр обязательный, если передается значение `AgentSign` в объекте `AgentData`.
      properties:
        Phones:
          description: |
            `Тег ФФД: 1171`  

            Телефоны поставщика в формате `+{Ц}`.
            Параметр обязательный, если передается значение `AgentSign`
            в объекте `AgentData`.
          type: array
          items:
            type: string
            maxLength: 19
          example:
            - '+79221210697'
            - '+79098561231'
        Name:
          description: |
            `Тег ФФД: 1225`

            Наименование поставщика.
            Параметр обязательный, если передается значение `AgentSign` 
            в объекте `AgentData`.
            Состоит из 239 символов, в которые включаются телефоны поставщика — + 4 символа на каждый телефон.
              
              
            Например, если передано два телефона поставщика длиной 12 и 14 символов, 
            максимальная длина наименования поставщика будет 
            239 – (12 + 4) – (14 + 4) = 205 символов.
          type: string
          maxLength: 239
          example: ООО Вендор товара
        Inn:
          description: |
            `Тег ФФД: 1226`

            ИНН поставщика в формате `ЦЦЦЦЦЦЦЦЦЦ`.
            Параметр обязательный, если передается значение `AgentSign` 
            в объекте `AgentData`.
          type: string
          minLength: 10
          maxLength: 12
          example: '7710140679'
    Items_FFD_105:
      type: object
      required:
        - Name
        - Price
        - Quantity
        - Amount
        - Tax
      properties:
        Name:
          description: |
            `Тег ФФД: 1030`

            Наименование товара.
          type: string
          maxLength: 128
          example: Наименование товара 1
        Price:
          description: |
            `Тег ФФД: 1078`

            Цена в копейках.
          type: number
          example: 10000
        Quantity:
          description: |
            `Тег ФФД: 1023`

            Количество или вес товара. Максимальное количество символов — 11, где:
            * целая часть — не больше 5 знаков;
            * дробная — не больше 6 знаков.
          type: number
          maxLength: 11
          example: 1
        Amount:
          description: |
            `Тег ФФД: 1043`

            Стоимость товара в копейках.
            Произведение `Quantity` и `Price`.
          type: number
          maxLength: 10
          example: 10000
        PaymentMethod:
          description: |
            `Тег ФФД: 1214`   

            Признак способа расчета:
            * `full_prepayment` — предоплата 100%;
            * `prepayment` — предоплата;
            * `advance` — аванс;
            * `full_payment` — полный расчет;
            * `partial_payment` — частичный расчет и кредит;
            * `credit` — передача в кредит;
            * `credit_payment` — оплата кредита.


            Если значение не передано, по умолчанию в онлайн-кассу
            отправляется признак предмета расчета `full_payment`. 
          type: string
          enum:
            - full_prepayment
            - prepayment
            - advance
            - full_payment
            - partial_payment
            - credit
            - credit_payment
          default: full_payment
        PaymentObject:
          description: |
            `Тег ФФД: 1212`
             
            Признак предмета расчета:
            * `commodity` — товар;
            * `excise` — подакцизный товар;
            * `job` — работа;
            * `service` — услуга;
            * `gambling_bet` — ставка азартной игры;
            * `gambling_prize` — выигрыш азартной игры;
            * `lottery` — лотерейный билет;
            * `lottery_prize` — выигрыш лотереи;
            * `intellectual_activity` — предоставление результатов интеллектуальной деятельности;
            * `payment` — платеж;
            * `agent_commission` — агентское вознаграждение;
            * `composite` — составной предмет расчета;
            * `another` — иной предмет расчета.     


            Если значение не передано, по умолчанию в онлайн-кассу
            отправляется признак предмета расчета `commodity`.
          type: string
          enum:
            - commodity
            - excise
            - job
            - service
            - gambling_bet
            - gambling_prize
            - lottery
            - lottery_prize
            - intellectual_activity
            - payment
            - agent_commission
            - composite
            - another
          default: commodity
        Tax:
          description: |
            `Тег ФФД: 1199`

            Ставка НДС:
            * `none` — без НДС,
            * `vat0` — НДС по ставке 0%;
            * `vat5` — НДС по ставке 5%;
            * `vat7` — НДС по ставке 7%;
            * `vat10` — НДС по ставке 10%;
            * `vat22` — НДС по ставке 22%;
            * `vat105` — НДС чека по расчетной ставке 5/105;
            * `vat107` — НДС чека по расчетной ставке 7/107;
            * `vat110` — НДС чека по расчетной ставке 10/110;
            * `vat122` — НДС чека по расчетной ставке 22/122.
          type: string
          enum:
            - none
            - vat0
            - vat5
            - vat7
            - vat10
            - vat22
            - vat105
            - vat107
            - vat110
            - vat122
          example: vat10
        Ean13:
          description: |
            `Тег ФФД: 1162`

            Штрихкод. В зависимости от типа кассы требования к штрихкоду могут отличаться:
            * АТОЛ Онлайн — шестнадцатеричное
            представление с пробелами. Максимальная
            длина — 32 байта (^[a-fA-F0-9]{2}$)|(^([afA-F0-9]{2}\\s){1,31}[a-fA-F0-9]{2}$).<br>
            Пример:
            `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`

            * CloudKassir — длина строки: четная, от 8 до
            150 байт. То есть от 16 до 300 ASCII символов
            ['0' - '9' , 'A' - 'F' ] шестнадцатеричного
            представления кода маркировки товара.<br>
            Пример:
            `303130323930303030630333435`

            * OrangeData — строка, содержащая `Base64`-
            кодированный массив от 8 до 32 байт.<br>
            Пример:
            `igQVAAADMTIzNDU2Nzg5MDEyMwAAAAAAAQ==`


            Если в запросе передается параметр `Ean13`, который не
            прошел валидацию, то вернется неуспешный
            ответ с текстом ошибки в параметре `message` =
            `Неверный параметр Ean13`.
          type: string
          maxLength: 300
          example: '0123456789'
        ShopCode:
          description: |
            Код магазина. Для параметра `ShopСode`
            нужно использовать значение параметра
            `Submerchant_ID`, который возвращается в ответе при
            регистрации магазинов через XML. Если XML не
            используется, передавать поле не нужно.
          type: string
          example: '12345'
        AgentData:
          description: |
            Данные агента.
            Параметр обязательный, если используется агентская схема.
          $ref: '#/components/schemas/AgentData'
        SupplierInfo:
          description: |
            Данные поставщика платежного агента.
            Параметр обязательный, если передается значение `AgentSign` в объекте `AgentData`.
          $ref: '#/components/schemas/SupplierInfo'
    Payments:
      type: object
      description: |
        Детали платежа.


        Если объект не передан, автоматически указывается итоговая сумма чека с видом оплаты «Безналичный». 
         
         
        Если передан объект `receipt.Payments`, значение в `Electronic` должно быть равно итоговому значению `Amount` в методе [Инициировать платеж](/eacq/api/init).
        При этом сумма введенных значений по всем видам оплат, включая `Electronic`, должна быть равна сумме (`Amount`) всех товаров, которые были переданы в объекте `receipt.Items`.
      required:
        - Electronic
      properties:
        Cash:
          description: |
            `Тег ФФД: 1031.`<br>

            Вид оплаты «Наличные».
            Сумма к оплате в копейках.
          type: number
          maxLength: 14
          example: 90000
        Electronic:
          description: |
            `Тег ФФД: 1081.`<br>

            Вид оплаты «Безналичный».
          type: number
          maxLength: 14
          example: 19200
        AdvancePayment:
          description: |
            `Тег ФФД: 1215.`<br>

            Вид оплаты «Предварительная оплата (Аванс)».
          type: number
          maxLength: 14
          example: 0
        Credit:
          description: |
            `Тег ФФД: 1216.`<br>

            Вид оплаты «Постоплата (Кредит)».
          type: number
          maxLength: 14
          example: 0
        Provision:
          description: |
            `Тег ФФД: 1217.`<br>

            Вид оплаты «Иная форма оплаты».
          type: number
          maxLength: 14
          example: 0
    AddUserProp:
      type: object
      description: |
        Дополнительный реквизит пользователя.
      required:
        - Name
        - Value
      properties:
        Name:
          description: |
            `Тег ФФД: 1085`

            Наименование дополнительного реквизита пользователя.
          type: string
          maxLength: 64
        Value:
          description: |
            `Тег ФФД: 1086`

            Значение дополнительного реквизита пользователя.
          type: string
          maxLength: 256
    Receipt_FFD_105:
      type: object
      description: Объект с информацией о видах суммы платежа. Если объект не передан, автоматически указывается итоговая сумма чека с видом оплаты «Безналичная».
      required:
        - Items
        - Taxation
      properties:
        Items:
          description: Массив позиций чека с информацией о товарах. Количество товаров в чеке — не больше 100.
          type: array
          items:
            $ref: '#/components/schemas/Items_FFD_105'
        Email:
          description: |
            `Тег ФФД: 1008`

            Электронная почта покупателя.
            Параметр обязательный, если не передан `Phone`.
          type: string
          format: email
          maxLength: 64
          example: a@test.ru
        Phone:
          description: |
            `Тег ФФД: 1008`

            Телефон покупателя в формате `+{Ц}`.
            Параметр обязательный, если не передан `Email`.
          type: string
          maxLength: 64
          example: '+79031234567'
        Taxation:
          description: |
            `Тег ФФД: 1055`

            Система налогообложения:
            * `osn` — общая СН;
            * `usn_income` — упрощенная СН (доходы). Налоговая автоматически определит АУСН по ИНН и пробьет чеки с нужной СНО;
            * `usn_income_outcome` — упрощенная СН (доходы минус расходы). Налоговая автоматически определит АУСН по ИНН и пробьет чеки с нужной СНО;
            * `esn` — единый сельскохозяйственный налог;
            * `patent` — патентная СН.
          type: string
          enum:
            - osn
            - usn_income
            - usn_income_outcome
            - esn
            - patent
          example: osn
        Payments:
          description: |
            Детали платежа.


            Если объект не передан, автоматически указывается итоговая сумма чека с видом оплаты «Безналичный».


            Если передан объект `receipt.Payments`, значение в `Electronic`
            должно быть равно итоговому значению `Amount` в методе [Инициировать платеж](/eacq/api/init). 
            При этом сумма введенных значений по всем видам оплат, 
            включая `Electronic`, должна быть равна сумме (`Amount`) всех товаров, 
            которые были переданы в объекте `receipt.Items`.
          $ref: '#/components/schemas/Payments'
        AddUserProp:
          description: |
            `Тег ФФД: 1084`

            Дополнительный реквизит пользователя.
          type: object
          $ref: '#/components/schemas/AddUserProp'
        additionalCheckProps:
          description: |
            `Тег ФФД: 1192`

            Дополнительный реквизит чека (БСО).
          type: string
          maxLength: 16
    ClientInfo:
      type: object
      description: |
        Информация о покупателе.
      properties:
        Birthdate:
          description: |
            `Тег ФФД: 1243`

            Дата рождения покупателя в формате `ДД.ММ.ГГГГ`.
          type: string
        Citizenship:
          description: |
            `Тег ФФД: 1244`

            Числовой код страны, гражданином которой является покупатель. Код страны указывается в соответствии с Общероссийским классификатором стран мира [ОКСМ](https://classifikators.ru/oksm).
          type: string
        DocumentСode:
          description: |
            `Тег ФФД: 1245`

            Числовой код вида документа, удостоверяющего личность.

            Может принимать только следующие значения:

            * `21` — паспорт гражданина Российской Федерации.
            * `22` — паспорт гражданина Российской Федерации, дипломатический паспорт, служебный паспорт, удостоверяющие личность гражданина Российской Федерации за пределами Российской Федерации.
            * `26` — временное удостоверение личности гражданина Российской Федерации, выдаваемое на период оформления паспорта гражданина Российской Федерации.
            * `27` — свидетельство о рождении гражданина Российской Федерации. Для граждан Российской Федерации в возрасте до 14 лотереи. 
            * `28` — иные документы, признаваемые документами, удостоверяющими личность гражданина Российской Федерации в соответствии с законодательством Российской Федерации.
            * `31` — паспорт иностранного гражданина.
            * `32` — иные документы, признаваемые документами, удостоверяющими личность иностранного гражданина в соответствии с законодательством Российской Федерации и международным договором Российской Федерации.
            * `33` — документ, выданный иностранным государством и признаваемый в соответствии с международным договором Российской Федерации в качестве документа, удостоверяющего личность лица безгражданства.
            * `34` — вид на жительство, для лиц без гражданства.
            * `35` - разрешение на временное проживание, для лиц без гражданства.
            * `36` — свидетельство о рассмотрении ходатайства о признании лица без гражданства беженцем на территории Российской Федерации по существу.
            * `37` — удостоверение беженца.
            * `38` — иные документы, признаваемые документами, удостоверяющими личность лиц без гражданства в соответствии с законодательством Российской Федерации и международным договором Российской Федерации.
            * `40` — документ, удостоверяющий личность лица, не имеющего действительного документа, удостоверяющего личность, на период рассмотрения заявления о признании гражданином Российской Федерации или о приеме в гражданство Российской Федерации.
          type: string
          example: '21'
        DocumentData:
          description: |
            `Тег ФФД: 1246`

            Реквизиты документа, удостоверяющего личность. Например, серия и номер паспорта.
          type: string
        Address:
          description: |
            `Тег ФФД: 1254`

            Адрес покупателя-грузополучателя.
          type: string
          maxLength: 256
    MarkCode:
      type: object
      description: |
        Код маркировки. Предназначен 
        для нанесения на потребительскую упаковку, 
        товары или товарный ярлык.      
            
            
        Включается в чек, если предметом расчета является товар, который подлежит обязательной маркировке сканером — соответствующий код в поле `paymentObject`.
      required:
        - MarkCodeType
        - Value
      properties:
        MarkCodeType:
          description: |
            Тип штрихкода:
            * `UNKNOWN` — код товара, формат которого не
            идентифицирован, как один из реквизитов;
            * `EAN8` — код товара в формате EAN-8;
            * `EAN13` — код товара в формате EAN-13;
            * `ITF14` — код товара в формате ITF-14;
            * `GS10` — код товара в формате GS1,
            который нанесен на товар, не подлежащий
            маркировке;
            * `GS1M` — код товара в формате GS1,
            который нанесен на товар, подлежащий
            маркировке;
            * `SHORT` — код товара в формате короткого кода
            маркировки, который нанесен на товар;
            * `FUR` — контрольно-идентификационный знак
            мехового изделия;
            * `EGAIS20` — код товара в формате ЕГАИС-2.0;
            * `EGAIS30` — код товара в формате ЕГАИС-3.0;
            * `RAWCODE` — код маркировки, как он был прочитан сканером.
          type: string
          example: EAN8
        Value:
          description: |
            Код маркировки.
          type: string
          example: '12345678'
    MarkQuantity:
      type: object
      description: |
        Реквизит «Дробное количество маркированного товара». 
        Передается, только если расчет осуществляется 
        за маркированный товар — соответствующий код в поле 
        `paymentObject` и значение в поле `measurementUnit` 
        равно `0`.


        Пример: 
        ```
              {
              "numenator": "1"
              "denominator" "2"  
              }
        ```
      properties:
        Numerator:
          description: |
            `Тег ФФД: 1293`

            Числитель дробной части предмета расчета. 
            Значение должно быть строго меньше
            значения реквизита «знаменатель».
          type: number
          example: 1
        Denominator:
          description: |
            `Тег ФФД: 1294`  

            Знаменатель дробной части предмета расчета. 
            Значение равно количеству товара в партии (упаковке), 
            которая имет общий код маркировки товара.
          type: number
          example: 2
    SectoralItemProps:
      type: object
      description: |
        Отраслевой реквизит предмета расчета. Указывается только для товаров, которые подлежат обязательной маркировке сканером. Включение этого реквизита предусмотрено НПА отраслевого регулирования для
        соответствующей товарной группы.
      required:
        - FederalId
        - Date
        - Number
        - Value
      properties:
        FederalId:
          description: |
            `Тег ФФД: 1262`   

            Идентификатор ФОИВ — федеральный орган
            исполнительной власти.
          type: string
          example: '001'
        Date:
          description: |
            `Тег ФФД: 1263` 

            Дата нормативного акта ФОИВ.
          type: string
          format: date
          example: 21.11.2020
        Number:
          description: |
            `Тег ФФД: 1264`

            Номер нормативного акта ФОИВ.
          type: string
          example: 123/43
        Value:
          description: |
            `Тег ФФД: 1265`    

            Состав значений, котрые определены нормативным актом ФОИВ.
          type: string
          example: test value SectoralItemProps
    Items_FFD_12:
      type: object
      description: |
        Массив с информацией о товарах.  
         

        Параметры, предусмотренные в протоколе для отправки чеков по маркируемым товарам. Необязательные 
        для товаров без маркировки. 


        Если используется ФФД 1.2, но реализуемый товар не
        подлежит маркировке, поля можно не отправлять или отправить со значением `null`.
      required:
        - Name
        - Price
        - Quantity
        - Amount
        - Tax
        - PaymentMethod
        - PaymentObject
        - MeasurementUnit
      properties:
        AgentData:
          type: object
          $ref: '#/components/schemas/AgentData'
        SupplierInfo:
          type: object
          $ref: '#/components/schemas/SupplierInfo'
        Name:
          description: |
            `Тег ФФД: 1030` 

            Наименование товара.
          type: string
          maxLength: 128
          example: Наименование товара 1
        Price:
          description: |
            `Тег ФФД: 1079`

            Цена в копейках.
          type: number
          example: 10000
        Quantity:
          description: |
            `Тег ФФД: 1023`
                  
            Количество или вес товара. Максимальное количество символов — 11, где:
            * целая часть — не больше 5 знаков, 
            * дробная — не больше 6 знаков.

            Для касс Ferma значение должно быть целым числом, если `MeasurementUnit=шт`.
          type: number
          maxLength: 11
          example: 1
        Amount:
          description: |
            `Тег ФФД: 1043`

            Стоимость товара в копейках.
            Произведение `Quantity` и `Price`.
          type: number
          maxLength: 10
          example: 10000
        Tax:
          description: |
            `Тег ФФД: 1199`

            Ставка НДС:
            * `none` — без НДС;
            * `vat0` — НДС по ставке 0%;
            * `vat5` — НДС по ставке 5%;
            * `vat7` — НДС по ставке 7%;
            * `vat10` — НДС по ставке 10%;
            * `vat22` — НДС по ставке 22%;
            * `vat105` — НДС чека по расчетной ставке 5/105;
            * `vat107` — НДС чека по расчетной ставке 7/107;
            * `vat110` — НДС чека по расчетной ставке 10/110;
            * `vat122` — НДС чека по расчетной ставке 22/122. 
          type: string
          enum:
            - none
            - vat0
            - vat5
            - vat7
            - vat10
            - vat22
            - vat105
            - vat107
            - vat110
            - vat122
          example: vat10
        PaymentMethod:
          description: |
            `Тег ФФД: 1214`

            Признак способа расчета:
             * `full_prepayment` — предоплата 100%;
             * `prepayment` — предоплата;
             * `advance` — аванс;
             * `full_payment` — полный расчет;
             * `partial_payment` — частичный расчет и кредит;
             * `credit` — передача в кредит;
             * `credit_payment` — оплата кредита. 


            Если значение не передано, по умолчанию в онлайн-кассу
            отправляется признак предмета расчета `full_payment`. 
          type: string
          enum:
            - full_prepayment
            - prepayment
            - advance
            - full_payment
            - partial_payment
            - credit
            - credit_payment
          default: full_payment
          example: full_prepayment
        PaymentObject:
          description: |
            `Тег ФФД: 1212`

            Значения реквизита «Признак предмета расчета» — тег 1212, таблица 101:

            * `commodity` — товар;
            * `excise` — подакцизный товар;
            * `job` — работа;
            * `service` — услуга;
            * `gambling_bet` — ставка азартной игры;
            * `gambling_prize` — выигрыш азартной игры;
            * `lottery` — лотерейный билет;
            * `lottery_prize` — выигрыш лотереи;
            * `intellectual_activity` — предоставление результатов интеллектуальной деятельности;
            * `payment` — платеж;
            * `agent_commission` — агентское
              вознаграждение;
            * `contribution` — выплата;
            * `property_rights` — имущественное право;
            * `unrealization` — внереализационный доход;
            * `tax_reduction` — иные платежи и взносы;
            * `trade_fee` — торговый сбор;
            * `resort_tax` — курортный сбор;
            * `pledge` — залог;
            * `income_decrease` — расход;
            * `ie_pension_insurance_without_payments` — взносы на ОПС ИП;
            * `ie_pension_insurance_with_payments` — взносы на ОПС;
            * `ie_medical_insurance_without_payments` — взносы на ОМС ИП;
            * `ie_medical_insurance_with_payments` — взносы на ОМС;
            * `social_insurance` — взносы на ОСС;
            * `casino_chips` — платеж казино;
            * `agent_payment` — выдача ДС;
            * `excisable_goods_without_marking_code` — АТНМ;
            * `excisable_goods_with_marking_code` — АТМ;
            * `goods_without_marking_code` — ТНМ;
            * `goods_with_marking_code` — ТМ;
            * `another` — иной предмет расчета.
          type: string
          enum:
            - commodity
            - excise
            - job
            - service
            - gambling_bet
            - gambling_prize
            - lottery
            - lottery_prize
            - intellectual_activity
            - payment
            - agent_commission
            - contribution
            - property_rights
            - unrealization
            - tax_reduction
            - trade_fee
            - resort_tax
            - pledge
            - income_decrease
            - ie_pension_insurance_without_payments
            - ie_pension_insurance_with_payments
            - ie_medical_insurance_without_payments
            - ie_medical_insurance_with_payments
            - social_insurance
            - casino_chips
            - agent_payment
            - excisable_goods_without_marking_code
            - excisable_goods_with_marking_code
            - goods_without_marking_code
            - goods_with_marking_code
            - another
          example: goods_with_marking_code
        UserData:
          description: |
            `Тег ФФД: 1191`


            Дополнительный реквизит предмета расчета.
          type: string
          example: Данные пользователя ext.test.qa@tbank.ru
        Excise:
          description: |
            `Тег ФФД: 1229` 

            Сумма акциза в рублях с учетом копеек,
            которая включена в стоимость предмета расчета:
            * целая часть — не больше 8 знаков;
            * дробная часть — не больше 2 знаков;
            * значение не может быть отрицательным.
          type: string
          example: '12.2'
        CountryCode:
          description: |
            `Тег ФФД: 1230`

            Цифровой код страны происхождения товара в
            соответствии с Общероссийским
            классификатором стран мира — 3 цифры.
          type: string
          maxLength: 3
          example: '056'
        DeclarationNumber:
          description: |
            `Тег ФФД: 1231`
             
            Номер таможенной декларации.
          type: string
          maxLength: 32
          example: '12345678901'
        MeasurementUnit:
          description: |
            `Тег ФФД: 2108`  

            Единицы измерения: 
            * `шт` — применяется для предметов расчета, которые могут быть реализованы поштучно или единицами;
            * `г` — грамм;
            * `кг` — килограмм;
            * `т` — тонна;
            * `см` — сантиметр;
            * `дм` — дециметр;
            * `м` — метр;
            * `см2` — квадратный сантиметр;
            * `дм2` — квадратный дециметр;
            * `м2` — квадратный метр;
            * `мл` — миллиметр;
            * `л` — литр; 
            * `м3` — кубический метр;
            * `кВт*ч` — киловатт/час;
            * `Гкал` — гигакалория;
            * `сут` или `дн` — сутки или день;
            * `ч` — час;
            * `мин` — минута;
            * `с` — секунда;
            * `Кбайт` — килобайт;
            * `Мбайт` — мегабайт;
            * `Гбайт` — гигабайт;
            * `Тбайт` — терабайт;
            * `—` — применяется при использовании иных единиц измерения


            Также возможна передача произвольных значений.


            Параметр обязательный, если версия ФФД онлайн-кассы — `1.2`.
          type: string
          example: шт
        MarkProcessingMode:
          description: |
            `Тег ФФД: 2102`

            Режим обработки кода маркировки.
            Должен принимать значение, равное `0`.


            Включается в чек, если предметом расчета 
            является товар, который подлежит обязательной
            маркировке сканером — соответствующий код в поле `paymentObject`.
          type: string
        MarkCode:
          type: object
          description: |
            `Тег ФФД: 1163`

            Код маркировки. Предназначен для нанесения на потребительскую упаковку, товары или товарный ярлык.


            Включается в чек, если предметом расчета является товар, который подлежит обязательной маркировке сканером — соответствующий код в поле `paymentObject`.


            С **01.09.2025** для чеков с маркированными товарами обязательно передается часовая зона места расчета (тег 1011). По умолчанию — Москва. Для изменения напишите на <a href="mailto:acq_help@tbank.ru">acq_help@tbank.ru</a>.
          $ref: '#/components/schemas/MarkCode'
        MarkQuantity:
          type: object
          $ref: '#/components/schemas/MarkQuantity'
        SectoralItemProps:
          type: array
          description: |
            Отраслевой реквизит предмета расчета. Указывается только для товаров, которые подлежат обязательной маркировке сканером. Включение этого реквизита предусмотрено НПА отраслевого регулирования для
            соответствующей товарной группы.
          $ref: '#/components/schemas/SectoralItemProps'
    OperatingCheckProps:
      type: object
      description: |
        Операционный реквизит чека.
      required:
        - Name
        - Value
        - Timestamp
      properties:
        Name:
          description: |
            Идентификатор операции.
          type: string
        Value:
          description: |
            Данные операции.
          type: string
          maxLength: 64
        Timestamp:
          description: |
            Дата и время операции.
            Значение в формате `dd.mm.yyyy HH:MM:SS`.
          type: string
    SectoralCheckProps:
      type: array
      description: |
        Отраслевой реквизит чека.
      required:
        - FederalId
        - Date
        - Number
        - Value
      properties:
        FederalId:
          description: |
            `Тег ФФД: 1262`

            Идентификатор федерального органа исполнительной власти (ФОИВ).

            Может принимать значения от `001` до `072`.
          type: enum
          minLength: 3
          maxLength: 3
        Date:
          description: |
            Дата нормативного акта федерального органа исполнительной власти (ФОИВ), регламентирующего порядок заполнения значения отраслевого реквизита.

            Значение в формате `ДД.ММ.ГГГГ`.
          type: string
          minLength: 10
          maxLength: 10
        Number:
          description: |
            Номер нормативного акта федерального органа исполнительной власти (ФОИВ), регламентирующего порядок заполнения значения отраслевого реквизита.
          type: string
          maxLength: 32
        Value:
          description: |
            Состав значений, определенных нормативным актом федерального органа исполнительной власти (ФОИВ).
          type: string
          maxLength: 256
    Receipt_FFD_12:
      type: object
      description: Объект с информацией о видах суммы платежа. Если не передан, автоматически указывается итоговая сумма чека с видом оплаты «Безналичная».
      required:
        - Taxation
        - Items
      properties:
        ClientInfo:
          type: object
          $ref: '#/components/schemas/ClientInfo'
        Taxation:
          description: |
            `Тег ФФД: 1055`

            Система налогообложения:
            * `osn` — общая СН;
            * `usn_income` — упрощенная СН (доходы). Налоговая автоматически определит АУСН по ИНН и пробьет чеки с нужной СНО;
            * `usn_income_outcome` — упрощенная СН (доходы минус расходы). Налоговая автоматически определит АУСН по ИНН и пробьет чеки с нужной СНО;
            * `esn` — единый сельскохозяйственный налог;
            * `patent` — патентная СН.
          type: string
          enum:
            - osn
            - usn_income
            - usn_income_outcome
            - esn
            - patent
          example: osn
        Email:
          description: |
            `Тег ФФД: 1008`
                
            Электронная почта покупателя.
            Параметр обязательный, если не передан `Phone`.
          type: string
          format: email
          maxLength: 64
          example: a@test.ru
        Phone:
          description: |
            `Тег ФФД: 1008`
                 
            Телефон покупателя в формате `+{Ц}`.
            Параметр обязательный, если не передан `Email`.
          type: string
          maxLength: 64
          example: '+79031234567'
        Customer:
          description: |
            `Тег ФФД: 1227`
                
            Идентификатор/имя покупателя. 


            В параметре можно передавать только email или номер телефона.
          type: string
          example: '78894325'
        CustomerInn:
          description: |
            `Тег ФФД: 1228`

            ИНН покупателя.
          type: string
          example: '788621292'
        Items:
          description: |
            Массив с информацией о товарах. Количество товаров в чеке — не больше 100.


            Параметры, которые предусмотрены в протоколе для отправки чеков по маркируемым товарам, не являются обязательными для товаров без маркировки. 


            Если используется ФФД 1.2, но реализуемый товар не подлежит маркировке, поля можно не отправлять или отправить со значением `null`.
          type: array
          $ref: '#/components/schemas/Items_FFD_12'
        Payments:
          description: |
            Детали платежа.


            Если объект не передан, автоматически указывается итоговая сумма чека с видом оплаты «Безналичный».


            Если передан объект `receipt.Payments`, значение в `Electronic` должно быть равно итоговому значению `Amount` в методе [Инициировать платеж](/eacq/api/init).
            При этом сумма введенных значений по всем видам оплат, включая `Electronic`, должна быть равна сумме (`Amount`) всех товаров, которые были переданы в объекте `receipt.Items`
          type: array
          $ref: '#/components/schemas/Payments'
        OperatingСheckProps:
          description: |
            `Тег ФФД: 1270`

            Операционный реквизит чека.
          type: object
          $ref: '#/components/schemas/OperatingCheckProps'
        SectoralCheckProps:
          description: |
            `Тег ФФД: 1261`

            Отраслевой реквизит чека.
          type: array
          $ref: '#/components/schemas/SectoralCheckProps'
        AddUserProp:
          description: |
            `Тег ФФД: 1084`

            Дополнительный реквизит пользователя.
          type: object
          $ref: '#/components/schemas/AddUserProp'
        AdditionalCheckProps:
          description: |
            `Тег ФФД: 1192`

            Дополнительный реквизит чека (БСО).
          type: string
          maxLength: 16
    Shops:
      type: object
      description: JSON-объект с данными маркетплейса. Обязательный для маркетплейсов.
      required:
        - ShopCode
        - Amount
      properties:
        ShopCode:
          description: |
            Код магазина.
          type: string
          example: '700456'
        Amount:
          description: |
            Cумма в копейках, которая относится к указанному `ShopCode`.
          type: number
          example: 10000
        Name:
          description: |
            Наименование товара.
          type: string
          maxLength: 128
          example: Товар
        Fee:
          description: |
            Сумма комиссии в копейках, которая удерживается из возмещения партнера в пользу маркетплейса.
            Если параметр не передан, используется комиссия, которая была указана при регистрации.
          type: string
          example: '500'
    Init:
      type: object
      required:
        - TerminalKey
        - Token
        - Amount
        - OrderId
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        Amount:
          description: |
            * Сумма в копейках. Например, 3 руб. 12коп. — это число 312.
            * Параметр должен быть равен сумме всех параметров `Amount`, переданных в объекте `Items`.
            * Минимальная сумма операции с помощью СБП составляет 10 руб.
          type: number
          maxLength: 10
          example: 140000
        OrderId:
          description: Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
          type: string
          maxLength: 36
          example: '21050'
        Token:
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          type: string
          example: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
        Description:
          description: |
            Описание заказа.
            Значение параметра будет отображено на платежной форме.


            Параметр обязательный при привязке и одновременной оплате через СБП. При оплате через СБП текст из этого параметра отобразится в мобильном банке покупателя.
          type: string
          maxLength: 140
          example: Подарочная карта на 1400.00 рублей
        CustomerKey:
          description: |
            Идентификатор покупателя в системе мерчанта. Нужен для сохранения карт на платежной форме — платежи в один клик.


            Параметр обязательный, если передан параметр `Recurrent`=`Y` и автоплатеж проводится по карте.


            Если передан, в уведомлении будут указаны `CustomerKey` и его `CardId`. Подробнее — в методе [Получить список карт покупателя](/eacq/api/get-card-list).
          type: string
          maxLength: 36
        Recurrent:
          description: |
            Признак родительского CC-платежа. Обязателен для проведения операции с сохранением реквизитов карты покупателя. 


            Если передается и установлен в `Y`, при платеже будут сохранены реквизиты карты покупателя. 
            В этом случае после оплаты в уведомлении на `AUTHORIZED` будет передан параметр `RebillId` для использования в методе [Провести платеж по сохраненным реквизитам](/eacq/api/charge).
            Для привязки и одновременной оплаты по CБП передавайте `Y`.
          type: string
          maxLength: 1
          example: 'Y'
          enum:
            - 'Y'
        PayType:
          description: |
            Определяет тип проведения платежа:

            * `O` — одностадийная оплата;
            * `T` — двухстадийная оплата. 


            Если параметр передан, используется его значение, если нет — значение из настроек терминала.
          type: string
          enum:
            - O
            - T
        Language:
          description: |
            Язык платежной формы:

            * `ru` — русский;
            * `en` — английский. 


            Если параметр не передан, форма откроется на русском языке.
          type: string
          maxLength: 2
          example: ru
          default: ru
        NotificationURL:
          description: |
            URL на веб-сайте мерчанта, куда будет отправлен POST-запрос о статусе выполнения вызываемых методов — настраивается в личном кабинете.


            Если параметр передан, используется его значение, если нет — значение из настроек терминала.


            [Подробнее](/eacq/intro/developer/notification)
          type: string
          format: uri
        SuccessURL:
          description: |
            URL на веб-сайте мерчанта, куда будет переведен покупатель в случае успешной оплаты — настраивается в личном кабинете.


            Если параметр передан, используется его значение, если нет — значение из настроек терминала.
          type: string
          format: uri
        FailURL:
          description: |
            URL на веб-сайте мерчанта, куда будет переведен покупатель в случае неуспешной оплаты — настраивается в личном кабинете.


            Если параметр передан, используется его значение, если нет — значение из настроек терминала.
          type: string
          format: uri
        RedirectDueDate:
          description: |
            Cрок жизни ссылки или динамического QR-кода СБП, если выбран этот способ оплаты.


            Если дата в параметре меньше текущей, оплата по ссылке и QR будет недоступна.

            * Минимальное значение — 1 минута от текущей даты.
            * Максимальное значение — 90 дней от текущей даты.
            * Формат даты — `YYYY-MM-DDTHH24:MI:SS+GMT`.


            Пример даты — `2016-08-31T12:28:00+03:00`.


            Если параметр не был передан, проверяется настроечный параметр терминала `REDIRECT_TIMEOUT`, который содержит значение срока жизни ссылки в часах. Если его значение:
            * больше нуля — оно будет установлено в качестве срока жизни ссылки или динамического QR-кода;
            * меньше нуля — устанавливается значение по умолчанию: 1440 мин. (1 сутки).
          format: date-time
        DATA:
          description: |
            JSON-объект с дополнительными параметрами по операции и настройками в формате `ключ:значение`.


            Максимальная длина ключа — 20 знаков, значения — 100 знаков. 


            Максимальное количество пар `ключ:значение` — не больше 20.


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

            <!--
            Параметр `notificationEnableSource` позволяет отправлять уведомлении, только если Source платежа входит в перечень указанных в параметре — он также есть в параметрах сессии — `T‑Pay`, `sbpqr`.
            Пример: `notificationEnableSource=T‑Pay`. 
            -->
          oneOf:
            - $ref: '#/components/schemas/Common'
            - $ref: '#/components/schemas/T-Pay'
            - $ref: '#/components/schemas/LongPay'
        Receipt:
          description: JSON-объект с данными чека. Обязателен, если подключена онлайн-касса.
          oneOf:
            - $ref: '#/components/schemas/Receipt_FFD_105'
            - $ref: '#/components/schemas/Receipt_FFD_12'
        Shops:
          type: array
          description: JSON-объект с данными маркетплейса. Параметр обязательный для маркетплейсов.
          items:
            $ref: '#/components/schemas/Shops'
    Response:
      type: object
      required:
        - TerminalKey
        - Amount
        - OrderId
        - Success
        - PaymentId
        - ErrorCode
        - Status
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        Amount:
          description: |
            Сумма в копейках.
          type: number
          maxLength: 20
          example: 100000
        OrderId:
          description: |
            Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
          type: string
          maxLength: 36
          example: '21050'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        Status:
          description: |
            Статус транзакции.
          type: string
          maxLength: 20
          example: NEW
        PaymentId:
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          type: string
          maxLength: 20
          example: '13660'
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        PaymentURL:
          description: |
            Ссылка на платежную форму. Параметр возвращается только для мерчантов, которые используют платежную форму Т-Банка.
          type: string
          format: uri
          maxLength: 100
          example: https://pay.tbank.ru/new/fU1ppgqa
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверные параметры
        Details:
          description: |
            Подробное описание ошибки.
          type: string
          example: '0'
    Causes:
      type: aray
      description: Подробное описание причины ошибки.
      items:
        type: string
      example:
        - Internal Service Error.
    3DSMethod:
      title: Запрос
      type: object
      required:
        - threeDSMethodData
      properties:
        threeDSMethodData:
          type: string
          description: |
            JSON-объект, закодированный в формат `Base64` с параметрами:

            * `threeDSMethodNotificationURL` — обратный адрес, на который будет отправлен запрос после прохождения threeDSMethod;
            * `threeDSServerTransID` — идентификатор платежа из ответа метода [Проверить версию 3DS](/eacq/api/check-3-ds-version). Генерируется 3DS Server.
          example: eyJ0aHJlZURTU2VydmVyVHJhbnNJRCI6IjU2ZTcxMmE1LTE5MGEtNDU4OC05MWJjLWUwODYyNmU3N2M0NCIsInRocmVlRFNNZXRob2ROb3RpZmljYXRpb25VUkwiOiJodHRwczovL3Jlc3QtYXBpLXRlc3QudGlua29mZi5ydS92Mi9Db21wbGV0ZTNEU01ldGhvZHYyIn0
    3DSMethod-2:
      type: object
      required:
        - threeDSServerTransID
      properties:
        threeDSServerTransID:
          description: |
            Идентификатор платежа, который генерируется 3DS Server.
          type: string
          maxLength: 36
          example: string
    3DSv2:
      type: object
      required:
        - threeDSCompInd
        - language
        - timezone
        - screen_height
        - screen_width
        - cresCallbackUrl
      properties:
        threeDSCompInd:
          type: string
          description: |
            `deviceChannel 02 — BRW`


            Идентификатор выполнения метода [Пройти этап 3DS Method](/eacq/api/3-ds-method):
            * `Y` — выполнение метода успешно завершено;
            * `N` — выполнение метода завершено неуспешно или метод не выполнялся;
            * `U` — в ответе метода [Проверить версию 3DS](/eacq/api/check-3-ds-version) не вернулось значение `threeDSMethodURL`.
          example: 'Y'
        language:
          type: string
          description: |
            `deviceChannel 02 — BRW`


            Язык браузера в формате `IETF BCP47`.
            Рекомендуем получать значение в браузере из глобального объекта `navigator` — `navigator.language`.
          example: RU
        timezone:
          type: string
          description: |
            `deviceChannel 02 — BRW`


            Часовой пояс пользователя в минутах.
            Рекомендуем получать значение в браузере через вызов метода **getTimezoneOffset()**.
          example: '-300'
        screen_height:
          type: string
          description: |
            `deviceChannel 02 — BRW`


            Высота экрана в пикселях.
            Рекомендуем получать значение в браузере из глобального объекта `screen` — `screen.height`.
          example: '1024'
        screen_width:
          type: string
          description: |
            `deviceChannel 02 — BRW`


            Ширина экрана в пикселях.
            Рекомендуем получать значение в браузере из глобального объекта `screen` — `screen.width`.
          example: '967'
        cresCallbackUrl:
          type: string
          description: |
            `deviceChannel 02 — BRW`


            URL, который будет использоваться для получения результата (CRES) после завершения Challenge Flow 
            — аутентификации с дополнительным переходом на страницу ACS.
          maxLength: 256
          example: www.callbackurl.ru
        colorDepth:
          type: string
          description: |
            `deviceChannel 02 — BRW`


            Глубина цвета в битах.


            Допустимые значения — 1/4/8/15/16/24/32/48.


            Рекомендуем получать значение в браузере из глобального объекта `screen` — `screen.colorDepth`.
          default: 48
          example: '48'
        javaEnabled:
          type: string
          description: |
            `deviceChannel 02 — BRW`

            Поддержка Java браузером пользователя: 
            * `true`,
            * `false`. 


            Значение по умолчанию — `false`.
          default: false
          example: 'false'
    FinishAuthorize:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - CardData
        - Token
      properties:
        TerminalKey:
          type: string
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        PaymentId:
          type: string
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          maxLength: 20
          example: '700001702044'
        Token:
          type: string
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: f5a3be479324a6d3a4d9efa0d02880b77d04a91758deddcbd9e752a6df97cab5
        IP:
          type: string
          description: |
            IP-адрес покупателя в формате IPv4 и IPv6. DS платежной системы требует передавать IPv6 в полном формате — 8 групп по 4 символа.


            Параметр обязательный для 3DS второй версии.
          example: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
        SendEmail:
          type: boolean
          description: |
            Отправка уведомлений об оплате на почту покупателя:

            * `true` — отправлять;
            * `false` — не отправлять.
        Source:
          type: string
          description: |
            Источник платежа.
            Значение параметра зависит от параметра `Route`:
            - `ACQ` — `cards` или `Cards`;
            - `MC` — `beeline`, `mts`, `tele2`, `megafon`;
            - `EINV` — `einvoicing`;
            - `WM` — `webmoney`.
          enum:
            - cards
            - beeline
            - mts
            - tele2
            - megafon
            - einvoicing
            - webmoney
          example: cards
        DATA:
          type: object
          description: |
            JSON-объект, который содержит дополнительные
            параметры в виде `ключ:значение`. Эти параметры будут переданы на страницу
            оплаты, если она кастомизирована.


            Максимальная длина для каждого передаваемого параметра:

            * ключ — 20 знаков;
            * значение — 100 знаков. 


            Максимальное количество пар `ключ`:`значение` — не больше 20.


            Если ключи или значения содержат в себе специальные символы, получившееся значение должно быть закодировано функцией `urlencode`.
          oneOf:
            - $ref: '#/components/schemas/3DSv2'
            - type: object
              additionalProperties:
                type: string
                example: '11111'
        InfoEmail:
          type: string
          format: email
          description: |
            Адрес почты покупателя.
            Параметр обязательный, если передан `SendEmail=true`.
          example: qwerty@test.com
        EncryptedPaymentData:
          type: string
          description: |
            Данные карты.
            Параметр обязательный только для ApplePay или GooglePay.
        CardData:
          type: string
          description: "Объект `CardData` собирается в виде списка `ключ=значение` (разделитель `;`) и зашифровывается открытым ключом — X509 RSA 2048. Бинарное значение кодируется в `Base64`.\n\nОткрытый ключ генерируется в Т‑Бизнес и выдается при регистрации терминала. \nКлюч доступен в личном кабинете Интернет-эквайринга в разделе **Магазины**.\n\nОбязательные параметры с типом данных `number`:\n\n* `PAN` — номер карты;\n* `ExpDate` —\_месяц и год срока действия карты в формате MMYY.\n\nНеобязательные параметры с типом данных `string`:\n\n* `CardHolder` — имя и фамилия держателя карты как на карте.\n* `CVV` — код защиты с обратной стороны карты. Параметр необязательный для платежей через Apple Pay с расшифровкой токена на своей стороне.\n* `ECI` — Electronic Commerce Indicator. Индикатор, который показывает степень защиты, применяемой при предоставлении покупателя своих данных ТСП.\n* `CAVV`\_— Cardholder Authentication Verification Value или Accountholder Authentication Value.\n\n\nПример значения элемента формы `CardData`:\n\n```\nPAN=4300000000000777;ExpDate=0519;CardHolder=IVAN PETROV;CVV=111\n```\n\n[Как получить платежный токен для MirPay при интеграции с НСПК](/eacq/scenarios/payments/PCI_DSS/mirpay/#метод-подтвердить-платеж)\n\nЕсли мерчант интегрируется только с банком для проведения платежа по MirPay,\nметод не вызывается. Эквайер самостоятельно получает платежный токен и инициирует авторизацию\nвместо мерчанта.\n\nПри получении `CAVV` в `CardData` оплата будет проводиться как оплата токеном — иначе прохождение 3DS будет регулироваться стандартными настройками терминала или платежа.\n\nПараметр не используется, если передается `EncryptedPaymentData`."
          example: eyJzaWduYXR1cmUiOiJNRVVDSVFEdjNJS1A5WG9nWml4RytUUm9zZWFDK0RGd3RKd2FtMHVEcm91RUVGZVB6Z0lnYXBFbHhxQ3AwQWtZcVVmTFVMaVNhUjBKWkVQNmg 4THFqYks5YkJKQnM5d1x1MDAzZCIsInByb3RvY29sVmVyc2lvbiI6IkVDdjEiLCJzaWduZWRNZXNzYWdlIjoie1wiZW5jcnlwdGVkTWVzc2FnZVwiOlwiQW11dm5OYUIralBsa3VKTitrMUZLSDZFcm1VK2lTY052 L05rR3FFaXIxOHZmSWxkVFJ5L2U4cW5zMXkyanFtcm1acU1JSWNYMUhyTHBxRURpaXkvS3B6SUhNZFllcXRkSVVNOU1tRjNpejU2d2NTZUVVaXU2ODI3QThGcitaYm8xRWtWRjY1TUxRYVY3NlBOUFRndH UvQ1BodW5HUk0rN25KdVhDczVtbkVvOHFma0RNVk8xWktGWDQ4TnVEL2FKcDJQdVVIY2puSnBTZ0pTSDB4U21YSnAzU1MreXFDNm54N254WUEwN2h4YjYvSnp2R2s3ZExDU2hWWGU1Z2haUjNDaFQyV W8rRnpXTWJRRGZtSjBLQW9kc2VlR0xaaitqMzVqOUlKMkhJRFhIUUZZMWNuTW9YVUVoTjgvdEkvRkpqRnJiYVdFRkIzRDZwOFUzT2tkUmVaNHAyYi8yYURNZXVxR1ozSUtjc3R0R2lKMFhQQVhhZXYyQU8 o1M3RRQXVqQXRYdFlaekNTVjVBVXdXZS85T1VcXHUwMDNkXCJ9In0=
        Amount:
          type: number
          maxLength: 10
          description: |
            Сумма в копейках.
          example: 10000
        deviceChannel:
          type: string
          description: |
            Канал устройства.
            Поддерживаются следующие каналы:
            * `01` — Application (APP);
            * `02` — Browser (BRW).


            Не следует передавать параметр deviceChannel=02 — он установлен по умолчанию и подставляется автоматически.
            Если указать deviceChannel=02 явно, запрос завершится ошибкой:
            ErrorCode=204, Message=Неверные параметры, Details=Неверный токен. Проверьте пару TerminalKey/SecretKey.
          example: '02'
          default: '02'
        Route:
          type: string
          description: |
            Способ платежа.
            Параметр обязательный для ApplePay или GooglePay.
          enum:
            - ACQ
            - MC
            - EINV
            - WM
          example: ACQ
    FinishAuthorize-2:
      type: object
      required:
        - TerminalKey
        - Amount
        - OrderId
        - Success
        - ErrorCode
        - Status
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        Amount:
          description: |
            Сумма в копейках.
          type: number
          maxLength: 20
          example: 100000
        OrderId:
          description: |
            Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
          type: string
          maxLength: 36
          example: '21050'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        Status:
          description: |
            Статус транзакции.
            Возвращается один из четырех статусов платежа:
              * `CONFIRMED` — при одностадийной оплате;
              * `AUTHORIZED` — при двухстадийной оплате;
              * `3DS_CHECKING` — когда нужно пройти проверку 3D Secure. Если используется своя платежная форма и платеж завис в этом статусе, нужно обратиться к эмитенту для устранения ошибок оплаты;
              * `REJECTED` — при неуспешном прохождении платежа.
          type: string
          maxLength: 20
          example: NEW
        PaymentId:
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          type: string
          maxLength: 20
          example: '13660'
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверные параметры
        Details:
          description: |
            Подробное описание ошибки.
          type: string
          example: '0'
        RebillId:
          type: string
          description: Уникальный идентификатор сохраненных реквизитов карты покупателя.
          example: '21813157'
        CardId:
          description: Идентификатор карты в системе Т‑Бизнес. Передается только для cохраненной карты.
          type: string
    Without3DS:
      allOf:
        - $ref: '#/components/schemas/FinishAuthorize-2'
        - type: object
          properties:
            CardId:
              type: string
              description: |
                Идентификатор карты в системе Т‑Бизнес. 
                Передается только для сохраненной карты.
    With3DS:
      allOf:
        - $ref: '#/components/schemas/FinishAuthorize-2'
        - type: object
          properties:
            MD:
              type: string
              description: |
                Идентификатор платежа, который возвращается в ответе от ACS.
              example: ACQT-563587431
            PaReq:
              type: string
              description: |
                Результат 3D Secure аутентификации, который возвращается в ответе от ACS.
              example: |
                "eJxVUl1TwjAQ/CtM30s+KLTDHGHQwsiogFh09C2kp1RpC2nLh7/eBAtqnnYvN3ubvUD/kK4bO9RFkmc9hzWp08BM5XGSvfecRTRyA6cvIFppxP
                ARVaVRwD0WhXzHRhL3HMUU73itwKVtyl1Pcs8Nli3pymUQK+z2Sww6joDZYI5bAfUgYeY0OZAzNYparWRWCpBqezWeiDZnLe3BqSmkqMeh4PRy2p
                02BfJThkymKCIsSiAnCCqvslIfhXEG5Eyg0muxKstN0SVkv983yyT7zN/emroiQOwlkF8js8qiwogdklg8rEfT5WK0jj6G7D4cepNo8TWNBmwSDXtAbAfEskTjkPk0
                oF6DeV3a6jLj8VQHmVoXglFTqTFs7IjBn4u/BTBZa7OK8yPODPCwyTM0HSbACwby6/f6xsaoSpNMMN89+uHdV/iUPz2nyat/uxrPXz5nuX/c2nBPTVYxMflwzthJ0hIgVobUeyP1yg469xW+AedOuuM="
            ACSUrl:
              type: string
              format: uri
              description: |
                Если в ответе метода [Подтвердить платеж](/eacq/api/finish-authorize) возвращается статус `3DS_CHECKING`, 
                мерчанту нужно сформировать запрос на URL ACS банка, который выпустил карту — параметр `ACSUrl` в ответе, и вместе с этим перенаправить покупателя на эту же страницу ACSUrl для прохождения 3DS.
              example: https://secure.tcsbank.ru/acs/auth/start.do
    With3DSv2APP:
      allOf:
        - $ref: '#/components/schemas/FinishAuthorize-2'
        - type: object
        - required:
            - TdsServerTransId
            - AcsTransId
            - AcsReferenceNumber
            - SdkTransID
          properties:
            TdsServerTransId:
              type: string
              description: |
                Идентификатор платежа, который генерируется 3DS Server. Обязательный параметр для 3DS v2.1.
              example: d93f7c66-3ecf-4d10-ba62-46046e7b7596
            AcsTransId:
              type: string
              description: |
                Идентификатор платежа, который назначается ACS.
              example: aceca6af-56ee-43f0-80ef-ea8d30d5c5b0
            AcsInterface:
              type: string
              format: uri
              description: |
                Обязательное поле, если `Transaction Status` = `C`.`


                Тип пользовательского интерфейса ACS:
                  - `01` — Native UI,
                  - `02` — HTML UI.
              example: '02'
            AcsUiTemplate:
              type: string
              format: uri
              description: |
                Обязательное поле, если `Transaction Status` = `C`.`


                Формат шаблона пользовательского интерфейса ACS: 
                - `01` — Text;
                - `02` — Single Select;
                - `03` — Multi Select;
                - `04` — OOB;
                - `05` — HTML Other (valid only for HTML UI).
              example: '03'
            AcsSignedContent:
              type: string
              format: uri
              description: |
                Обязательное поле, если `Transaction Status` = `C`.


                 JWS-объект, который создан ACS для ARes. Содержит:
                   - ACS URL — 3DS SDK должен отправить Challenge Request на этот URL,
                   - ACS Ephemeral Public Key (QT),
                   - SDK Ephemeral Public Key (QC).
              example: eyJ4NWMiOlsiTUlJRGtUQ0NBbm1nQXdJQkFnSVVRU1VEV05VZEFicWozS1Uya0M0VHpaSEpVVHd3RFFZSktvWklodmNOQVFFTEJRQXdXREVMTUFrR0ExVUVCaE1DVWxVeER6QU5CZ05WQkFnTUJrMXZjMk52ZHpFUE1BMEdBMVVFQnd3R1RXOXpZMjkzTVJJ d0VBWURWUVFLREFsVGIyMWxJR0poYm1zeEV6QVJCZ05WQkFNTUNtUnpMbTF2WTJzdWNuVXdIaGNOTWpBd056RTRNVFExT1RNM1doY05NakV3TnpFNE1UUTFPVE0zV2pCWU1Rc3dDUVlEVlFRR0V3SlNWVEVQTUEwR0ExVUVDQXdHVFc5elkyOTNNUTh3RF FZRFZRUUhEQVpOYjNOamIzY3hFakFRQmdOVkJBb01DVk52YldVZ1ltRnVhekVUTUJFR0ExVUVBd3dLWkhNdWJXOWpheTV5ZFRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTUhNdXB1Wlg3VUFWR3Z5dm9uZ1o4U3BJcisrRD RnMjBRaFwvZ0NGb3JUN1pDUkRaVWhRamlDSzdXSWpiVHRKQUFKVG1yelhcLzlMSGJIdHpIcFFvRFVTNXZPTnRqVWFaVGVQUE91SklMRWl6NDBBVjJCUVZRd0xnRzBjbm9oK21Qa0dNMEZ4VmJFcHFEVHk3SHB0dFAwdm96cGxHNjdFWk1HTXdKSUpESmlDYUdG OGZ0aTlYR3M4MXB3NUhWZElmOHNpQnFaWW94cGt0QWJ1dnpBTFJEUnp3dFBhclFHOTZyQStPM0dJaE53VDhZXC9pallwS0hWNkJCWDBKNmxZdFdoaVY5blhBVktYNTNlVTJ4M1E2Njh4U3BLa2dwSVh1N2xiNUN2M2dDTlIrelVqK0lTODNZYjJhUlR2WkF6MFI1 V3dBNW5Zb2J6V3Vta1wvdE5iV1FYdzBWTUNBd0VBQWFOVE1GRXdIUVlEVlIwT0JCWUVGRmVWN0dzR0tCSzhUTDljaVk4UFF2N0RhY290TUI4R0ExVWRJd1FZTUJhQUZGZVY3R3NHS0JLOFRMOWNpWThQUXY3RGFjb3RNQThHQTFVZEV3RUJcL3dRRk1BT UJBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUZqVGppUkxKOFpaWld5dXFLNTZHVkR6dnJiXC9uRlVDTHVjVXZEV2toK09lRWkxWUFPOUJZV3RFVTVzdmRNNTlsOWVTMGtjbGxrRzVDTklcL1U4S2dKSnUzV0tEVXp5cU80eVRNU3g3RWZDXC9qVE1oT2d2Y UJubktWK2hvV3FQZTlKNHZVYzZ2R0wzWE1cL0FNeWpoVDlBRko1ZjZBaVdZMk5QYkxHczQ2N0ZPY2Vwb1RJMkdseHBtcWdaMFVGKzlsblNZbDU0WEg2dGNZYUszWjcxS2NES0I0QkUySWVmV1Y3MUM3anBVdjFFSlFsNTY4XC8xaGpsZktXUExWcE5NTzVlTlNMR 1ZKd1VmdFA0V0tKU2Y2VmdtbG5XOU1yVStiK3hvZW44MFF1dUxrSWs1ZXBIM2l1ZDV4a1IxcVVXQU1aTUZTQW4yUHJDdjQrZFFMRDd2OG83d3BrPSJdLCJhbGciOiJQUzI1NiJ9.eyJhY3NFcGhlbVB1YktleSI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IlRoRj NJY3BIMVVLanliQW5lNWhHcy1BNnpyYXo2aUxiYVk0WmVEOU1oSU0iLCJ5Ijoid0VuVXNvNlRLZDlfbjZSc2NjUXRCeFc2Q1gzLXFSTGk0UWJBU3pNbm4tTSJ9LCJzZGtFcGhlbVB1YktleSI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6Ikp6R2tGM2w3WGxnclJ6NU 1PTl9ncDg3WUxfd0NkVVJpVUlxOXJmNnVyR2MiLCJ5IjoiTnI4UmllTE9vVzJXUkhiX2RFazFmdHRoWEZXTHdYaWZFUzNZZkFnMkhvWSJ9LCJhY3NVUkwiOiJodHRwczovL2VhY3EtZHMtbW9jay1zZXJ2aWNlLXRlc3QudGNzYmFuay5ydS9jaGFsbGVuZ2UvZDkzZjdj NjYtM2VjZi00ZDEwLWJhNjItNDYwNDZlN2I3NTk2In0.hQLVTT5YMAY8TjISRdYX2IT04zH8Z8DgoB4kIAyVfkuJ0X6AGIKXSVcIVSNgC-A_SEkCZRqAyUeu0ZJtpoIVyOf1mumBGEK-uC6yVQlX5WSPidQUj4nuBvpYsfdrGPeoHWvNsrBpMMxvvW4559jtbAUY00NcW3rwDShAi4gVKgJcssMPAM1zOOR5vi0_ClUsCW1k9a201Hv6cYcEBuO2JQ8NPLampEkZ55nOmwcPPTEziXeZsq9VjROXNfBewbA4wLuQmh8aSrcOcwFtJo0CPpdrsKiY77KPT0c8XMmZZK_FiAxzrWocfHraqC7cRJNQ5glEBakXvSfrwGg_xXA
            AcsReferenceNumber:
              type: string
              format: uri
              description: Идентификатор платежа, который назначается EMVCo.
              example: '12345'
            SdkTransID:
              type: string
              format: uri
              description: Идентификатор платежа, который назначается 3DS SDK.
              example: d5a44dfe-673b-4666-82f9-96346107e424
    With3DSv2BRW:
      allOf:
        - $ref: '#/components/schemas/FinishAuthorize-2'
        - type: object
        - required:
            - TdsServerTransId
            - AcsTransId
          properties:
            TdsServerTransId:
              type: string
              description: |
                Идентификатор платежа, который генерируется 3DS Server. Обязательный параметр для 3DS v2.1.
              example: d7171a06-7159-4bdd-891a-a560fe9938d2
            AcsTransId:
              type: string
              description: |
                Идентификатор платежа, который назначается ACS.
              example: e176d5d3-2f19-40f5-8234-46d3464e0b08
            ACSUrl:
              type: string
              format: uri
              description: |
                Если в ответе метода [Подтвердить платеж](/eacq/api/finish-authorize) возвращается статус `3DS_CHECKING`, 
                мерчанту нужно сформировать запрос на URL ACS банка, который выпустил карту — параметр `ACSUrl` в ответе, и вместе с этим перенаправить покупателя на эту же страницу ACSUrl для прохождения 3DS.
              example: https://acs.vendorcert.mirconnect.ru/mdpayacs/creq
    Confirm:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - Token
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        PaymentId:
          type: string
          description: Идентификатор платежа в системе Т‑Бизнес.
          maxLength: 20
          example: '2304882'
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: c0ad1dfc4e94ed44715c5ed0e84f8ec439695b9ac219a7a19555a075a3c3ed24
        IP:
          type: string
          description: IP-адрес покупателя.
          example: 192.168.255.255
        Amount:
          type: number
          description: Сумма в копейках. Если не передан, используется `Amount`, который был передан в методе [Инициировать платеж](/eacq/api/init).
          example: 19200
        Receipt:
          type: object
          description: JSON-объект с данными чека. Обязателен, если подключена онлайн-касса.
          oneOf:
            - $ref: '#/components/schemas/Receipt_FFD_12'
            - $ref: '#/components/schemas/Receipt_FFD_105'
        Shops:
          type: array
          description: JSON-объект с данными маркетплейса. Обязательный для маркетплейсов.
          items:
            $ref: '#/components/schemas/Shops'
        Route:
          type: string
          description: |
            Способ платежа.
          enum:
            - TCB
            - BNPL
          example: BNPL
        Source:
          type: string
          description: |
            Источник платежа.
          enum:
            - installment
            - BNPL
          example: BNPL
    Items_Params:
      type: object
      description: Информация по способу оплаты или деталям для платежей в рассрочку.
      properties:
        Key:
          type: string
          description: |

            * `Route` — способ оплаты.
            * `Source` — источник платежа.
            * `CreditAmount` — сумма выданного кредита в копейках. Возвращается только для платежей в рассрочку.
          enum:
            - Route
            - Source
            - CreditAmount
        Value:
          type: string
          description: |

            * для `Route` — `ACQ`, `BNPL`, `TCB`, `SBER`;
            * для `Source` — `BNPL`, `cards`, `Installment`, `MirPay`, `qrsbp`, `SberPay`, `TinkoffPay`, `YandexPay`;
            * для `CreditAmount` — сумма в копейках.
          enum:
            - ACQ
            - BNPL
            - TCB
            - SBER
            - BNPL
            - cards
            - Installment
            - MirPay
            - qrsbp
            - SberPay
            - TinkoffPay
            - YandexPay
    Confirm-2:
      type: object
      required:
        - TerminalKey
        - OrderId
        - Success
        - Status
        - PaymentId
        - ErrorCode
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        OrderId:
          type: string
          description: Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
          example: '21057'
        Success:
          type: boolean
          description: Успешность прохождения запроса — `true`/`false`.
          example: true
        Status:
          type: string
          description: Статус транзакции.
          example: CONFIRMED
          enum:
            - NEW
            - AUTHORIZING
            - AUTHORIZED
            - AUTH_FAIL
            - CANCELED
            - CHECKING
            - CHECKED
            - COMPLETING
            - COMPLETED
            - CONFIRMING
            - CONFIRMED
            - DEADLINE_EXPIRED
            - FORM_SHOWED
            - PARTIAL_REFUNDED
            - PREAUTHORIZING
            - PROCESSING
            - 3DS_CHECKING
            - 3DS_CHECKED
            - REVERSING
            - REVERSED
            - REFUNDING
            - REFUNDED
            - REJECTED
            - UNKNOWN
        PaymentId:
          type: string
          description: Идентификатор платежа в системе Т‑Бизнес.
          example: '2304882'
        ErrorCode:
          type: string
          description: Код ошибки.
          example: '0'
        Message:
          type: string
          description: Краткое описание ошибки.
          example: OK
          maxLength: 255
        Details:
          type: string
          description: Подробное описание ошибки.
          example: None
        Params:
          description: |
            Детали для платежей в рассрочку.
          type: array
          items:
            $ref: '#/components/schemas/Items_Params'
    ShopsCancel:
      type: object
      description: JSON-объект с данными маркетплейса. Обязательный для маркетплейсов.
      required:
        - ShopCode
        - Amount
      properties:
        ShopCode:
          description: |
            Код магазина.
          type: string
          example: '700456'
        Amount:
          description: |
            Cумма в копейках, которая относится к
            указанному `ShopCode`.
          type: number
          example: 10000
        Name:
          description: |
            Наименование товара.
          type: string
          maxLength: 128
          example: Товар
    Cancel:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - Token
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        PaymentId:
          type: string
          description: Идентификатор платежа в системе Т‑Бизнес.
          example: '2304882'
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: c0ad1dfc4e94ed44715c5ed0e84f8ec439695b9ac219a7a19555a075a3c3ed24
        IP:
          type: string
          description: IP-адрес покупателя.
          example: 192.168.255.255
        Amount:
          type: number
          description: |
            Сумма в копейках. Если не передан, используется `Amount`, переданный в методе [Инициировать платеж](/eacq/api/init).


            При отмене операции в статусе `NEW` поле `Amount` игнорируется, даже если оно заполнено. Отмена проводится на полную сумму.
          example: 19200
        Receipt:
          type: object
          description: |
            JSON-объект с данными чека. Обязателен, если подключена онлайн-касса.

            При частичной отмене данные, которые передаются в этом запросе, могут отличаться от данных, которые были переданы в методе [Инициировать платеж](/eacq/api/init).


            При полной отмене структура чека не передается, при частичной — передаются товары, которые нужно отменить.
          oneOf:
            - $ref: '#/components/schemas/Receipt_FFD_12'
            - $ref: '#/components/schemas/Receipt_FFD_105'
        Shops:
          type: array
          description: JSON-объект с данными маркетплейса. Обязательный для маркетплейсов.
          items:
            $ref: '#/components/schemas/ShopsCancel'
        QrMemberId:
          type: string
          description: |-
            Код банка в классификации СБП, в который нужно выполнить возврат.

            Подробнее — в параметре `MemberId` метода [Получить список банков-пользователей QR](/eacq/api/qr-members-list).
          example: '77892'
        Route:
          type: string
          description: |
            Способ платежа.
          enum:
            - TCB
            - BNPL
          example: BNPL
        Source:
          type: string
          description: |
            Источник платежа.
          enum:
            - installment
            - BNPL
          example: BNPL
        ExternalRequestId:
          type: string
          maxLength: 256
          description: |
            Идентификатор операции на стороне мерчанта. 

            Параметр обязательный для операций «Долями» и в рассрочку. 


            * Если поле не передано или пустое (""), запрос будет обработан без проверки ранее созданных возвратов.
            * Если поле заполнено, перед проведением возврата будет проверен запрос на отмену с таким `ExternalRequestId`.
            * Если такой запрос уже есть, в ответе вернется текущее состояние платежной операции, если нет — платеж будет отменен.
            * Для операций «Долями» при заполнении параметра нужно генерировать значение в формате `UUID v4`.
            * Для операций в рассрочку при заполнении параметра нужно генерировать значение с типом `string` — ограничение 100 символов.
            * Для способа оплаты AlfaPay при заполнении параметра `ExternalRequestId` длина значения не должна превышать 30 символов.
    Cancel-2:
      type: object
      required:
        - TerminalKey
        - OrderId
        - Success
        - Status
        - PaymentId
        - ErrorCode
        - OriginalAmount
        - NewAmount
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        OrderId:
          type: string
          description: Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
          example: '21057'
        Success:
          type: boolean
          description: Успешность прохождения запроса — `true`/`false`.
          example: true
        Status:
          type: string
          description: Статус транзакции.
          example: REVERSED
        OriginalAmount:
          type: number
          description: Сумма в копейках до операции отмены.
          example: 13000
        NewAmount:
          type: number
          description: Сумма в копейках после операции отмены.
          example: 5000
        PaymentId:
          type: number
          description: Идентификатор платежа в системе Т‑Бизнес.
          example: 2304882
        ErrorCode:
          type: string
          description: Код ошибки.
          example: '0'
        Message:
          type: string
          description: Краткое описание ошибки.
          example: OK
          maxLength: 255
        Details:
          type: string
          description: Подробное описание ошибки.
          example: None
        ExternalRequestId:
          type: string
          description: Идентификатор операции на стороне мерчанта.
          example: '756478567845678436'
    Charge:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - RebillId
        - Token
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        PaymentId:
          type: string
          maxLength: 20
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          example: '700001702044'
        RebillId:
          description: |
            Уникальный идентификатор сохраненных реквизитов карты покупателя. Возвращается в уведомлении после успешного проведения родительской CC-операции.
          type: string
          example: '145919'
        Token:
          type: string
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: f5a3be479324a6d3a4d9efa0d02880b77d04a91758deddcbd9e752a6df97cab5
        IP:
          type: string
          description: |
            IP-адрес покупателя.
          example: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
        SendEmail:
          type: boolean
          description: |
            Отправка уведомлений об оплате на почту покупателя:
            * `true` — отправлять;
            * `false` — не отправлять.
        InfoEmail:
          type: string
          format: email
          description: |
            Адрес электронной почты покупателя.
            Параметр обязательный, если передан `SendEmail`=`true`.
          example: customer@test.com
    GetState:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - Token
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        PaymentId:
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          type: string
          maxLength: 20
          example: '13660'
        Token:
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          type: string
          example: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
        IP:
          description: |
            IP-адрес покупателя.
          type: string
          example: 192.168.0.52
    AddCustomer:
      type: object
      required:
        - TerminalKey
        - CustomerKey
        - Token
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          maxLength: 20
          example: TBankTest
        CustomerKey:
          type: string
          description: Идентификатор покупателя в системе мерчанта.
          maxLength: 36
          example: 4387c647-a693-449d-bc35-91faecfc50de
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
        IP:
          type: string
          description: IP-адрес покупателя.
          maxLength: 40
          example: 10.100.10.10
        Email:
          type: string
          description: Электронная почта покупателя.
          format: email
          maxLength: 64
          example: username@test.ru
        Phone:
          description: |
            Телефон покупателя в формате `+{Ц}`.
          type: string
          maxLength: 64
          example: '+79031234567'
    AddCustomerResponse:
      type: object
      required:
        - Success
        - ErrorCode
        - TerminalKey
        - CustomerKey
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается продавцу в Т‑Бизнес при заведении терминала.
          maxLength: 20
          example: TBankTest
        CustomerKey:
          type: string
          description: Идентификатор покупателя в системе мерчанта.
          maxLength: 36
          example: 05d65baa-9718-445e-8212-76fa0dd4c1d2
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверные параметры
        Details:
          description: |
            Подробное описание ошибки.
          type: string
          maxLength: 255
          example: Терминал не найден
    GetOrRemoveCustomer:
      type: object
      required:
        - TerminalKey
        - CustomerKey
        - Token
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          maxLength: 20
          example: TBankTest
        CustomerKey:
          type: string
          description: Идентификатор покупателя в системе мерчанта.
          maxLength: 36
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
        IP:
          type: string
          description: IP-адрес покупателя.
          maxLength: 40
    GetCustomerResponse:
      type: object
      required:
        - Success
        - ErrorCode
        - TerminalKey
        - CustomerKey
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          maxLength: 20
          example: TBankTest
        CustomerKey:
          type: string
          description: Идентификатор покупателя в системе мерчанта.
          maxLength: 36
          example: 4264aa7b-08ab-4429-ab5a-2a171d841ced
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверный статус покупателя
        Details:
          description: |
            Подробное описание ошибки.
          type: string
          maxLength: 255
          example: Клиент не найден.
        Email:
          type: string
          description: Электронная почта покупателя.
          format: email
          maxLength: 64
          example: a@test.ru
        Phone:
          description: |
            Телефон покупателя в формате `+{Ц}`.
          type: string
          maxLength: 64
          example: '+79031234567'
    RemoveCustomerResponse:
      type: object
      required:
        - Success
        - ErrorCode
        - TerminalKey
        - CustomerKey
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          maxLength: 20
          example: TBankTest
        CustomerKey:
          type: string
          description: Идентификатор покупателя в системе мерчанта.
          maxLength: 36
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверные параметры
        Details:
          description: |
            Подробное описание ошибки.
          type: string
    AddCard:
      type: object
      required:
        - TerminalKey
        - CustomerKey
        - Token
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          example: TBankTest
        CustomerKey:
          description: |
            Идентификатор покупателя в системе мерчанта.
          type: string
          maxLength: 36
          example: testCustomer1234
        Token:
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          type: string
          example: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
        CheckType:
          description: |
            Если `CheckType` не передается, автоматически проставляется значение `NO`.


             * `NO` — сохранить карту без проверок. `RebillID` для рекуррентных платежей не возвращается.
             * `HOLD` — при сохранении сделать списание на 0 руб. `RebillID` возвращается для терминалов без поддержки 3DS.
             * `3DS` — при сохранении карты выполнить проверку 3DS и выполнить списание на 0 р. `RebillID` будет возвращаться только для карт с поддержкой 3DS. Карты, которые не поддерживают 3DS, привязаны не будут.
             * `3DSHOLD` – при привязке карты выполнить проверку, поддерживает карта 3DS или нет. Если карта не поддерживает 3DS, выполняется списание на 0 руб.
          type: string
          enum:
            - 'NO'
            - HOLD
            - 3DS
            - 3DSHOLD
        IP:
          type: string
          maxLength: 40
          description: |
            IP-адрес покупателя.
          example: 10.100.10.10
        ResidentState:
          description: |
            Признак резидентности добавляемой карты:

            * `true` — карта РФ;
            * `false` — карта не РФ;
            * `null` — универсальная карта, не специфицируется.
          type: boolean
    AddCardResponse:
      type: object
      required:
        - PaymentId
        - TerminalKey
        - CustomerKey
        - RequestKey
        - Success
        - ErrorCode
        - PaymentURL
      properties:
        PaymentId:
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          type: number
          maxLength: 20
          example: 6155312072
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        CustomerKey:
          description: |
            Идентификатор покупателя в системе мерчанта.
          type: string
          example: '906540'
          maxLength: 36
        RequestKey:
          description: |
            Идентификатор запроса на привязку карты.
          type: string
          example: ed989549-d3be-4758-95c7-22647e03f9ec
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверные параметры
        Details:
          description: |
            Подробное описание ошибки.
          type: string
          example: Терминал не найден
        PaymentURL:
          description: |
            Ссылка на форму привязки карты. Используется для работы с платежной формой Т-Банка.
          type: string
          format: uri
          maxLength: 100
          example: https://securepayments.tinkoff.ru/addcard/82a31a62-6067-4ad8-b379-04bf13e37642d
    AttachCard:
      type: object
      required:
        - TerminalKey
        - RequestKey
        - CardData
        - deviceChannel
        - Token
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        RequestKey:
          description: |
            Идентификатор запроса на привязку карты.
          type: string
          format: uuid
          example: 13021e10-a3ed-4f14-bcd1-823b5ac37390
        CardData:
          description: |
            Зашифрованные данные карты в формате `PAN=4300000000000777;ExpDate=0519;CardHolder=IVAN PETROV;CVV=111`.
          type: string
          example: U5jDbwqOVx+2vDApxe/rfACMt+rfWXzPdJ8ZXxNFVIiZaLZrOW72bGe9cKZdIDnekW0nqm88YxRD↵jyfa5Ru0kY5cQV alU+juS1u1zpamSDtaGFeb8sRZfhj72yGw+io+qHGSBeorcfgoKStyKGuBPWfG↵d0PLHuyBE6QgZyIAM1XfdmNlV0UAxOnkTGDsskL pIt3AWhw2e8KOar0vwbgCTDjznDB1/DLgOW01↵Aj/bXyLJoG1BkOrPBm9JURs+f+uyFae0hkRicNKNgXoN5pJTSQxOEauOi6ylsVJ B3WK5MNYXtj6x↵GlxcmTk/LD9kvHcjTeojcAlDzRZ87GdWeY8wgg==
        deviceChannel:
          type: string
          description: |
            Канал устройства.
            Поддерживаются следующие каналы:
            * `01` — Application (APP);
            * `02` — Browser (BRW).
          example: '02'
          default: '02'
        DATA:
          description: |
            JSON-объект с дополнительными параметрами по операции и настройками в формате `ключ:значение`.

            Максимальная длина ключа — 20 знаков, значения — 100 знаков. 

            Максимальное количество пар `ключ:значение` — не больше 20.

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

            Для 3DS v2.1 в `DATA` нужно передавать параметры, которые описаны в объекте `3DSv2`. В `HttpHeaders` запроса обязательны заголовки `User-Agent` и `Accept`.
          oneOf:
            - type: object
              additionalProperties:
                type: string
            - $ref: '#/components/schemas/3DSv2'
        Token:
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          type: string
          example: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
    AttachCardResponse:
      type: object
      required:
        - TerminalKey
        - CustomerKey
        - RequestKey
        - Success
        - ErrorCode
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала
          type: string
          maxLength: 20
          example: testRegress
        CustomerKey:
          description: |
            Идентификатор покупателя в системе мерчанта.
          type: string
          example: testCustomerKey
        RequestKey:
          description: |
            Идентификатор запроса на привязку карты.
          type: string
          format: uuid
          example: 8de92934-26c9-474c-a4ce-424f2021d24d
        CardId:
          description: |
            Идентификатор карты в системе Т‑Бизнес. 

            Для сценария 3D Secure Authentication Challenge `CardId` можно получить после успешного прохождения 3DS.
          type: string
          example: '5555'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Status:
          description: |
            Статус привязки карты:
            * `NEW` — новая сессия привязки карты;
            * `FORM_SHOWED` — показ формы привязки карты;
            * `3DS_CHECKING` — отправка покупателя на проверку 3DS;
            * `3DS_CHECKED` — покупатель успешно прошел проверку 3DS;
            * `AUTHORIZING` — отправка платежа на 0 руб.;
            * `AUTHORIZED` — платеж на 0 руб. прошел успешно;
            * `COMPLETED` — карта успешно привязана;
            * `REJECTED` — привязать карту не удалось.
          enum:
            - NEW
            - FORM_SHOWED
            - 3DS_CHECKING
            - 3DS_CHECKED
            - AUTHORIZING
            - AUTHORIZED
            - COMPLETED
            - REJECTED
          type: string
          maxLength: 20
        RebillId:
          description: |
            Уникальный идентификатор сохраненных реквизитов карты покупателя.
          type: string
          example: '130799909'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверные параметры
        Details:
          description: |
            Подробное описание ошибки.
          type: string
        ACSUrl:
          description: |
            Адрес сервера управления доступом для проверки 3DS.

            Возвращается в ответе для статуса `3DS_CHECKING`.
          type: string
          format: uri
          example: https://secure.tcsbank.ru/acs/auth/start.do
        MD:
          description: |
            Идентификатор платежа в системе Т‑Бизнес.

            Возвращается в ответе для статуса `3DS_CHECKING`.
          type: string
          example: ACQT-563587431
        PaReq:
          description: |
            Результат аутентификации 3D Secure.

            Возвращается в ответе для статуса `3DS_CHECKING`.
          type: string
          example: eJxVUl1TwjAQ/CtM30s+KLTDHGHQwsiogFh09C2kp1RpC2nLh7/eBAtqnnYvN3ubvUD/kK4bO9RFkmc9hzWp08BM5XGSvfecRT RyA6cvIFppxPARVaVRwD0WhXzHRhL3HMUU73itwKVtyl1Pcs8Nli3pymUQK+z2Sww6joDZYI5bAfUgYeY0OZAzNYparWRWCpBqe zWeiDZnLe3BqSmkqMeh4PRy2p02BfJThkymKCIsSiAnCCqvslIfhXEG5Eyg0muxKstN0SVkv983yyT7zN/emroiQOwlkF8js8qiwogdk lg8rEfT5WK0jj6G7D4cepNo8TWNBmwSDXtAbAfEskTjkPk0oF6DeV3a6jLj8VQHmVoXglFTqTFs7IjBn4u/BTBZa7OK8yPODPCwyT M0HSbACwby6/f6xsaoSpNMMN89+uHdV/iUPz2nyat/uxrPXz5nuX/c2nBPTVYxMflwzthJ0hIgVobUeyP1yg469xW+AedOuuM=
    ACSUrl_V1:
      title: Параметры запроса для 3DS v1.0
      type: object
      required:
        - MD
        - PaReq
        - TermUrl
      properties:
        MD:
          type: string
          description: Идентификатор платежа в ACS из ответа метода [Подтвердить платеж](/eacq/api/finish-authorize).
        PaReq:
          type: string
          description: Результат 3D Secure аутентификации в ACS из ответа метода [Подтвердить платеж](/eacq/api/finish-authorize).
        TermUrl:
          type: string
          description: Адрес перенаправления после 3D Secure аутентификации — URL обработчик на стороне мерчанта, принимающий результаты прохождения 3D Secure.
    ACSUrl_V2:
      title: Параметры запроса для 3DS v2.1
      type: object
      required:
        - creq
      properties:
        creq:
          title: Challenge Request (CReq)
          type: object
          required:
            - threeDSServerTransID
            - acsTransID
            - challengeWindowSize
            - messageType
            - messageVersion
          description: JSON-объект с параметрами, закодированный в форматe `Base64`.
          properties:
            threeDSServerTransID:
              type: string
              description: Идентификатор платежа из ответа метода [Проверить версию 3DS](/eacq/api/check-3-ds-version). Генерируется 3DS Server.
            acsTransID:
              type: string
              description: Идентификатор платежа из ответа метода [Подтвердить платеж](/eacq/api/finish-authorize). Назначается ACS.
            challengeWindowSize:
              type: string
              description: |
                Разрешение экрана в пикселях, на котором открыта страница ACS:

                  * `01` — 250 x 400;
                  * `02` — 390 x 400;
                  * `03`— 500 x 600;
                  * `04` — 600 x 400;
                  * `05` — Fullscreen.
            messageType:
              type: string
              description: Фиксированное значение `CReq`.
            messageVersion:
              type: string
              description: Версия 3DS из ответа метода [Проверить версию 3DS](/eacq/api/check-3-ds-version).
    ACSUrlResponseV1:
      title: Ответ на запрос 3DS v1.0
      type: object
      required:
        - MD
        - PaRes
      properties:
        MD:
          type: string
          description: Идентификатор платежа в ACS из ответа метода [Подтвердить платеж](/eacq/api/finish-authorize).
          example: MD_TEST
        PaRes:
          type: string
          description: Результат 3D Secure аутентификации.
          example: PaRes_TEST
        FallbackOnTdsV1:
          type: string
          description: Если аутентификация по 3DS v2.1 невозможна, выполняется переход на 3DS v1.0 и параметр устанавливается в значение `true`, иначе параметр не передается в ответе.
    ACSUrlResponseV2:
      title: Ответ на запрос 3DS v2.1
      type: object
      required:
        - cres
      properties:
        cres:
          title: Challenge Request (CReq)
          type: object
          required:
            - threeDSServerTransID
            - acsTransID
            - messageType
            - messageVersion
            - transStatus
          description: JSON/JWE-объект с параметрами, закодированный в формат `Base64`. Ответ отправляется на URL, который был указан в методе [Подтвердить платеж](/eacq/api/finish-authorize). После получения на `NotificationUrl` ответа ACS (CRes) с результатами прохождения 3DS v2.1 нужно отправить запрос через метод [Подтвердить прохождение 3DS v2.1](/eacq/api/submit-3-ds-authorization-v-2).
          properties:
            threeDSServerTransID:
              type: string
              description: Идентификатор платежа из ответа метода [Проверить версию 3DS](/eacq/api/check-3-ds-version). Генерируется 3DS Server.
            acsTransID:
              type: string
              description: Идентификатор платежа из ответа метода [Подтвердить платеж](/eacq/api/finish-authorize). Назначается ACS.
            transStatus:
              type: string
              description: |
                Результат выполнения Challenge Flow:
                * `Y` — аутентификация выполнена успешна;
                * `N` — аутентификация не пройдена, покупатель отказался или ввел неверные данные. 
            messageType:
              type: string
              description: Фиксированное значение `CRes`.
            messageVersion:
              type: string
              description: Версия 3DS из ответа метода [Проверить версию 3DS](/eacq/api/check-3-ds-version).
    GetAddCardState:
      type: object
      required:
        - TerminalKey
        - RequestKey
        - Token
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        RequestKey:
          description: |
            Идентификатор запроса на привязку карты.
          type: string
          example: 13021e10-a3ed-4f14-bcd1-823b5ac37390
        Token:
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          type: string
          example: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
    GetAddCardStateResponse:
      type: object
      required:
        - Success
        - TerminalKey
        - RequestKey
        - Status
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        RequestKey:
          description: |
            Идентификатор запроса на привязку карты.
          type: string
          example: 13021e10-a3ed-4f14-bcd1-823b5ac37390
        Status:
          description: |
            Статус привязки карты:
            * `NEW` — новая сессия привязки карты;
            * `FORM_SHOWED` — показ формы привязки карты;
            * `3DS_CHECKING` — отправка покупателя на проверку 3DS;
            * `3DS_CHECKED` — покупатель успешно прошел проверку 3DS;
            * `AUTHORIZING` — отправка платежа на 0 руб.;
            * `AUTHORIZED` — платеж на 0 руб. прошел успешно;
            * `COMPLETED` — карта успешно привязана;
            * `REJECTED` — привязать карту не удалось.
          enum:
            - NEW
            - FORM_SHOWED
            - 3DS_CHECKING
            - 3DS_CHECKED
            - AUTHORIZING
            - AUTHORIZED
            - COMPLETED
            - REJECTED
          type: string
          maxLength: 20
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        CardId:
          description: |
            Идентификатор карты в системе Т‑Бизнес.
          type: string
          maxLength: 40
          example: '156516516'
        RebillId:
          description: |
            Уникальный идентификатор сохраненных реквизитов карты покупателя.
          type: string
          example: '134249124'
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверные параметры
        Details:
          description: |
            Подробное описание ошибки.
          type: string
          example: Данный RequestKey не найден.
        CustomerKey:
          description: |
            Идентификатор покупателя в системе мерчанта.
          type: string
          maxLength: 36
          example: testCustomer1234
    GetCardList:
      type: object
      required:
        - TerminalKey
        - CustomerKey
        - Token
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          example: TBankTest
        CustomerKey:
          description: |
            Идентификатор покупателя в системе мерчанта.
          type: string
          example: testCustomer1234
        SavedCard:
          description: |
            Признак сохранения карты для оплаты в один клик.
          type: boolean
          example: true
        Token:
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          type: string
          example: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
        IP:
          description: |
            IP-адрес покупателя.
          type: string
          example: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
    RemoveCard:
      type: object
      required:
        - TerminalKey
        - CustomerKey
        - CardId
        - Token
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        CustomerKey:
          description: |
            Идентификатор покупателя в системе мерчанта.
          type: string
          maxLength: 36
          example: testCustomer1234
        CardId:
          description: |
            Идентификатор карты в системе Т‑Бизнес.
          type: string
          maxLength: 40
          example: '156516516'
        Token:
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          type: string
          example: 30797e66108934dfa3d841b856fdad227c6b9c46d6a39296e02dc800d86d181e
        IP:
          description: |
            IP-адрес покупателя.
          type: string
          maxLength: 40
          example: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
    RemoveCardResponse:
      type: object
      required:
        - Success
        - ErrorCode
        - TerminalKey
        - CardId
        - CustomerKey
        - CardType
        - Status
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        Status:
          description: |
            Статус карты. `D` — удалена.
          type: string
          maxLength: 100
          example: D
        CustomerKey:
          description: |
            Идентификатор покупателя в системе мерчанта.
          type: string
          maxLength: 36
          example: testCustomer1234
        CardId:
          description: |
            Идентификатор карты в системе Т‑Бизнес.
          type: string
          maxLength: 40
          example: '156516516'
        CardType:
          description: |
            Тип карты:
            * `0` — карта списания;
            * `1` — карта пополнения;
            * `2` — карта пополнения и списания.
          type: number
          enum:
            - 0
            - 1
            - 2
          example: 0
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 15
          example: '0'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверные параметры
        Details:
          description: |
            Подробное описание ошибки.
          type: string
          example: Не удалось удалить карту покупателя, для данного покупателя такая карта не существует
    GetQr:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - Token
      properties:
        TerminalKey:
          type: string
          description: |
            Идентификатор терминала. Выдается мерчанту в Т-Бизнес при заведении терминала.
          example: TBankTest
        PaymentId:
          type: number
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          example: 10063
        DataType:
          type: string
          description: |
            Тип возвращаемых данных:
            * `PAYLOAD` — в ответе возвращается только Payload;
            * `IMAGE` — в ответе возвращается SVG изображение QR.

            Значение по умолчанию — `PAYLOAD`.
          default: PAYLOAD
          enum:
            - PAYLOAD
            - IMAGE
          example: PAYLOAD
        BankId:
          type: string
          description: |
            Внутренний идентификатор банка, который выбран для оплаты.   


            Cписок доступных `BankId` можно получить через метод [Получить список банков-участников СБП для платежа](/eacq/api/get-qr-bank-list).   
            Если передается, в ответе в параметре `Data` вместо функциональной платежной ссылки (payload) возвращается deeplink.   


            `BankId` передается только для `DataType = PAYLOAD` или `null`. 
          format: uuid
          example: bank100000000004
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: 871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6
    QrResponse:
      type: object
      required:
        - TerminalKey
        - OrderId
        - Success
        - Data
        - PaymentId
        - ErrorCode
        - RequestKey
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        OrderId:
          description: |
            Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
          type: string
          example: '21057'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        Data:
          type: string
          description: |
            В зависимости от параметра `DataType` в запросе:
              * `Payload` — информация, которая должна быть закодирована в QR;
              * `SVG` — изображение QR, в котором уже закодирован Payload.
          example: https://qr.nspk.ru/AD1000670LSS7DN18SJQDNP4B05KLJL2
        PaymentId:
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          type: number
          example: 10063
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверные параметры
        Details:
          description: |
            Подробное описание ошибки.
          type: string
          example: Подробное описание ошибки
        RequestKey:
          description: |
            Идентификатор запроса на привязку счета. Передается в случае привязки счета после оплаты по CБП.
          type: string
          example: Идентификатор запроса
    GetDeepLink:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - Token
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        PaymentId:
          type: string
          description: Идентификатор платежа в системе Т-Бизнес.
          example: '2559680770'
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: 871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6
    GetDeepLinkResponse:
      type: object
      required:
        - Success
        - ErrorCode
      properties:
        Success:
          type: boolean
          description: Успешность прохождения запроса — `true`/`false`.
          example: true
        ErrorCode:
          type: string
          description: Код ошибки.
          example: '0'
        Deeplink:
          type: string
          description: DeepLink, который сформирован и подписан JWT-токеном.
          example: mirpay://pay.mironline.ru/inapp/eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImprdSI6Imh0dHBzOi8vc3AtbnNway5la2Fzc2lyLmNvbS9qd2tzL0IwMDAwMDAwMC1qd2tzLmp«Протокол MIRPAY EACQ»28zb24iLCJraWQiOiIxMDAwIn0.eyJpYXQiOjE2NjA1NTMwNzksImlzcyI6IjAwMDAwMDAwIiwib3JkZXJJZCI6IjEyMzQ1NiIsInN1bSI6MTAwMDAsImN1ciI6NjQzLCJtZWRpYSI6IkRMIiwicnVybCI6Imh0dHBzOi8vbWVyY2hhbnQvYXBpL3YxL2luYXBwL21lcmNoYW50cy8wMDAwMDAwMC9vcmRlcnMvMTIzNDU2In0.rk0LjOtx3RR9hboAiVQopZvKzIQpu0SGg2wlt6a1LJN1gQ7NEqcXY0NXfjmhqbPdv8BnDonhXMWLoi9GK4wT8-P_TOfRnqz5JfA4crvtVaD6yvmfkmdFMsFjTDDJfcsaMlqblVw2u5De3SU9oCNKWaWLUUg7i6gRtTCFdvPc1XDlB7WUd_doHLVEV4s5kP1jmArXMBxo1EpJk3pZ-KHmxFeKLjf47NQuNzRv0wZKTgkHk252lXX9QBCE_uTBvV477YZ6FTqAXh9vP1zGiSG6Elel3EKMVxUNkMAhHIACxwmOGRpGsPv0WFlw1T0y44Q7paV_t6st6vlHO3RXYfbA
        Message:
          type: string
          description: Краткое описание ошибки.
        Details:
          type: string
          description: Подробное описание ошибки.
    AlfaPayLink:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - Token
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        PaymentId:
          type: number
          description: Идентификатор платежа в системе Т-Бизнес.
          example: '2559680770'
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: 871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6
    AlfaPayLinkResponse:
      type: object
      required:
        - Params
        - Success
        - ErrorCode
      properties:
        Params:
          description: |
            Параметры ответа.
          type: object
          required:
            - RedirectUrl
          properties:
            RedirectUrl:
              description: |
                URL для перехода.
              type: string
              format: uri
              example: https://payment-app.com
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          example: string
        Details:
          description: |
            Подробное описание ошибки.
          type: string
          example: string
    Member:
      type: object
      required:
        - MemberId
        - MemberName
        - IsPayee
      properties:
        MemberId:
          type: string
          description: |
            Идентификатор участника.
          example: '1000000'
        MemberName:
          type: string
          description: |
            Наименование участника.
          example: T-Банк
        IsPayee:
          type: boolean
          description: |
            Признак того, что данный участник был получателем
            указанного платежа.
          example: true
    AddAccountQr:
      type: object
      required:
        - TerminalKey
        - Description
        - Token
      properties:
        TerminalKey:
          type: string
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        Description:
          type: string
          description: Подробное описание деталей заказа.
        DataType:
          type: string
          description: |
            Тип возвращаемых данных:
            * `PAYLOAD` — в ответе возвращается только Payload;
            * `IMAGE` — в ответе возвращается SVG-изображение QR.

            Значение по умолчанию — `PAYLOAD`.
          default: PAYLOAD
          enum:
            - PAYLOAD
            - IMAGE
          example: PAYLOAD
        BankId:
          type: string
          description: |
            Внутренний идентификатор банка, который выбран для оплаты.   


            Cписок доступных `BankId` можно получить через метод [Получить список банков-участников СБП для платежа](/eacq/api/get-qr-bank-list).   
            Если передается, в ответе в параметре `Data` вместо функциональной платежной ссылки (payload) возвращается deeplink.   


            `BankId` передается только для `DataType = PAYLOAD` или `null`. 
          format: uuid
          example: bank100000000004
        Data:
          type: object
          description: |
            JSON-объект, который содержит дополнительные параметры в виде `ключ`:`значение`. Эти параметры будут
            переданы на страницу оплаты, если она кастомизирована. 


            Максимальная длина для каждого передаваемого параметра:
              * ключ — 20 знаков;
              * значение — 100 знаков.


            Максимальное количество пар `ключ`:`значение` — не больше 20.


            Если ключи или значения содержат в себе специальные символы, 
            получившееся значение должно быть закодировано функцией `urlencode`.
          additionalProperties:
            type: string
        RedirectDueDate:
          type: string
          format: datatime
          description: |
            Cрок жизни ссылки или динамического QR-кода СБП, если выбран этот способ оплаты.<br><br>

            Если дата в параметре меньше текущей, оплата по ссылке и QR будет недоступна.

            * Минимальное значение — 1 минута от текущей даты.
            * Максимальное значение — 90 дней от текущей даты.
            * Формат даты — `YYYY-MM-DDTHH24:MI:SS+GMT`.


            Пример даты — `2016-08-31T12:28:00+03:00`.


            Если параметр не был передан, проверяется настроечный параметр терминала `REDIRECT_TIMEOUT`, который содержит значение срока жизни ссылки в часах. <br>Если его значение:

            * больше нуля — оно будет установлено в качестве срока жизни ссылки или динамического QR-кода;
            * меньше нуля — устанавливается значение по умолчанию: 1440 мин. (1 сутки).
          example: '2016-08-31T12:28:00+03:00'
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: 871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6
    AddAccountQrResponse:
      type: object
      required:
        - TerminalKey
        - Data
        - RequestKey
        - Success
        - ErrorCode
      properties:
        TerminalKey:
          type: string
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизес при заведении терминала.
          example: TBankTest
        Data:
          type: string
          description: |
            В зависимости от параметра `DataType` в запросе:
              * `Payload` — информация, которая должна быть закодирована в QR;
              * `SVG` — изображение QR, в котором уже закодирован Payload.
          example: https://sub.nspk.ru/AB50803R2RH0LJ2A9RTU038L6NT5RU1M?type=03&bank=100000000004&crc=F3D0
        RequestKey:
          description: |
            Идентификатор запроса на привязку счета.
          type: string
          example: ed989549-d3be-4758-95c7-22647e03f9ec
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: OK
    GetAddAccountQrState:
      type: object
      required:
        - RequestKey
        - TerminalKey
        - Token
      properties:
        RequestKey:
          description: |
            Идентификатор запроса на привязку счета.
          type: number
          format: uuid
          example: 13021e10-a3ed-4f14-bcd1-823b5ac37390
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        Token:
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          type: string
          example: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
    GetAddAccountQrStateResponse:
      type: object
      required:
        - TerminalKey
        - RequestKey
        - Status
        - Success
        - ErrorCode
      properties:
        TerminalKey:
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: testRegress
        RequestKey:
          description: |
            Идентификатор запроса на привязку счета.
          type: number
          format: uuid
          example: 211258
        BankMemberId:
          description: |
            Идентификатор банка покупателя, который будет совершать оплату по привязанному счету. Параметр передается, если статус `ACTIVE` или `INACTIVE`.
          type: string
          example: '100000000004'
        BankMemberName:
          description: |
            Наименование банка-эмитента. Заполнен если передан `BankMemberId`.
          type: string
          example: T-Банк
        AccountToken:
          description: |
            Идентификатор привязки счета, который назначает банк плательщика.
          type: string
          example: a022254a5c3c46a7327c8a12cb5c8389
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        Status:
          description: |
            Статус привязки карты:
            * `NEW` — получен запрос на привязку счета;
            * `PROCESSING` — запрос в обработке;
            * `ACTIVE` — привязка счета успешна;
            * `INACTIVE` — привязка счета неуспешна или деактивирована.
          enum:
            - NEW
            - PROCESSING
            - ACTIVE
            - INACTIVE
          type: string
          maxLength: 20
          example: ACTIVE
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: OK
    GetAccountQrList:
      type: object
      required:
        - TerminalKey
        - Token
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        Token:
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          type: string
          example: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
    GetAccountQrListResponse:
      type: object
      required:
        - TerminalKey
        - RequestKey
        - Status
        - Success
        - ErrorCode
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: testRegress
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: OK
        AccountTokens:
          description: |
            Список счетов покупателя, которые привязаны к магазину.
          type: array
          items:
            required:
              - RequestKey
              - Status
            type: object
            properties:
              RequestKey:
                description: |
                  Идентификатор запроса на привязку счета. 
                type: string
                format: uuid
                example: 8de92934-26c9-474c-a4ce-424f2021d24d
              Status:
                description: |
                  Статус привязки карты:
                  * `NEW` — получен запрос на привязку счета;
                  * `PROCESSING` — запрос в обработке;
                  * `ACTIVE` — привязка счета успешна;
                  * `INACTIVE` — привязка счета неуспешна или деактивирована.
                enum:
                  - NEW
                  - PROCESSING
                  - ACTIVE
                  - INACTIVE
                type: string
                maxLength: 20
              AccountToken:
                description: |
                  Идентификатор привязки счета, который назначается банком плательщика.
                type: object
                example: 0b67f2cae19b41809f85d5674de30a1a
              BankMemberId:
                description: |
                  Идентификатор банка покупателя, который будет совершать оплату по привязанному счету. Параметр передается, если статус `ACTIVE` или `INACTIVE`.
                type: string
                example: '5555'
              BankMemberName:
                description: |
                  Наименование банка-эмитента. Заполнен, если передан `BankMemberId`.
                type: string
                example: T-Банк
    ChargeQr:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - AccountToken
        - Token
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        PaymentId:
          type: string
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          example: '700001702044'
        AccountToken:
          type: string
          description: |
            Идентификатор привязки счета.
            Назначается банком-эмитентом.
          example: 70LSS7DN18SJQRS10006DNPKLJL24B05
        Token:
          type: string
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: f5a3be479324a6d3a4d9efa0d02880b77d04a91758deddcbd9e752a6df97cab5
        IP:
          type: string
          description: |
            IP-адрес покупателя.
          example: 2011:0db8:85a3:0101:0101:8a2e:0370:7334
        SendEmail:
          type: boolean
          description: |
            Отправка уведомлений об оплате на почту покупателя:
            * `true` — отправлять;
            * `false` — не отправлять.
        InfoEmail:
          type: string
          format: email
          description: |
            Email покупателя.
            Параметр обязательный, если передан `SendEmail`=`true`.
          example: customer@test.com
        BankMemberId:
          type: string
          maxLength: 200
          description: |
            Идентификатор банка плательщика.
            Параметр обязательный, если используется привязка карты другого банка.
          example: '100000000004'
    ChargeQrResponse:
      type: object
      required:
        - TerminalKey
        - Amount
        - OrderId
        - Success
        - PaymentId
        - ErrorCode
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        Amount:
          description: |
            Сумма в копейках.
          type: number
          maxLength: 20
          example: 100000
        OrderId:
          description: |
            Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
          type: string
          maxLength: 36
          example: '21050'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        Status:
          description: |
            Статус платежа. Возвращается один из трех статусов:
            * `CONFIRMED` — если платеж выполнен;
            * `REJECTED` — если платеж не выполнен;
            * `FORM SHOWED` — если был совершен переход на платежную форму, но покупатель еще не успел провести оплату.
          type: string
          maxLength: 20
          enum:
            - CONFIRMED
            - REJECTED
            - FORM SHOWED
        PaymentId:
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          type: string
          maxLength: 20
          example: '13660'
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: Неверные параметры
        Details:
          description: |
            Подробное описание ошибки.
          type: string
        Currency:
          type: number
          description: Код валюты по `ISO 4217`.
          example: 643
    SbpPayTest:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - Token
      properties:
        TerminalKey:
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          type: string
          maxLength: 20
          example: TBankTest
        PaymentId:
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          type: string
          maxLength: 20
          example: '13660'
        Token:
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          type: string
          example: 7241ac8307f349afb7bb9dda760717721bbb45950b97c67289f23d8c69cc7b96
        IsDeadlineExpired:
          description: |
            Признак эмуляции отказа проведения платежа банком по таймауту:
            * `false` — эмуляция не требуется;
            * `true` — требуется эмуляция. Не может быть использован вместе с `IsRejected=true`.


            По умолчанию не используется.
          type: boolean
          example: true
        IsRejected:
          description: |
            Признак эмуляции отказа банка в проведении платежа.
            * `false` — эмуляция не требуется;
            * `true` — требуется эмуляция. Не может быть использован вместе с `IsDeadlineExpired=true`.


            По умолчанию не используется.
          type: boolean
          example: false
    SbpPayTestResponse:
      type: object
      required:
        - Success
        - ErrorCode
        - Message
        - Details
      properties:
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          maxLength: 20
          example: '0'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          maxLength: 255
          example: OK
        Details:
          description: |
            Подробное описание ошибки.
          type: string
          example: '0'
    GetQRStateResponse:
      type: object
      required:
        - Success
        - ErrorCode
      properties:
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          example: '0'
        Status:
          description: |
            Статус платежа.

            Параметр обязательный, если не произошло ошибки при получении статуса.
          type: string
          example: CONFIRMED
        QrCancelCode:
          description: |
            Код ошибки возврата от СБП.
          type: string
          example: I05043
        QrCancelMessage:
          description: Дополнительное описание ошибки при возврате по QR.
          type: string
          example: У покупателя нет расчетного счета в этом банке. Попробуйте вернуть деньги на счет этого покупателя в другом банке
        OrderId:
          description: |
            Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
          type: string
          example: '7830122'
        Amount:
          description: |
            Сумма отмены в копейках.
          type: number
          example: 10000
        Message:
          description: |
            Краткое описание ошибки при запросе статуса.
          type: string
          example: OK
    GetQrBankList:
      type: object
      required:
        - TerminalKey
        - Token
        - Device
      properties:
        TerminalKey:
          type: string
          maxLength: 64
          description: |
            Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        ScenarioType:
          type: string
          description: |
            Тип сценария оплаты:
            * `qr` - оплата;    
            * `sub` - привязка счета.

            Значение по умолчанию — `qr`.
          example: qr
          enum:
            - qr
            - sub
        Device:
          type: object
          description: Тип и ОС устройства.
          required:
            - Type
          properties:
            Type:
              type: string
              description: |
                Тип устройства.
              example: mobile
              enum:
                - desktop
                - mobile
            Os:
              type: string
              maxLength: 255
              description: |
                ОС устройства.
              example: iOS
        Token:
          type: string
          maxLength: 255
          description: |
            Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: 871199b37f207f0c4f721a37cdcc71dfcea880b4a4b85e3cf852c5dc1e99a8d6
    BankList:
      type: object
      required:
        - BankId
        - NspkBankId
        - BankName
        - BankLogo
        - BankOrder
      properties:
        BankId:
          type: string
          maxLength: 200
          format: uuid
          description: Внутренний идентификатор банка.
          example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        NspkBankId:
          type: string
          maxLength: 200
          description: Идентификатор банка в системе НСПК.
          example: '100000000004'
        BankName:
          type: string
          maxLength: 200
          description: Наименование банка.
          example: Т-Банк
        BankLogo:
          type: string
          maxLength: 200
          description: Ссылка на логотип банка.
          example: https://qr.nspk.ru/proxyapp/logo/bank100000000004.png
        BankOrder:
          type: integer
          description: Порядок для сортировки.
          example: 1
    GetQrBankListResponse:
      type: object
      required:
        - Success
        - ErrorCode
        - BankList
      properties:
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: boolean
          example: true
        ErrorCode:
          description: |
            Код ошибки.
          type: string
          example: '0'
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          example: OK
        BankList:
          description: |
            Список банков от НСПК.
          type: array
          items:
            $ref: '#/components/schemas/BankList'
    CheckOrder:
      type: object
      required:
        - TerminalKey
        - OrderId
        - Token
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        OrderId:
          type: string
          description: |
            Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
          example: '21057'
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
          example: 4c4c36adf9936b011879fa26f60759e7b47e57f7968283129b0ae9ac457486ab
    PaymentsCheckOrder:
      type: object
      description: Детали
      required:
        - PaymentId
        - Status
        - Success
      properties:
        PaymentId:
          description: |
            Идентификатор платежа в системе Т‑Бизнес.
          type: string
          example: '124671934'
        Amount:
          description: |
            Сумма операции в копейках.
          type: number
          example: 13660
        Status:
          description: |
            Статус операции.
          type: string
          example: NEW
        RRN:
          description: |
            RRN операции.
          type: string
          example: '12345678'
        Success:
          description: |
            Успешность прохождения запроса — `true`/`false`.
          type: string
          example: 'true'
        ErrorCode:
          description: |
            Код ошибки.
          type: number
          example: 0
        Message:
          description: |
            Краткое описание ошибки.
          type: string
          example: None
        SbpPaymentId:
          description: |
            Идентификатор платежа в СБП.
          type: string
          example: A42631655397753A0000030011340501
        SbpCustomerId:
          description: |
            Хэшированный номер телефона покупателя.
          type: string
          example: c4494ca1c0888b3fb0e2bfd0b83576aaae0d2c71161c5f472133ea9401473aee
    CheckOrder-2:
      type: object
      required:
        - Success
        - ErrorCode
        - TerminalKey
        - OrderId
        - Payments
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        OrderId:
          type: string
          description: Идентификатор заказа в системе мерчанта. Должен быть уникальным для каждой операции.
          example: '21057'
        Success:
          type: boolean
          description: Успешность прохождения запроса — `true`/`false`.
          example: true
        ErrorCode:
          type: string
          description: Код ошибки.
          example: '0'
        Message:
          type: string
          description: Краткое описание ошибки.
          example: OK
          maxLength: 255
        Details:
          type: string
          description: Подробное описание ошибки.
          example: None
        Payments:
          type: array
          items:
            $ref: '#/components/schemas/PaymentsCheckOrder'
    SendClosingReceipt:
      type: object
      required:
        - TerminalKey
        - PaymentId
        - Token
        - Receipt
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        PaymentId:
          type: string
          description: Идентификатор платежа в системе Т‑Бизнес.
          example: '2304882'
        Receipt:
          type: object
          description: JSON-объект с данными чека.
          oneOf:
            - $ref: '#/components/schemas/Receipt_FFD_12'
            - $ref: '#/components/schemas/Receipt_FFD_105'
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token).
    SendClosingReceipt-2:
      type: object
      required:
        - Success
        - ErrorCode
      properties:
        Success:
          type: boolean
          description: Успешность прохождения запроса — `true`/`false`.
          example: true
        ErrorCode:
          type: string
          description: Код ошибки.
          example: '2304882'
        Message:
          type: string
          description: Краткое описание ошибки.
          maxLength: 255
          example: Неверные параметры
    by_url:
      title: URL
      required:
        - TerminalKey
        - CallbackUrl
        - PaymentIdList
        - Token
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        CallbackUrl:
          type: string
          description: URL сервиса получения справок.
          example: https://www.tbank.ru
        PaymentIdList:
          type: array
          description: JSON-массив, который содержит в себе перечень `PaymentId` c типом `Number`.
          example:
            - 1201206437
            - 1201206442
          items:
            type: number
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token). Для создания токена используйте только `Password` и `TerminalKey`.
          example: f2fdd7fec8225872590e1558b7ea258c75df8f300d808006c41ab540dd7514d9
    by_email:
      title: Email
      required:
        - TerminalKey
        - PaymentIdList
        - EmailList
        - Token
      properties:
        TerminalKey:
          type: string
          description: Идентификатор терминала. Выдается мерчанту в Т‑Бизнес при заведении терминала.
          example: TBankTest
        PaymentIdList:
          type: array
          description: JSON-массив, который содержит в себе перечень `PaymentId` c типом `Number`.
          example:
            - 1201206437
            - 1201206442
          items:
            type: number
        EmailList:
          type: array
          description: JSON-массив, который содержит перечень `Email` с типом `String`.
          example:
            - test1@tbank.ru
            - test2@tbank.ru
          items:
            type: string
            properties:
              Email:
                type: string
        Token:
          type: string
          description: Подпись запроса. [Как сформировать](/eacq/intro/developer/token). Для создания токена используйте только `Password` и `TerminalKey`.
          example: f2fdd7fec8225872590e1558b7ea258c75df8f300d808006c41ab540dd7514d9
    PaymentIdListForGCO:
      type: object
      description: JSON-массив с объектами, которые содержат информацию по запросу.
      required:
        - Success
        - ErrorCode
        - Message
        - PaymentId
      properties:
        Success:
          type: boolean
          description: Успешность прохождения запроса — `true`/`false`.
          example: true
        ErrorCode:
          type: string
          description: Код ошибки.
          example: '0'
        Message:
          type: string
          description: Сервисное сообщение.
          example: Запрос на отправку документа принят
        PaymentId:
          type: number
          description: Идентификатор платежа в системе Т‑Бизнес.
          example: 1201206442
    response_by_url:
      title: URL
      type: object
      required:
        - Success
        - ErrorCode
        - PaymentIdList
        - RequestList
      properties:
        Success:
          type: boolean
          description: Успешность прохождения запроса — `true`/`false`.
          example: true
        ErrorCode:
          type: string
          description: Код ошибки.
          example: '0'
        Message:
          type: string
          description: Краткое описание ошибки.
          example: OK
        PaymentIdList:
          type: array
          items:
            $ref: '#/components/schemas/PaymentIdListForGCO'
    response_by_email:
      title: Email
      type: object
      required:
        - Success
        - ErrorCode
        - PaymentIdList
        - RequestList
      properties:
        Success:
          type: boolean
          description: Успешность прохождения запроса — `true`/`false`.
          example: true
        ErrorCode:
          type: string
          description: Код ошибки.
          example: '0'
        Message:
          type: string
          description: Краткое описание ошибки.
          example: OK
        PaymentIdList:
          type: array
          items:
            $ref: '#/components/schemas/PaymentIdListForGCO'
x-tagGroups:
  - name: Проведение платежа
    tags:
      - Проведение платежа
  - name: Прием платежей по картe
    tags:
      - Методы для работы с 3DS
  - name: Другие способы приема платежей
    tags:
      - СБП
      - T‑Pay
      - SberPay
      - Mir Pay
