Документация Accelera

API Система Быстрых Платежей

Примеры требуют исправления и проверки. В статье есть ошибки в XML и несогласованность заголовков с форматом тела запроса. До использования в интеграции необходимо исправить примеры и подтвердить поддерживаемую версию протокола и поведение адаптера на целевой установке.

Задача синхронного HTTP-адаптера для Системы Быстрых Платежей заключается в приеме входящих сообщений, обработки по правилам Online Engine и возврата ответа в зависимости от типа запроса.

Взаимодействие шлюза и адаптера осуществляется по протоколу HTTP/HTTPS.

Перечень обрабатываемых запросов

REQC01

Запрос осуществляется перед отправкой в ОПКЦ СБП запроса C01-pacs.008.001.07. В результате система выдает решение о продолжении транзакции.

Пример запроса

<c01AF>
    <password>superpassword</password>
    <!-- пароль для аутентификации шлюза в антифрод-системе -->
    <messageId>20200521100020200000000000000237</messageId>
    <!-- Идентификатор сообщения, Уникальный Номер Сообщения от Банка Отправителя, ЭБД
{79}-->
    <messageType>C01</messageType>
    <!-- Тип Сообщения СБП, ЭБД {98}-->
    <operation>C2CPush</operation>
    <!-- Тип Операции СБП, ЭБД {48}-->
    <timeLabel>2020-05-21T10:52:25.202Z</timeLabel>
    <!-- Метка времени Операции СБП, ЭБД {99}-->
    <amount>1000000</amount>
    <!-- Сумма операции СБП, ЭБД {44}-->
    <currency>RUB</currency>
    <!-- Валюта операции СБП, ЭБД {9}-->
    <payer>
        <!-- Плательщик -->
        <id>
            <!-- Идентификатор плательщика -->
            <type>MTEL</type>
            <!-- Тип идентификатора Плательщика, ЭБД {46} — MTEL — мобильный телефон -->
            <value>0070005210202</value>
            <!—Идентификатор Плательщика, ЭБД {21} — значение -->
        </id>
        <inn/>
        <!-- ИНН плательщика, ЭБД {96} -->
        <bankBic>043304728</bankBic>
        <!-- БИК банка плательщика, ЭБД {94} -->
        <accountNumber>40817810800008107721</accountNumber>
        <!-- Р/с плательщика, ЭБД {30} -->
        <amountCategory>BnkFulAth</amountCategory>
        <!—Категория средств счета Плательщика, ЭБД {125} --><Гю>Иванов|Иван|Иванович
    </Гю>
    <!-- ФИО плательщика, ЭБД {50} -->
    <addressParts>
        <!-- Адрес плательщика. Разбивается на строки по 70 символов, ЭБД {1} -->
        <addressParts>Кировская область Киров г Динамовский проезд д.26 кв.14</addressParts>
    </addressParts>
</payer>
<payeeIdentifier>
    <!-- Получатель -->
    <type>MTEL</type>
    <!-- Тип идентификатора Получателя, ЭБД {47} - MTEL - мобильный телефон -->
    <value>0070005210202</value>
    <!-- Идентификатор Получателя, ЭБД {20} -->
</payeeIdentifier>
<purpose>За обед</purpose>
<!-- Назначение платежа, ЭБД {32} -->
</c01AF>

Ответ

<c01AFResponse>
    <status>S</status>
    <message>FFFFFFFFFFDDDDDD</message>
</c01AFResponse>

Сообщение об ошибке

<c01AFResponse>
    <status>error</status>
    <message>Field type required</message>
</c01AFResponse>

REQC04

Запрос осуществляется при получении платежа перед отправкой в ОПКЦ СБП запроса C04-pacs.002.001.09. В результате система принимает решение о продолжении транзакции.

Пример запроса

<c04AF>
    <password>superpassword</password>
    <!-- пароль для аутентификации шлюза в антифрод-системе -->
    <messageType>C04</messageType>
    <!-- Тип Сообщения СБП, ЭБД {98}-->
    <operation>C2CPush</operation>
    <!-- Тип Операции СБП, ЭБД {48}-->
    <businessOperationId>A908808150725100F9wfDh4CFADBC375</businessOperationId>
    <!—Идентификатор операции ОПКЦ СБП, ЭБД {27}-->
    <timeLabel>2020-05-21T10:52:25.202Z</timeLabel>
    <!-- Метка времени Операции СБП, ЭБД {99}-->
    <amount>1000000</amount>
    <!-- Сумма операции СБП, ЭБД {44}-->
    <currency>RUB</currency>
    <!-- Валюта операции СБП, ЭБД {9}-->
    <payer>
        <!-- Плательщик -->
        <id>
            <!-- Идентификатор плательщика -->
            <type>MTEL</type>
            <!-- Тип идентификатора Плательщика, ЭБД {46} — MTEL — мобильный телефон -->
            <value>0070005210202</value>
            <!—Идентификатор Плательщика, ЭБД {21} — значение -->
        </id>
        <inn>00000000000</inn>
        <!-- ИНН плательщика, ЭБД {96}. Необязательное. -->
        <bankBic>043304728</bankBic>
        <!-- БИК банка плательщика, ЭБД {94} -->
        <accountNumber>40817810800008107721</accountNumber>
        <!-- Р/с плательщика, ЭБД {30} -->
        <amountCategory>BnkFulAth</amountCategory>
        <!—Категория средств счета Плательщика, ЭБД {125} --><Гю>Иванов|Иван|Иванович
    </Гю>
    <!-- ФИО плательщика, ЭБД {50} -->
    <addressParts>
        <!-- Адрес плательщика. Разбивается на строки по 70 символов, ЭБД {1} -->
        <addressParts>Кировская область Киров г Динамовский проезд д.26 ^.M^addressPart^
