Протокол С2С.Сценарий Me2Me Pull

Переводы СБП по сценарию Me2Me Pull — это переводы по номеру телефона между счетами клиентов в разных банках по инициативе Получателя.

Перевод денег по этому сценарию:

  1. Пользователь выполняет запрос из банка, в который хочет получить деньги;

  2. Пользователь даёт распоряжение на перевод денег из банка, из которого переводит деньги. Распоряжение может быть разовым или оформленным на все последующие переводы. Оформив распоряжение на последующие переводы в определенный Банк-Получатель, пользователь, отправляя запрос на получение денег из Банка-Получателя, даёт согласие проводить переводы из Банка-Отправителя без подтверждения.

Создать запрос на перевод Me2Me Pull, когда НКО «МОНЕТА» (ООО) выступает в роли банка, получающего перевод, можно, если:

  • статус ЭСП «МОНЕТА.РУ», получающего перевод — упрощённо-идентифицированный или идентифицированный.

В настройках счёта-прототипа для работы с ЭСП «МОНЕТА.РУ» при реализации сценария Me2Me Pull удобно настроить URL-уведомления об отмене операции (Действия при зачислении/списании средств -> Вызвать URL после отмены зачисления средств): для этого сообщите url обработчика специалисту коммерческого отдела НКО «МОНЕТА» (ООО).

Может пригодиться раздел "Описание полей для переводов СБП".

Шаг 1. Запросить список банков-участников по сценарию Me2Me Pull

SOAP запрос:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
    <ns11:GetNextStepRequest xmlns:ns11="http://www.moneta.ru/schemas/messages-serviceprovider-server.xsd">
        <ns11:providerId>374.2</ns11:providerId>
        <ns11:fieldsInfo>
            <ns11:attribute>
                <ns11:name>SECUREDFIELD:payment_stage</ns11:name>
                <ns11:value>2</ns11:value>
            </ns11:attribute>
            <ns11:attribute>
                <ns11:name>SECUREDFIELD:unsBo_79</ns11:name>
                <ns11:value>0</ns11:value>
            </ns11:attribute>
            <ns11:attribute>
                <ns11:name>SECUREDFIELD:scenarios</ns11:name>
                <ns11:value>Me2MePull</ns11:value>
            </ns11:attribute>
        </ns11:fieldsInfo>
    </ns11:GetNextStepRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

SOAP ответ:

JSON запрос:

JSON ответ:

Шаг 2. Создать запрос на перевод денег в выбранный Банк Отправителя

Алгоритм создания запроса на перевод денег в Банке Отправителя:

  • после получения списка банков-участников для сценария Me2Me Pull и выбора среди них id банка, из которого планируется перевести деньги, нужно выполнить InvoiceRequest;

  • в InvoiceRequest нужно указать id банка, из которого планируется перевести деньги, в атрибуте SECUREDFIELD:SBPBANKID;

  • в InvoiceResponse должен присутствовать атрибут EXTERNALTRANSACTION, который информирует об успешном создании запроса на перевод в банк, из которого планируется перевести деньги: если в InvoiceResponse не вернулось значение EXTERNALTRANSACTION, необходимо проверить корректность запроса InvoiceRequest с параметром SECUREDFIELD:SBPBANKID;

  • далее ожидаем информацию о создании счёта на перевод денег в Банке Отправителя (не больше семи секунд): если счёт на перевод денег в Банке Отправителя не сформирован, созданная по запросу в InvoceRequest операция отменяется с указанием причины. При отмене будет вызван «URL после отмены зачисления» (если был настроен). Если счёт на перевод денег в Банке Отправителя сформирован, но неизвестно, оплачен ли, дополнительные URL-уведомления об этом не приходят. Отсутствие URL-уведомления на адрес обработчика «URL после отмены зачисления» значит, что на стороне Банка Отправителя был создан счёт на перевод денег;

  • далее ожидаем оплату по созданному в Банке Отправителя счёту; если счёт в Банке Отправителе не оплачен в течение 10 минут после получения InvoiceResponse (с атрибутом EXTERNALTRANSACTION), счёт будет отменён и будет вызван «URL после отмены зачисления» (если был настроен).

Пример запроса InvoiceRequest с указанием SECUREDFIELD:SBPBANK

SOAP запрос:

SOAP ответ:

JSON запрос:

JSON ответ:

Last updated

Was this helpful?