# Протокол C2B. Выставление счёта (InvoiceRequest) для оплаты по Кассовой ссылке СБП

Для начала работы с Кассовой ссылкой Получателю следует убедиться, что:

1. Счёт Получателя настроен для работы с СБП: этот способ должен быть активен для счёта в личном кабинете moneta.ru или payanyway.ru. Проверить можно в личном кабинете moneta.ru: «Рабочий кабинет» → «Способы оплаты»; или в личном кабинете payanyway.ru: «Способы оплаты».
2. Для счёта Получателя сформирована Кассовая ссылка: это можно сделать по API (метод ["Регистрация Кассовой ссылки"](/marketplace/sbp/protokol-c2b.-mnogorazovye-qr.md)) или обратиться к сотруднику коммерческого отдела и попросить сформировать Кассовую ссылку для определенного счёта Получателя.

Чтобы провести оплату по Кассовой ссылке нужно её активировать. Кассовая ссылка становится активна, если выставить счёт ([InvoiceRequest](https://www.moneta.ru/doc/MONETA.MerchantAPI.v2.ru.pdf)) с заполненными полями:

* STATICQRID - уникальный идентификатор Кассовой ссылки;
* amount - сумма;
* description - назначение платежа.

Особенности работы с Кассовой ссылкой:

* может быть только один неоплаченный и активный invoice для одного уникального значения STATICQRID;
* если нужно изменить сумму (amount) или назначение платежа (description) для ранее активированной Кассовой ссылки, необходимо отменить текущий invoice, используя метод [CancelTransactionRequest](https://www.moneta.ru/doc/MONETA.MerchantAPI.v2.ru.pdf). Произойдёт деактивация Кассовой ссылки с определённым идентификатором, указанным в поле STATICQRID. Затем снова нужно выполнить InvoiceRequest с желаемыми данными (amount, description, STATICQRID).
* в поле CUSTOMFIELD:QRTTL можно передать период в минутах, в течение которого будет возможна оплата по Кассовой ссылке (QR-коду). Минимальное значение - одна минута, максимальное - 20 минут. Если поле CUSTOMFIELD:QRTTL не передано, за период использования Кассовой платёжной ссылки берётся значение 5 минут, после этого времени подготовленная операция отменяется;
* при активации Кассовой ссылки методом InvoiceRequest важно убедиться, что в качестве идентификатора STATICQRID используется именно идентификатор Кассовой ссылки, а не статического QR (QRS). Проверить доступный сценарий для уникального идентификатора qrcId (STATICQRID) можно методом ["Получение информации по идентификатору многоразового QR (qrcId)"](broken://pages/jwttBe7wBc6NgkE9HlIa)[.](/marketplace/sbp/protokol-c2b.-mnogorazovye-qr.md) Cценарий для Кассовой ссылки — «C2B\_CASH\_REGISTER».

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

* transactionId — номер операции;
* customfield:paramsid — идентификатор активных значений параметров Кассовой ссылки СБП. Этот атрибут показывает, что активация Кассовой ссылки прошла успешно.
* STATICQRID — идентификатор Кассовой ссылки (QR кода).

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

SOAP запрос:

```
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:mes="http://www.moneta.ru/schemas/messages.xsd">
    <soapenv:Header>
        <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <wsse:UsernameToken wsu:Id="UsernameToken" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
                <wsse:Username>LOGIN</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">PASSWORD</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
        <mes:InvoiceRequest mes:version="VERSION_2">
            <mes:payer>364</mes:payer>
            <mes:payee>46209858</mes:payee>
            <mes:amount>10.01</mes:amount>
            <mes:clientTransaction>c2b_cashbox_310322_001</mes:clientTransaction>
            <mes:description>Кассовая ссылка C2B</mes:description>
            <mes:operationInfo>
                <mes:attribute>
                    <mes:key>CUSTOMFIELD:QRTTL</mes:key>
                    <mes:value>1</mes:value>
                </mes:attribute>
                <mes:attribute>
                    <mes:key>STATICQRID</mes:key>
                    <mes:value>AS1R001HJS5K8F0S956OLM9OF1NAKNC4</mes:value>
                </mes:attribute>
            </mes:operationInfo>
        </mes:InvoiceRequest>
    </soapenv:Body>
</soapenv: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>2022-03-31T12:07:20.000+03:00</ns2:dateTime>
            <ns2:transaction>1002937425</ns2:transaction>
            <ns2:clientTransaction>c2b_cashbox_310322_001</ns2:clientTransaction>
            <ns2:operationInfo>
                <ns2:id>1002937425</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>Кассовая ссылка C2B</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>10.01</ns2:value>
                </ns2:attribute>
                <ns2:attribute>
                    <ns2:key>targetalias</ns2:key>
                    <ns2:value>Система быстрых платежей</ns2:value>
                </ns2:attribute>
                <ns2:attribute>
                    <ns2:key>customfield:paramsid</ns2:key>
                    <ns2:value>AP10000UQNSVMRS98RG8TKL916JFOH72</ns2:value>
                </ns2:attribute>
                <ns2:attribute>
                    <ns2:key>clienttransaction</ns2:key>
                    <ns2:value>c2b_cashbox_310322_001</ns2:value>
                </ns2:attribute>
                <ns2:attribute>
                    <ns2:key>customfield:qrttl</ns2:key>
                    <ns2:value>1</ns2:value>
                </ns2:attribute>
                <ns2:attribute>
                    <ns2:key>statusid</ns2:key>
                    <ns2:value>CREATED</ns2:value>
                </ns2:attribute>
                <ns2:attribute>
                    <ns2:key>staticqrid</ns2:key>
                    <ns2:value>AS1R001HJS5K8F0S956OLM9OF1NAKNC4</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>2022-03-31T12:07:20.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>sourceamounttotal</ns2:key>
                    <ns2:value>10.01</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>invoicerequest</ns2:key>
                    <ns2:value>1</ns2:value>
                </ns2:attribute>
                <ns2:attribute>
                    <ns2:key>sourceaccounttotal</ns2:key>
                    <ns2:value>10.01</ns2:value>
                </ns2:attribute>
                <ns2:attribute>
                    <ns2:key>sourceaccountid</ns2:key>
                    <ns2:value>46209858</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": "LOGIN",
                  "Password": "PASSWORD"
            }
      }
    },
    "Body": {
      "InvoiceRequest": {
        "version": "VERSION_2",
        "payer": "364",
        "payee": "46209858",
        "amount": 10.01,
        "clientTransaction": "c2b_cashbox_310322_001",
        "description": "Кассовая ссылка C2B",
        "operationInfo": {
          "attribute": [
            {
              "key": "CUSTOMFIELD:QRTTL",
              "value": "1"
            },
            {
              "key": "STATICQRID",
              "value": "AS1R001HJS5K8F0S956OLM9OF1NAKNC4"
            }
          ]
        }
      }
    }
  }
}
```

JSON ответ:

```
{
  "Envelope": {
    "Body": {
      "InvoiceResponse": {
        "dateTime": "2022-03-31T12:07:20.000+03:00",
        "operationInfo": {
          "id": 1002937425,
          "attribute": [
            {
              "value": "RUB",
              "key": "targetcurrencycode"
            },
            {
              "value": "Кассовая ссылка C2B",
              "key": "description"
            },
            {
              "value": "3",
              "key": "typeid"
            },
            {
              "value": "10.01",
              "key": "sourceamount"
            },
            {
              "value": "Система быстрых платежей",
              "key": "targetalias"
            },
            {
              "value": "AP10000UQNSVMRS98RG8TKL916JFOH72",
              "key": "customfield:paramsid"
            },
            {
              "value": "c2b_cashbox_310322_001",
              "key": "clienttransaction"
            },
            {
              "value": "1",
              "key": "customfield:qrttl"
            },
            {
              "value": "CREATED",
              "key": "statusid"
            },
            {
              "value": "AS1R001HJS5K8F0S956OLM9OF1NAKNC4",
              "key": "staticqrid"
            },
            {
              "value": "0",
              "key": "haschildren"
            },
            {
              "value": "2022-03-31T12:07:20.000+03:00",
              "key": "modified"
            },
            {
              "value": "364",
              "key": "targetaccountid"
            },
            {
              "value": "BUSINESS",
              "key": "category"
            },
            {
              "value": "10.01",
              "key": "sourceamounttotal"
            },
            {
              "value": "RUB",
              "key": "sourcecurrencycode"
            },
            {
              "value": "1",
              "key": "isinvoice"
            },
            {
              "value": "1",
              "key": "invoicerequest"
            },
            {
              "value": "10.01",
              "key": "sourceaccounttotal"
            },
            {
              "value": "46209858",
              "key": "sourceaccountid"
            },
            {
              "value": "true",
              "key": "isreversed"
            }
          ]
        },
        "clientTransaction": "c2b_cashbox_310322_001",
        "transaction": 1002937425,
        "status": "CREATED"
      }
    }
  }

```


---

# 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-kassovoi-ssylke-sbp.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.