</addressParts>
    </payer>
    <payee>
        <!-- Получатель -->
        <id>
            <!-- Идентификатор получателя -->
            <type>MTEL</type>
            <!-- Тип идентификатора Получателя, ЭБД {47} - MTEL - мобильный телефон -->
            <value>0070005210202</value>
            <!-- Идентификатор Получателя, ЭБД {20} -->
        </id>
        <inn>00000000000</inn>
        <!-- ИНН получателя, ЭБД {97}. Необязательное. -->
        <bankBic>043304728</bankBic>
        <!-- БИК банка получателя , ЭБД {95} -->
        <accountNumber>40817810800008107721</accountNumber>
        <!-- Р/с получателя, ЭБД {31} -->
        <amountCategory>BnkFulAth</amountCategory>>
        <!—Категория средств счета Получателя, ЭБД {126} --><Гю>Иванов|Иван|Иванович
    </Гю>
    <!-- ФИО получателя, ЭБД {51} -->
    <addressParts>
        <!-- Адрес получателя. Разбивается на строки по 70 символов, ЭБД {2} -->
        <addressParts>Кировская область Киров г Динамовский проезд д.26 ^.M^addressPart^
</addressParts>
    </payee>
    <purpose>За обед</purpose>
    <!-- Назначение платежа, ЭБД {32} -->
    <opkcFraudIndicator>8080000000000000</opkcFraudIndicator>
    <!-- Индикатор Подозрительной Операции ОПКЦ СБП, ЭБД {109} -->
    <fromBankFraudIndicator>0000000000000000</fromBankFraudIndicator>
    <!-- Индикатор Подозрительной Операции Банка Отправителя, ЭБД {107} -->
</c04AF>

Ответ

<c04AFResponse>
    <status></status> <!-- S — подозрение на кражу средств, G — платеж не подозрительный, F-мошеннический платеж -->
    <fraudIndicator>FFFFFFFFFFDDDDDD</fraudIndicator>> <!-- вычисленный Индикатор Подозрительной Операции Банка Отправителя, ЭБД {107} -->
</c04AFResponse>

Сообщение об ошибке

<c04AFResponse>
    <status>error</status>
    <message>Field type required</message>
</c04AFResponse>

REQC02

Запрос осуществляется перед отправлением в ОПКЦ СБП запроса C04-pacs.002.001.09. В результате система принимает решение о продолжении транзакции.

Пример запроса

<c02AF>
<password>superpassword</password><!-- пароль для аутентификации шлюза в антифрод-системе --> <requestMsgId>20200521100020200000000000000225</requestMsgId><!-- Идентификатор сообщения из первоначального запроса c01AF , ЭБД {79} --> <messageType>C02</messageType><!-- Тип Сообщения СБП, ЭБД {98}-->
<operation>C2CPush</operation><!-- Тип Операции СБП, ЭБД {48}--> 
<businessOperationId>A908808150725100F9wfDh4CFADBC375</businessOperationId><!—- Идентификатор операции ОПКЦ СБП, ЭБД {27}--> <timeLabel>2020-05-21T10:52:25.202Z</timeLabel><!-- Метка времени Операции СБП, ЭБД {99} -->
<responseCode>I00000</responseCode><!-- Код ответа, полученного от ОПКЦ, ЭБД {29} --> <responseCodeDescriptio:	OPKC_ОК </responseCodeDescription> <!—Текстовое описание кода ответа, полученного от ОПКЦ -->
<amount>1000000</amount><!-- Сумма операции СБП, ЭБД {44}-->
<currency>RUB</currency><!-- Валюта операции СБП, ЭБД {9}--> 
<payer><!-- Плательщик -->
<id><!-- Идентификатор плательщика -->
<type>MTEL</type><!-- Тип идентификатора Плательщика, ЭБД {46} — MTEL — мобильный телефон --> <value>0070005210202</value><!—Идентификатор Плательщика, ЭБД {21} — значение -->
</id>
<inn>00000000000</inn><!-- ИНН плательщика, ЭБД {96}. Необязательное. -->
<bankBic>043304728</bankBic><!-- БИК банка плательщика, ЭБД {94} --> <accountNumber>40817810800008107721</accountNumber><!-- Р/с плательщика, ЭБД {30} --> <amountCategory>BnkFulAth</amountCategory><!—Категория средств счета Плательщика, ЭБД {125} --> <Гю>Иванов|Иван|Иванович</Гю><!-- ФИО плательщика, ЭБД {50} -->
<addressParts><!-- Адрес плательщика. Разбивается на строки по 70 символов, ЭБД {1} -->
<addressParts>Кировская область Киров г Динамовский проезд д.26 кв.14</addressParts>
</addressParts>
</payer>
<payee><!-- Получатель -->
<id><!-- Идентификатор получателя -->
<type>MTEL</type><!-- Тип идентификатора Получателя, ЭБД {47} - MTEL - мобильный телефон --> <value>0070005210202</value><!-- Идентификатор Получателя, ЭБД {20} -->
</id>
<inn>00000000000</inn><!-- ИНН получателя, ЭБД {97}. Необязательное. -->
<bankBic>043304728</bankBic><!-- БИК банка получателя , ЭБД {95} --> <accountNumber>40817810800008107721</accountNumber><!-- Р/с получателя, ЭБД {31} --> <amountCategory>BnkFulAth</amountCategory>><!—Категория средств счета Получателя, ЭБД {126} --> <Гю>Иванов|Иван|Иванович</Гю><!-- ФИО получателя, ЭБД {51} -->
<addressParts><!-- Адрес получателя. Разбивается на строки по 70 символов, ЭБД {2} -->
<addressParts>Кировская область Киров г Динамовский проезд д.26 кв.14</addressParts>
</addressParts>
</payee>
<purpose>За обед</purpose><!-- Назначение платежа, ЭБД {32} --> <opkcFraudIndicator>8080000000000000<!-- Индикатор Подозрительной Операции ОПКЦ СБП, ЭБД {109} --></opkcFraudIndicator> <toBankFraudIndicator>0000000000000000<!-- Индикатор Подозрительной Операции Банка Получателя, ЭБД {108} --></toBankFraudIndicator> </c02AF>

