Page History
Описание сервиса
URL запроса для формата HTTP POST: https://<SERVER-NAME>/cancel/cancel.cfmURL запроса для формата SOAP: wscancel.cfm, при передаче параметров в формате JSON см. swagger описание: https://<SERVER-NAME>/cancel/wscancel.cfm
| Expand | ||
|---|---|---|
| ||
Если предприятие работает с программой лояльности «Спасибо от СберБанка», и в заказе может быть две успешные операции оплаты (картой и баллами), а также операция начисления баллов, рекомендуем для отмен пользоваться сервисом https://<SERVER-NAME>/cancel/wscancel.cfm. |
Список параметров запроса:
Список параметров запроса:
Название | Обязательное поле | Принимаемые значения | Значение | Название | Обязательное поле | Принимаемые значения | Значение по умолчанию | Описание |
Billnumber | Да | 15 или 16 цифр Расширенный формат | Номер платежа, соответствующий заказу в системе АПК Ассист, допускается передача расширенного номера платежа допускается только в том случае, если в заказе не передается чек. | |||||
Merchant_ID | Да | Число | Идентификатор предприятия в АПК Ассист | |||||
Login | Да | 8 - 20 символов | Логин (лат. буквы и цифры, символ _) | |||||
Password | Да | 8 - 20 символов | Пароль (лат. буквы и цифры) | |||||
Amount | Нет*1 | Число, 15 цифр(разделитель «.знаков, два знака после разделителя (допустимые разделители «.», «,») | Сумма авторизации | Сумма возврата средств | ||||
Currency | Нет*1 | 3 символа | Код валюты авторизации | Код валюты отмены или возврата средств. Может быть использован только код валюты авторизации | ||||
CancelReason | Нет | 1 – Отказ магазина | 2 | Причина отмены или возврата | ||||
Language | Нет | RU – русский | RU | Язык выдачи результатов | ||||
ClientIP | Нет | Максимум 15 цифр, 4 разделителя «.» | IP компьютера оператора, производящего отмену/возврат. | |||||
Format | Нет | 1 – CSV | 4Формат входных данных, 4 для сервиса wscancel | Формат выдачи результатов |
* Параметры Amount, Currency могут присутствовать или отсутствовать в запросе только одновременно. В случае отсутствия параметров операция отмены оплаты будет проведена на полную сумму.
| Multiexcerpt include | ||||
|---|---|---|---|---|
|
...
. Передается только для запроса в формате POST (по умолчанию ответ будет выдан в формате CSV). Для других форматов ответ выдается в том же формате, в котором был выполнен запрос. | ||||
Externalrefundid2 | Нет | От 10 до 100 символов (разрешенные символы [A-Za-z0-9\-_] | Внешний идентификатор отмены (уникальное значение в пределах одного заказа) |
| Anchor | ||||
|---|---|---|---|---|
|
1 Параметры Amount, Currency могут присутствовать или отсутствовать в запросе только одновременно. В случае отсутствия параметров операция отмены оплаты будет проведена на полную сумму.
| Anchor | ||||
|---|---|---|---|---|
|
2Параметр используется только для форматов JSON и SOAP.
| Multiexcerpt include | ||||
|---|---|---|---|---|
|
| Note |
|---|
Для фискализации операции отмены в запросе могут передаваться дополнительные параметры для формирования корректного чека. Описание дополнительных параметров приведено в разделе "Режимы передачи данных чека". |
Для совершения операции отмены можно передать параметр billnumber как в обычном формате (если по заказу была одна успешная операция оплаты), так и в расширенном формате. При использовании расширенного формата обязательно должен быть указан номер успешной операции оплаты (в некоторых случаях это может быть не первая по счету операция, например,5111111000965142.2).
| Warning |
|---|
Внимание! Передача расширенного номера платежа допускается только в том случае, если в заказе не передается чек. |
Отмена или возврат средств является успешной, если код возврата операции отмены responsecode AS000 (операция успешно завершена), оба кода firstcode=0, secondcode=0, статус заказа при этом становится Canceled (Отменен) или PartialCanceled (Отменен частично).
Для неуспешной отмены код возврата responsecode принимает значения AS100-AS998. Если запрос на возврат или отмену не может быть обработан, в результате запроса вернутся ненулевые значения параметров firstcode, secondcode.
| Expand | ||
|---|---|---|
| ||
Для совершения полной отмены заказа, оплаченного картой и бонусными баллами, необходимо передать параметр billnumber в обычном формате, параметры Amount и Currency не передавать. Для совершения частичной отмены заказа, оплаченного картой и бонусными баллами, необходимо отдельно отправить запрос для каждой операции оплаты. Для частичной отмены операции оплаты по карте передать billnumber в |
Отмена или возврат средств является успешной, если код возврата операции отмены responsecode AS000 (операция успешно завершена), оба кода firstcode=0, secondcode=0, статус заказа при этом становится Canceled (Отменен) или PartialCanceled (Отменен частично).
Для неуспешной отмены код возврата responsecode принимает значения AS100-AS998. Если запрос на возврат или отмену не может быть обработан, в результате запроса вернутся ненулевые значения параметров firstcode, secondcode.
| Expand | ||
|---|---|---|
| ||
Для совершения полной отмены заказа, оплаченного картой и бонусными баллами, необходимо передать параметр billnumber в обычном формате, параметры Amount и Currency не передавать. Для совершения частичной отмены заказа, оплаченного картой и бонусными баллами, необходимо отдельно отправить запрос для каждой операции оплаты. Для частичной отмены операции оплаты по карте передать billnumber в расширенном формате, соответствующий данной операции (например, 5111111000965142.1), и параметры Amount иCurrency, соответствующие сумме, которую необходимо вернуть на карту. Для частичной отмены операции оплаты баллами передать billnumber в расширенном формате, соответствующий данной операции (например, 5111111000965142.2), и параметры Amount и Currency, соответствующие сумме баллов, которую необходимо вернуть. Если при оплате картой и/или баллами были начислены бонусные баллы «Спасибо», то при совершении отмен соответствующие операции отмены начисления будут созданы автоматически. |
...
Интерфейс для формата HTTPPOST (cancel)
Пример запроса HTTP POST для отмены оплаты по банковской карте:
| Code Block | ||
|---|---|---|
| ||
<FORM ACTION="https://<SERVER-NAME>/cancel/cancelwscancel.cfm" method="POST"> <INPUT TYPE="hidden" NAME="BillNumber" VALUE="511111100000001"> <INPUT TYPE="hidden" NAME="Merchant_ID" VALUE="Ваш Merchant_ID"> <INPUT TYPE="hidden" NAME="Login" VALUE="Ваш логин"> <INPUT TYPE="hidden" NAME="Password" VALUE="Ваш пароль"> <INPUT TYPE="hidden" NAME="Amount" VALUE="Сумма"> <INPUT TYPE="hidden" NAME="Currency" VALUE="Валюта"> <INPUT TYPE="hidden" NAME="ClientIP" VALUE="IP-адрес"> <INPUT TYPE="hidden" NAME="Language" VALUE="Язык выдачи результата"> <INPUT TYPE="hidden" NAME="Format" VALUE="Формат выдачи результата"> <INPUT TYPE="Submit"></FORM> |
Список параметров ответа:
Название | Значение |
ordernumber | Номер заказа |
responsecode | Код возврата |
recommendation | Рекомендации |
message | Сообщение |
ordercomment | Комментарий |
orderdate | Дата заказа по Гринвичу (GMT) |
amount | Сумма операции |
currency | Валюта операции |
meantypename | Тип платежного средства |
meannumber | Номер платежного средства |
lastname | Фамилия плательщика |
firstname | Имя плательщика |
middlename | Отчество плательщика |
issuebank | Название банка-эмитента |
Email плательщика | |
bankcountry | Страна банка-эмитента |
rate | Курс валюты |
approvalcode | Код авторизации |
meansubtype | Подтип платежного средства |
cardholder | Держатель платежного средства |
cardexpirationdate | Срок действия карты |
ipaddress | IP-адрес плательщика |
protocoltypename | Протокол |
testmode | Тестовый режим |
customermessage | Сообщение о результате для покупателя |
orderstate | Cтатус заказа |
processingname | Процессинг |
operationtype | Тип операции |
billnumber | Расширенный формат billnumber |
orderamount | Оригинальная сумма операции |
ordercurrency | Оригинальная валюта операции |
slipno | Номер финансовой транзакции, отправляемый в процессинг |
packetdate | Дата формирования запроса по Гринвичу (GMT) |
signature |
Пример результата запроса отмены платежа или возврата средств в формате XML:
Подпись. Формируется по следующему алгоритму: 1. Формируется объединённая строка из параметров (в их строковом представлении, в формате как они переданы в ответе): billnumber, ordernumber, responsecode, orderamount, ordercurrency, meannumber, approvalcode, orderstate, packetdate (без разделителей). |
Пример результата запроса отмены платежа или возврата средств в формате XML:
| Code Block | ||
|---|---|---|
| ||
<?xml | ||
| Code Block | ||
| ||
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<!DOCTYPE result [
<!ATTLIST result
firstcode CDATA #REQUIRED
secondcode CDATA #REQUIRED
count CDATA #REQUIRED>
<!ELEMENT result (orders?)>
<!ELEMENT orders (order)>
<!ELEMENT order (ordernumber?,
responsecode?, recommendation?, message?, ordercomment?, orderdate?, amount?,
currency?, meantypename?, meannumber?, lastname?, firstname?, middlename?,
issuebank?, email?, bankcountry?, rate?, approvalcode?, meansubtype?,
cardholder?, cardexpirationdate?, ipaddress?,
protocoltypename?, testmode?, customermessage?,
orderstate?, processingname?, operationtype?, billnumber?, orderamount?,
ordercurrency?, slipno?, packetdate?, signature?, pareq?, acsurl?)>
<!ELEMENT ordernumber (#PCDATA)>
<!ELEMENT responsecode (#PCDATA)>
<!ELEMENT recommendation (#PCDATA)>
<!ELEMENT message (#PCDATA)>
<!ELEMENT ordercomment (#PCDATA)>
<!ELEMENT orderdate (#PCDATA)>
<!ELEMENT amount (#PCDATA)>
<!ELEMENT currency (#PCDATA)>
<!ELEMENT meantypename (#PCDATA)>
<!ELEMENT meannumber (#PCDATA)>
<!ELEMENT lastname (#PCDATA)>
<!ELEMENT firstname (#PCDATA)>
<!ELEMENT middlename (#PCDATA)>
<!ELEMENT issuebank (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT bankcountry (#PCDATA)>
<!ELEMENT rate (#PCDATA)>
<!ELEMENT approvalcode (#PCDATA)>
<!ELEMENT meansubtype (#PCDATA)>
<!ELEMENT cardholder (#PCDATA)>
<!ELEMENT cardexpirationdate (#PCDATA)>
<!ELEMENT ipaddress (#PCDATA)>
<!ELEMENT protocoltypename (#PCDATA)>
<!ELEMENT testmode (#PCDATA)>
<!ELEMENT customermessage (#PCDATA)>
<!ELEMENT orderstate (#PCDATA)>
<!ELEMENT processingname (#PCDATA)>
<!ELEMENT operationtype (#PCDATA)>
<!ELEMENT billnumber (#PCDATA)>
<!ELEMENT orderamount (#PCDATA)>
<!ELEMENT ordercurrency (#PCDATA)>
<!ELEMENT slipno (#PCDATA)>
<!ELEMENT packetdate (#PCDATA)>
<!ELEMENT signature (#PCDATA)>
<!ELEMENT pareq (#PCDATA)>
<!ELEMENT acsurl (#PCDATA)>]>
<result firstcode="0" secondcode="0" count="1">
<orders><order>
<ordernumber>0001-01</ordernumber>
<responsecode>AS000</responsecode>
<recommendation></recommendation>
<message>Завершено успешно.</message>
<ordercomment>тестовый платеж</ordercomment>
<orderdate>01.01.2018 10:51:53</orderdate>
<amount>100.00</amount>
<currency>RUB</currency>
<meantypename>VISA</meantypename>
<meannumber>411111****1111</meannumber>
<lastname>Testov</lastname>
<firstname>Test</firstname>
<middlename>Testovich</middlename>
<issuebank>BANK</issuebank>
<email>test@testpost.ru</email>
<bankcountry>Россия</bankcountry>
<rate>1</rate>
<approvalcode>F39530</approvalcode>
<meansubtype>Corporate Purchasing Card</meansubtype>
<cardholder>TEST</cardholder>
<cardexpirationdate>12/20</cardexpirationdate>
<ipaddress>10.23.23.23</ipaddress>
<protocoltypename></protocoltypename>
<testmode>1</testmode>
<customermessage>Завершено успешно.</customermessage>
<orderstate>Canceled</orderstate>
<processingname>Name</processingname>
<operationtype>300</operationtype>
<billnumber>511111100000001.2</billnumber>
<orderamount>100.00</orderamount>
<ordercurrency>RUB</ordercurrency>
<slipno>111111</slipno>
<packetdate>01.01.2018 12:36:31</packetdate>
<signature></signature>
</order></orders></result> |
...
С описанием первого и второго кодов автоматизированных интерфейсов ошибок можно ознакомиться в справочнике . Также в справочниках описаны возможные статусы заказа, типы операций, коды возврата и коды валют соответственно. В качестве значения поля <meannumber> возвращаются первые 6 и последние 4 цифры номера карты, остальные цифры скрыты символом *.
Веб-сервис для формата SOAP
Описание веб-сервиса для формата SOAP можно увидеть на странице:
https://<SERVER-NAME>/cancel/wscancel.wsdl
Пример запроса для отмены оплаты по банковской карте:
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Header/>
<Body>
<WSCancelRequestParams>
<merchant_id xmlns="">423422</merchant_id>
<billnumber xsi:type="xsd:string" xmlns="">500000210031071.1</billnumber>
<login xsi:type="xsd:string" xmlns="">login</login>
<password xsi:type="xsd:string" xmlns="">password</password>
<amount xsi:type="xsd:string" xmlns="">23.23</amount>
<currency xsi:type="xsd:string" xmlns="">RUB</currency>
</WSCancelRequestParams>
</Body>
</Envelope> |
Список параметров ответа:
Название | Значение |
Параметрызаказа(секция<order>) | |
billnumber | Уникальный номер заказа в системе АПК Ассист |
ordernumber | Номер заказа |
testmode | Тестовый режим |
ordercomment | Комментарий |
orderamount | Оригинальная сумма заказа |
ordercurrency | Оригинальная валюта заказа |
rate | Курс валюты |
orderdate | Дата заказа по Гринвичу (GMT) |
orderstate | Статус заказа |
Данныеоплательщике(секция<customer>) | |
firstname | Имя плательщика |
lastname | Фамилия плательщика |
middlename | Отчество плательщика |
Email плательщика | |
Параметрыоперации(повторяющаяся секция <operation>) | |
billnumber | Уникальный номер операции (расширенный формат: billnumber.<номер операции>) |
operationtype | Код типа операции |
operationstate | Состояние операции |
amount | Сумма операции |
currency | Валюта операции |
ipaddress | IP-адрес плательщика |
meantype_id | Тип платежного средства |
meansubtype | Подтип платежного средства |
meannumber | Номер платежного средства |
cardholder | Держатель платежного средства |
cardexpirationdate | Срок действия карты |
issuebank | Название банка-эмитента |
bankcountry | Страна банка-эмитента |
responsecode | Код возврата |
message | Сообщение о результате операции |
customermessage | Сообщение о результате для покупателя |
recommendation | Рекомендация |
approvalcode | Код авторизации |
protocoltypename | Протокол |
processingname | Процессинг |
operationdate | Дата и время операции (GMT) |
slipno | Номер финансовой транзакции, отправляемый в процессинг |
Свойствапакетаданных(внутри<result>) | |
packetdate | Дата формирования запроса по Гринвичу (GMT) |
signature | Подпись. Формируется по следующему алгоритму: 1. Формируется объединённая строка из параметров (в их строковом представлении, в формате как они переданы в ответе): billnumber, ordernumber, responsecode, orderamount, ordercurrency, meannumber, approvalcode, orderstate, packetdate (без разделителей). |
| Multiexcerpt include | ||||
|---|---|---|---|---|
|
Пример результата запроса отмены платежа или возврата средств:
| Code Block | ||
|---|---|---|
| ||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://www.paysecure.ru/ws/">
<soapenv:Body><ws:WSCancelResponseParams>
<order>
<billnumber>500000210031071</billnumber>
<ordernumber>14092012-002</ordernumber>
<testmode>0</testmode>
<ordercomment>тестовый платеж</ordercomment>
<orderamount>4010.00</orderamount>
<ordercurrency>RUB</ordercurrency>
<rate>1</rate>
<orderdate>14.09.2017 09:29:38</orderdate>
<orderstate>Canceled</orderstate>
<customer>
<firstname>Testov</firstname>
<lastname>Test</lastname>
<middlename>T</middlename>
<email>test@test.ru</email>
</customer>
<operation>
<billnumber>500000210031071.3</billnumber>
<operationtype>300</operationtype>
<operationstate>Завершено успешно.</operationstate>
<amount>4010.00</amount>
<currency>RUB</currency>
<ipaddress>10.10.10.10</ipaddress>
<meantype_id>1</meantype_id>
<meansubtype></meansubtype>
<meannumber>411111****1111</meannumber>
<cardholder>TEST</cardholder>
<cardexpirationdate>12/20</cardexpirationdate>
<issuebank>Bank T</issuebank>
<bankcountry>Россия</bankcountry>
<responsecode>AS000</responsecode>
<message></message>
<customermessage>Завершено успешно</customermessage>
<recommendation></recommendation>
<approvalcode>X34209</approvalcode>
<protocoltypename></protocoltypename>
<processingname>Fake</processingname>
<operationdate>14.09.2017 09:33:51</operationdate>
<slipno>112211</slipno>
</operation>
</order>
<packetdate>14.09.2017 09:33:57</packetdate>
<signature>kA0DAAIRzfHw5YyCW...bQnThrGPVGBK6gh9bxUl1w==</signature>
</ws:WSCancelResponseParams></soapenv:Body>
</soapenv:Envelope> |
| Expand | |||||
|---|---|---|---|---|---|
| |||||
|
Пример результата запроса, вернувшего ошибку (неверная сумма):
| Code Block | ||
|---|---|---|
| ||
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server.generalException</faultcode><faultstring/><detail><ns:WSException
xmlns:ns="http://www.paysecure.ru/ws/">
<firstcode>5</firstcode><secondcode>108</secondcode>
</ns:WSException></detail>
</soapenv:Fault></soapenv:Body></soapenv:Envelope>
|