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

Для выставления счёта на оплату используется метод [InvoiceRequest](http://www.moneta.ru/doc/MONETA.MerchantAPI.v2.ru.pdf). Счет (Invoice) выставляется Получателем (ЮЛ/ИП) для оплаты за товары или услуги.

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

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

Ответом на [InvoiceRequest ](http://www.moneta.ru/doc/MONETA.MerchantAPI.v2.ru.pdf)будет [InvoiceResponse](http://www.moneta.ru/doc/MONETA.MerchantAPI.v2.ru.pdf), в котором содержится:

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

{% hint style="info" %}
Может пригодиться раздел ["Описание полей для переводов СБП"](/marketplace/sbp/opisanie-polei-dlya-perevodov-sbp.md).
{% endhint %}

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 ответ:

```
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:InvoiceResponse xmlns:ns2="http://www.moneta.ru/schemas/messages.xsd">
         <ns2:status>CREATED</ns2:status>
         <ns2:dateTime>2021-03-30T11:38:45.000+03:00</ns2:dateTime>
         <ns2:transaction>1001657743</ns2:transaction>
         <ns2:clientTransaction>12229</ns2:clientTransaction>
         <ns2:operationInfo>
            <ns2:id>1001657743</ns2:id>
            <ns2:attribute>
               <ns2:key>targetcurrencycode</ns2:key>
               <ns2:value>RUB</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>description</ns2:key>
               <ns2:value>Test</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>typeid</ns2:key>
               <ns2:value>3</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>sourceamount</ns2:key>
               <ns2:value>100</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>targetalias</ns2:key>
               <ns2:value>Система Быстрых Платежей C2B (СБП)</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>clienttransaction</ns2:key>
               <ns2:value>12229</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>customfield:qrttl</ns2:key>
               <ns2:value>11</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>qrpayload</ns2:key>
<ns2:value>https://qr.nspk.ru/AD100023V96ORJUR98CRVT2RR91R3UNA?type=02&amp;bank=100000000061&amp;sum=10000&amp;cur=RUB&amp;crc=D2E1</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>statusid</ns2:key>
               <ns2:value>CREATED</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>qrlink</ns2:key>
<ns2:value>https://payanyway.ru/qrcode.htm?value=https%3A%2F%2Fqr.nspk.ru%2FAD100023V96ORJUR98CRVT2RR91R3UNA%3Ftype%3D02%26bank%3D100000000061%26sum%3D10000%26cur%3DRUB%26crc%3DD2E1&amp;w=256&amp;h=256</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>haschildren</ns2:key>
               <ns2:value>0</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>modified</ns2:key>
               <ns2:value>2021-03-30T11:38:45.000+03:00</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>targetaccountid</ns2:key>
               <ns2:value>364</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>category</ns2:key>
               <ns2:value>BUSINESS</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>externaltransaction</ns2:key>
               <ns2:value>AD100023V96ORJUR98CRVT2RR91R3UNA</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>sourceamounttotal</ns2:key>
               <ns2:value>100</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>sourcecurrencycode</ns2:key>
               <ns2:value>RUB</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>isinvoice</ns2:key>
               <ns2:value>1</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>sourceaccounttotal</ns2:key>
               <ns2:value>100</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>sourceaccountid</ns2:key>
               <ns2:value>10481430</ns2:value>
            </ns2:attribute>
            <ns2:attribute>
               <ns2:key>isreversed</ns2:key>
               <ns2:value>true</ns2:value>
            </ns2:attribute>
         </ns2:operationInfo>
      </ns2:InvoiceResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
```

JSON запрос:

```
{
    "Envelope": {
        "Header": {
            "Security": {
                "UsernameToken": {
                    "Username": "username",
                    "Password": "password"
                }
            }
        },
        "Body": {
            "InvoiceRequest": {
                "version": "VERSION_2",
                "payer": "364",
                "payee": "10481430",
                "amount": "100",
                "clientTransaction": "12229",
                "description": "Test",
                "operationInfo": {
                   "attribute": [
                     {
                      "key": "CUSTOMFIELD:QRTTL",
                       "value": "11"
                     }
                   ]
                }
            }
        }
    }
}
```

JSON ответ:

```
{
    "Envelope":{
        "Body":{
            "InvoiceResponse":{
                "dateTime":"2021-03-30T11:38:45.000+03:00",
                "operationInfo":{
                    "id":1001657743,
                    "attribute":[
                        {
                            "value":"RUB",
                            "key":"targetcurrencycode"
                        },
                        {
                            "value":"Test",
                            "key":"description"
                        },
                        {
                            "value":"3",
                            "key":"typeid"
                        },
                        {
                            "value":"100",
                            "key":"sourceamount"
                        },
                        {
                            "value":"Система Быстрых Платежей C2B (СБП)",
                            "key":"targetalias"
                        },
                        {
                            "value":"12229",
                            "key":"clienttransaction"
                        },
                        {
                            "value": "11",
                            "key": "customfield:qrttl"
                        },
                        {
                            "value":"https:\/\/qr.nspk.ru\/AD100023V96ORJUR98CRVT2RR91R3UNA?type=02&bank=100000000061&sum=10000&acur=RUB&crc=D2E1",
                            "key":"qrpayload"
                        },
                        {
                            "value":"CREATED",
                            "key":"statusid"
                        },
                        {
                            "value":"https:\/\/payanyway.ru\/qrcode.htm?value=https%3A%2F%2Fqr.nspk.ru%2FAD100023V96ORJUR98CRVT2RR91R3UNA%3Ftype%3D02%26bank%3D100000000061%26sum%3D10000%26cur%3DRUB%26crc%3DD2E1&w=256&h=256",
                            "key":"qrlink"
                        },
                        {
                            "value":"0",
                            "key":"haschildren"
                        },
                        {
                            "value":"2021-03-30T11:38:45.000+03:00",
                            "key":"modified"
                        },
                        {
                            "value":"364",
                            "key":"targetaccountid"
                        },
                        {
                            "value":"BUSINESS",
                            "key":"category"
                        },
                        {
                            "value":"AD100023V96ORJUR98CRVT2RR91R3UNA",
                            "key":"externaltransaction"
                        },
                        {
                            "value":"100",
                            "key":"sourceamounttotal"
                        },
                        {
                            "value":"RUB",
                            "key":"sourcecurrencycode"
                        },
                        {
                            "value":"1",
                            "key":"isinvoice"
                        },
                        {
                            "value":"100",
                            "key":"sourceaccounttotal"
                        },
                        {
                            "value":"10481430",
                            "key":"sourceaccountid"
                        },
                        {
                            "value":"true",
                            "key":"isreversed"
                        }
                    ]
                },
                "clientTransaction":"12229",
                "transaction":1001657743,
                "status":"CREATED"
            }
        }
    }
}
```

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

1. Использовать transactionId и переход на платёжную форму Assistant в виде: <https://www.payanyway.ru/assistant.htm?operationId=[полученный_номер_операции]&paymentSystem.unitId=12299232&paymentSystem.limitIds=12299232&followup=true>;
2. Использовать qrlink для графического отображения QR — кода Плательщику, например, на сайте получателя, и последующего сканирования устройством Плательщика;
3. Использовать qrpayload, например, в мобильной версии сайта или мобильном приложении Получателя, чтобы Плательщик мог проводить оплату с одного устройства (смартфона). На некоторых устройствах Плательщики могут сталкиваться с проблемой выбора банка для оплаты по QR-коду, поэтому Получатели могут интегрировать в свои приложения/сайты виджет выбора банков СБП. Найти SDK для применению виджета выбора банков СБП можно здесь <https://sbp.nspk.ru/> "Бизнесу"-> "Онлайн" (подробнее) -> "Виджет СБП".


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payanyway.ru/marketplace/sbp/protokol-c2b.-vystavlenie-schyota-invoicerequest-dlya-oplaty-po-dinamicheskomu-qr.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
