Протокол С2С.Сценарий Me2Me Pull
Переводы СБП по сценарию Me2Me Pull — это переводы по номеру телефона между счетами клиентов в разных банках по инициативе Получателя.
Перевод денег по этому сценарию:
Пользователь выполняет запрос из банка, в который хочет получить деньги;
Пользователь даёт распоряжение на перевод денег из банка, из которого переводит деньги. Распоряжение может быть разовым или оформленным на все последующие переводы. Оформив распоряжение на последующие переводы в определенный Банк-Получатель, пользователь, отправляя запрос на получение денег из Банка-Получателя, даёт согласие проводить переводы из Банка-Отправителя без подтверждения.
Создать запрос на перевод 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?