Протокол C2B. Выставление счёта (InvoiceRequest) для оплаты по динамическому QR

Для выставления счёта на оплату используется метод InvoiceRequest. Счет (Invoice) выставляется Получателем (ЮЛ/ИП) для оплаты за товары или услуги.

Чтобы сформировать invoice для оплаты по QR, счёт получателя обязательно должен быть настроен для работы с СБП: этот способ должен быть активен для счёта в личном кабинете moneta.ru или payanyway.ru. Проверить это можно в личном кабинете moneta.ru: «Рабочий кабинет» → «Способы оплаты»; или в личном кабинете payanyway.ru: «Способы оплаты».

В поле CUSTOMFIELD:QRTTL можно передать период в минутах, в течение которого будет возможна оплата по платёжной ссылке (QR-коду). Минимальное значение — одна минута, максимальное значение – 129600 (90 дней в минутах). Если поле CUSTOMFIELD:QRTTL не передано, за период использования динамической платёжной ссылки берётся значение 4320 минут (три дня).

Ответом на InvoiceRequest будет InvoiceResponse, в котором содержится:

  • transactionId - номер операции;

  • qrlink - ссылка на графическое отображение QR;

  • qrpayload - платёжная ссылка СБП, закодированная в QR. Если разместить её в мобильном приложении или мобильной версии сайта, при нажатии откроется установленное на телефоне приложение банка-участника СБП C2B с возможностью оплатить по данному коду.

  • externaltransaction - идентификатор динамического QR-кода.

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

SOAP запрос:

<SOAP-ENV:Envelope xmlns:SOAP-ENV ="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:InvoiceRequest xmlns:ns2="http://www.moneta.ru/schemas/messages.xsd" ns2:version="VERSION_2">
         <ns2:payer>364</ns2:payer>
         <ns2:payee>10481430</ns2:payee>
         <ns2:amount>100</ns2:amount>
         <ns2:clientTransaction>12229</ns2:clientTransaction>
         <ns2:description>Test</ns2:description>
         <ns2:operationInfo>
            <ns2:attribute>
               <ns2:key>CUSTOMFIELD:QRTTL</ns2:key>
               <ns2:value>11</ns2:value>
            </ns2:attribute>
         </ns2:operationInfo>
      </ns2:InvoiceRequest>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

SOAP ответ:

JSON запрос:

JSON ответ:

Для оплаты Invoice можно:

  1. Использовать qrlink для графического отображения QR — кода Плательщику, например, на сайте получателя, и последующего сканирования устройством Плательщика;

  2. Использовать qrpayload, например, в мобильной версии сайта или мобильном приложении Получателя, чтобы Плательщик мог проводить оплату с одного устройства (смартфона). На некоторых устройствах Плательщики могут сталкиваться с проблемой выбора банка для оплаты по QR-коду, поэтому Получатели могут интегрировать в свои приложения/сайты виджет выбора банков СБП. Найти SDK для применению виджета выбора банков СБП можно здесь https://sbp.nspk.ru/ "Бизнесу"-> "Онлайн" (подробнее) -> "Виджет СБП".

Last updated

Was this helpful?