Протокол C2B. Возврат ранее принятых QR-платежей (C2B refund)
Возврат по операции QR-платежа (C2B refund) производится по номеру мобильного телефона, с которого выполнялась оплата, и в тот же банк, с которого был первоначальный QR-платеж.
Для протокола С2В refund используется метод RefundRequest.
В этом запросе, кроме прочих, требуется передать параметры transactionId (операция QR-платежа, по которой выполняется возврат) и SECUREDFIELD:unsBo_79=0.
Может пригодиться раздел "Описание полей для переводов СБП".
SOAP запрос:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:RefundRequest xmlns:ns2="http://www.moneta.ru/schemas/messages.xsd">
<ns2:transactionId>1234567</ns2:transactionId>
<ns2:amount>10.01</ns2:amount>
<ns2:paymentPassword>paymentpassword</ns2:paymentPassword>
<ns2:clientTransaction>abc123</ns2:clientTransaction>
<ns2:description>ВОЗВРАТ</ns2:description>
<ns2:operationInfo>
<ns2:attribute>
<ns2:key>SECUREDFIELD:unsBo_79</ns2:key>
<ns2:value>0</ns2:value>
</ns2:attribute>
</ns2:operationInfo>
</ns2:RefundRequest>
</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:RefundResponse xmlns:ns2="http://www.moneta.ru/schemas/messages.xsd">
<ns2:id>1234568</ns2:id>
<ns2:attribute>
<ns2:key>targetcurrencycode</ns2:key>
<ns2:value>RUB</ns2:value>
</ns2:attribute>
<ns2:attribute>
<ns2:key>customfield:idpo_20</ns2:key>
<ns2:value>0079370000000</ns2:value>
</ns2:attribute>
<ns2:attribute>
<ns2:key>description</ns2:key>
<ns2:value>ВОЗВРАТ</ns2:value>
</ns2:attribute>
<ns2:attribute>
<ns2:key>typeid</ns2:key>
<ns2:value>18</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>сбп QR</ns2:value>
</ns2:attribute>
<ns2:attribute>
<ns2:key>customfield:ioopkcsbp_27</ns2:key>
<ns2:value>00000000000000000000000000000000</ns2:value>
</ns2:attribute>
<ns2:attribute>
<ns2:key>clienttransaction</ns2:key>
<ns2:value>abc123</ns2:value>
</ns2:attribute>
<ns2:attribute>
<ns2:key>isrefund</ns2:key>
<ns2:value>1</ns2:value>
</ns2:attribute>
<ns2:attribute>
<ns2:key>targetamount</ns2:key>
<ns2:value>10.01</ns2:value>
</ns2:attribute>
<ns2:attribute>
<ns2:key>statusid</ns2:key>
<ns2:value>TAKENIN_NOTSENT</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>2020-11-20T13:28:22.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>parentid</ns2:key>
<ns2:value>1234567</ns2:value>
</ns2:attribute>
<ns2:attribute>
<ns2:key>customfield:idbp_24_name</ns2:key>
<ns2:value>НКО Монета</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>sourceaccounttotal</ns2:key>
<ns2:value>-10.01</ns2:value>
</ns2:attribute>
<ns2:attribute>
<ns2:key>sourceaccountid</ns2:key>
<ns2:value>112233</ns2:value>
</ns2:attribute>
</ns2:RefundResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
JSON запрос:
{
"Envelope": {
"Header": {
"Security": {
"UsernameToken": {
"Username": "login",
"Password": "password"
}
}
},
"Body": {
"RefundRequest": {
"transactionId": "1234567",
"amount": "10.01",
"paymentPassword": "paymentpassword",
"clientTransaction": "abc123",
"description": "Возврат",
"operationInfo": {
"attribute": [
{
"key": "SECUREDFIELD:unsBo_79",
"value": "0"
}
]
}
}
}
}
}
JSON ответ:
{
"Envelope":{
"Body":{
"RefundResponse":{
"id":1234568,
"attribute":[
{
"value":"RUB",
"key":"targetcurrencycode"
},
{
"value":"0079370000000",
"key":"customfield:idpo_20"
},
{
"value":"Возврат",
"key":"description"
},
{
"value":"18",
"key":"typeid"
},
{
"value":"-10.01",
"key":"sourceamount"
},
{
"value":"СБП QR",
"key":"targetalias"
},
{
"value":"00000000000000000000000000000000",
"key":"customfield:ioopkcsbp_27"
},
{
"value":"abc123",
"key":"clienttransaction"
},
{
"value":"1",
"key":"isrefund"
},
{
"value":"10.01",
"key":"targetamount"
},
{
"value":"TAKENIN_NOTSENT",
"key":"statusid"
},
{
"value":"0",
"key":"haschildren"
},
{
"value":"2020-11-20T13:16:46.000+03:00",
"key":"modified"
},
{
"value":"364",
"key":"targetaccountid"
},
{
"value":"BUSINESS",
"key":"category"
},
{
"value":"1234567",
"key":"parentid"
},
{
"value":"НКО Монета",
"key":"customfield:idbp_24_name"
},
{
"value":"-10.01",
"key":"sourceamounttotal"
},
{
"value":"RUB",
"key":"sourcecurrencycode"
},
{
"value":"-10.01",
"key":"sourceaccounttotal"
},
{
"value":"112233",
"key":"sourceaccountid"
}
]
}
}
}
}
Last updated