Ответ

<c02AFResponse>
<status>S</status><!-- S — подозрение на кражу средств, G — платеж не подозрительный, F-мошеннический платеж --> <fraudIndicator>FFFFFFFFFFDDDDDD<!-- вычисленный Индикатор Подозрительной Операции Банка Отправителя, ЭБД {107} -- ></fraudIndicator>
</c02AFResponse>

Сообщение об ошибке

<c02AFResponse>
    <status>error</status>
    <message>Field type required</message>
</c02AFResponse>

Возможные значения поля status:

statusvalue
SПодозрение на кражу средств
GПлатеж не подозрительный
FМошеннический платеж

REQFRAUD

Запрос осуществляется после получения от ОПКС СБП сообщения со статусом Reject и кодом ответа I05035. Данное сообщение информационное и требуется только для дальнейшего информирования ФинЦЕРТ.

Пример запроса

Headers:
{
	"Authorization": "api_key LLMQ47A4U6430ACT4XOLRKNNUE908LLU",
	"Content-Type": "application/json; charset=utf-8"
}
Body:
<spbFraud>
<password>superpassword</password><!-- пароль для аутентификации шлюза в антифрод-системе --> <operation>C2CPush</operation><!-- Тип Операции СБП, ЭБД {48}--> <requestMsgId>20200521100020200000000000000225</requestMsgId><!-- Идентификатор сообщения из первоначального запроса c01AF , ЭБД {79} --> <businessOperationId>A908808150725100F9wfDh4CFADBC375</businessOperationId><!—Идентификатор операции ОПКЦ СБП, ЭБД {27}--> <timeLabel>2020-05-21T10:52:25.202Z</timeLabel>
<responseCode>I05035</responseCode><!-- Код ответа, полученного от ОПКЦ, ЭБД {29} --> <amount>1000000</amount><!-- Сумма операции СБП, ЭБД {44}--> <currency>RUB</currency><!-- Валюта операции СБП, ЭБД {9}--> <payer><!-- Плательщик -->
<type>MTEL</type><!-- Тип идентификатора Получателя, ЭБД {47} - MTEL - мобильный телефон --> <value>0070005210202</value><!-- Идентификатор Получателя, ЭБД {20} -->
</payee> </spbFraud>

Ответ

200 OK

REQPOSTCHECK

Запрос предназначен для двух ситуаций:

  • Получения подтверждения ранее подозрительной транзакции (статус confirmed).
  • Получения информации об успешном завершении транзакции (статус completed)

Пример запроса

Headers:
{
	"Authorization": "api_key LLMQ47A4U6430ACT4XOLRKNNUE908LLU",
	"Content-Type": "application/json; charset=utf-8"
}
Body:
<postAFCheckMessage>
<password>superpassword</password><!-- пароль для аутентификации шлюза в антифрод-системе --> <messageId>20200521100020200000000000000237</messageId><!-- Идентификатор сообщения, ЭБД {79} --> <operation>C2CPush</operation><!-- Тип Операции СБП, ЭБД {48}--> <businessOperationId>A908808150725100F9wfDh4CFADBC375</businessOperationId><!—Идентификатор операции ОПКЦ СБП, ЭБД {27}--> <fraudProcessStatus>ConfirmReceived</fraudProcessStatus><!-- Состояние антифрод-процесса по операции: ConfirmReceived, TransactComplete, FraudTransact (опционально) -->
</postAFCheckMessage>

На этой странице