For Marketplace
Search…
⌃K

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

Для начала работы с Кассовой ссылкой Получателю следует убедиться, что:
  1. 1.
    Счёт Получателя настроен для работы с СБП: этот способ должен быть активен для счёта в личном кабинете moneta.ru или payanyway.ru. Проверить можно в личном кабинете moneta.ru: «Рабочий кабинет» → «Способы оплаты»; или в личном кабинете payanyway.ru: «Способы оплаты».
  2. 2.
    Для счёта Получателя сформирована Кассовая ссылка: это можно сделать по API (метод "Регистрация Кассовой ссылки") или обратиться к сотруднику коммерческого отдела и попросить сформировать Кассовую ссылку для определенного счёта Получателя.
Чтобы провести оплату по Кассовой ссылке нужно её активировать. Кассовая ссылка становится активна, если выставить счёт (InvoiceRequest) с заполненными полями:
  • STATICQRID - уникальный идентификатор Кассовой ссылки;
  • amount - сумма;
  • description - назначение платежа.
Особенности работы с Кассовой ссылкой:
  • может быть только один неоплаченный и активный invoice для одного уникального значения STATICQRID;
  • если нужно изменить сумму (amount) или назначение платежа (description) для ранее активированной Кассовой ссылки, необходимо отменить текущий invoice, используя метод CancelTransactionRequest. Произойдёт деактивация Кассовой ссылки с определённым идентификатором, указанным в поле STATICQRID. Затем снова нужно выполнить InvoiceRequest с желаемыми данными (amount, description, STATICQRID).
  • в поле CUSTOMFIELD:QRTTL можно передать период в минутах, в течение которого будет возможна оплата по Кассовой ссылке (QR-коду). Минимальное значение - одна минута, максимальное - 20 минут. Если поле CUSTOMFIELD:QRTTL не передано, за период использования Кассовой платёжной ссылки берётся значение 5 минут, после этого времени подготовленная операция отменяется;
  • при активации Кассовой ссылки методом InvoiceRequest важно убедиться, что в качестве идентификатора STATICQRID используется именно идентификатор Кассовой ссылки, а не статического QR (QRS). Проверить доступный сценарий для уникального идентификатора qrcId (STATICQRID) можно методом "Получение информации по идентификатору многоразового QR (qrcId)". Cценарий для Кассовой ссылки — «C2B_CASH_REGISTER».
Ответом на InvoiceRequest будет InvoiceResponse, в котором содержится:
  • transactionId — номер операции;
  • customfield:paramsid — идентификатор активных значений параметров Кассовой ссылки СБП. Этот атрибут показывает, что активация Кассовой ссылки прошла успешно.
  • STATICQRID — идентификатор Кассовой ссылки (QR кода).
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"
}
}
}