Page History
В том случае, если предприятие не может доставить покупателю оплаченный по кредитной карте товар или услугу, либо покупатель отказался от сделки, можно отменить авторизацию по кредитной карте или сделать возврат средств (полный или частичный). Совершить отмену или возврат средств можно в Личном кабинете предприятия в системе АПК Ассист либо с помощью веб-сервиса.
В системе АПК Ассист возможны следующие виды Особенности осуществления отдельных видов возвратов и отмен:
Отмена авторизации (on-line отмена)
Выполняется обычно – процедура отмены авторизации по кредитной карте до момента формирования финансовой транзакции. Отмену авторизации обычно можно сделать в течение тех же суток, в которые была совершена авторизациия. Отмену авторизации можно сделать позднее чем через сутки в том случае, если у предприятия есть соглашение с АПК Ассист об отложенном финансовом подтверждении, или предприятие работает по двустадийному механизму работы и еще не совершено финансовое подтверждение оплаты. В любом случае отмена авторизации не может быть совершена позже установленного процессингом срока.
Частичная отмена
Допустима – допустима для процессингов, имеющих соответствующие настройки (в частности, UCS, Мультикарта), до момента формирования финансовой транзакции. Если после успешной авторизации была совершена частичная отмена, то финансовая транзакция будет сформирована на оставшуюся сумму платежа. Частичная отмена отплаты для предприятий, работающих по двустадийному механизму, возможна только после совершения финансового подтверждения (но до момента отправки финансовой транзакции), и с финансовой точки зрения аналогична частичному подтверждению оплаты.
Возврат средств (refund) – процедура частичного или полного возврата денежных средств покупателю по оплате, ранее совершенной в интернет-магазине предприятия с использованием кредитной карты. Операция refund осуществляется
Осуществляется после формирования финансовой транзакции.
...
Отмена финансовой транзакции
Подразумевает – процедура отмены операции оплаты с использованием кредитной карты, по которой была проведена авторизация, после формирования финансовой транзакции. Операция отмены финансовой транзакции подразумевает полный возврат денежных средств с учетом возможной разницы курсов валют на даты оплаты и возврата средств.
Отмена финансовой транзакции осуществляется только на полную сумму оплаты и только для процессингов UCS, Райффайзенбанк по картам VISA и MasterCard в том случае, если причиной является отказ магазина от операции (параметр CancelReason=1) или операция оплаты – мошенническая (параметр CancelReason=3).Обратите внимание, что для
| Note |
|---|
Для операции отмены финансовой транзакции некоторые процессинги (в частности, UCS) устанавливают особые финансовые условия. |
Для процессинга Райффайзенбанк период проведения отмены финансовой транзакции ограничен и составляет 39 дней (после истечения этого периода возможно проведение refund).
Порядок проведения отмен и возвратов в Личном кабинете описан в соответствующем разделе инструкции по работе с Личным кабинетом.
Можно также совершить отмену или возврат средств при помощи веб-сервиса. Для этого нужно послать HTTP POST или SOAP запрос (в кодировке UTF-8) к серверу АПК Ассист.
URL запроса для формата HTTP POST: https://<SERVER-NAME>/cancel/cancel.cfm
URL запроса для формата SOAP: https://<SERVER-NAME>/cancel/wscancel.cfm
Сервис wscancel в ответе на запрос может отдавать несколько вложенных операций, если в результате запроса на отмену было инициировано несколько операций отмены.
Особенности возвратов по электронным кошелькам
При возврате денежных средств по какому-либо из электронных кошельков сумма возврата не должна превышать баланс мерчанта за текущий день (сумма всех успешных платежей по данному электронному кошельку за текущий день с учетом комиссии банка минус сумма всех успешных возвратов за текущий день). Частичные отмены оплат по электронным кошелькам запрещены в течение календарных суток (по часовому поясу Москвы).
...
При возвратах платежей по QIWI, выполненных с помощью web-интерфейсов, обычно система АПК Ассист сразу передает на запрос отмены заказа соответствующий успешный статус, однако, в некоторых случаях передается ответ со статусом операции «In Process» (responsecode=AS300). Это связано с задержкой при выдаче результата отмены платежной системой QIWI. Для получения реального результата в этом случае следует отправить дополнительный запрос на получение результатов операций по номеру заказа через несколько минут после запроса на отмену. В случае нескольких отмен результат запроса будет содержать несколько вложенных операций типа 300 (Отмена), имеющих различные значения параметра billnumber в расширенном формате (например, 5700027202722028.3).
Список параметров запроса:
...
Название
...
Обязательное поле
...
Принимаемые значения
...
Значение по умолчанию
...
Описание
...
Billnumber
...
Да
...
15 или 16 цифр
Расширенный формат
...
Номер платежа, соответствующий заказу в системе АПК Ассист, допускается передача расширенного номера платежа
...
Merchant_ID
...
Да
...
Число
...
Идентификатор предприятия в АПК Ассист
...
Login
...
Да
...
8 - 20 символов
...
Логин (лат. буквы и цифры, символ _)
...
Password
...
Да
...
8 - 20 символов
...
Пароль (лат. буквы и цифры)
...
Amount
...
Нет*
...
Число, 15 цифр
(разделители «.», «,»)
...
Сумма авторизации
...
Сумма возврата средств
...
Currency
...
Нет*
...
3 символа
...
Код валюты авторизации
...
Код валюты отмены или возврата средств. Может быть использован только код валюты авторизации
...
CancelReason
...
Нет
...
1 – Отказ магазина
2 – Отказ покупателя
3 – Мошенническая операция
...
1
...
Причина отмены или возврата
...
Language
...
Нет
...
RU – русский
EN – английский
...
RU
...
Язык выдачи результатов
...
ClientIP
...
Нет
...
Максимум 15 цифр, 4 разделителя «.»
...
IP компьютера оператора, производящего отмену/возврат.
...
Format
...
Нет
...
1 – CSV
2 – WDDX
3 – XML
4 – SOAP
...
Формат входных данных, 4 для сервиса wscancel
...
Формат выдачи результатов
* Параметры Amount, Currency могут присутствовать или отсутствовать в запросе только одновременно. В случае отсутствия параметров операция отмены оплаты будет проведена на полную сумму.
| Multiexcerpt include | ||||
|---|---|---|---|---|
|
...
Отмена или возврат средств является успешной, если код возврата операции отмены responsecode AS000 (операция успешно завершена), оба кода firstcode=0, secondcode=0, статус заказа при этом становится Canceled (Отменен) или PartialCanceled (Отменен частично).
Для неуспешной отмены код возврата responsecode принимает значения AS100-AS998. Если запрос на возврат или отмену не может быть обработан, в результате запроса вернутся ненулевые значения параметров firstcode, secondcode.
Тип совершаемой транзакции (on-line отмена, возврат средств (refund), отмена финансовой транзакции, частичная отмена) будет определен системой АПК Ассист автоматически в зависимости от суммы (полная или частичная отмена), процессинга, типа карты, наличия финансовой транзакции для родительской авторизации и причины возврата.
...
Пример запроса HTTP POST для отмены оплаты по банковской карте:
| Code Block | ||
|---|---|---|
| ||
<FORM ACTION="https://<SERVER-NAME>/cancel/cancel.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:
| 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> |
| Warning |
|---|
Примечание. Поле <slipno> используется только для процессингов UCS, Райффайзенбанк, Мультикарта и Русский стандарт. Возможные значения этого параметра в ответах описаны в табл.5.14 . |
Пример результата запроса в формате XML, вернувшего ошибку (неправильный пароль):
| Code Block | ||
|---|---|---|
| ||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<!DOCTYPE result [...]>
<result firstcode="7" secondcode="102" count="0"></result> |
С описанием первого и второго кодов автоматизированных интерфейсов можно ознакомиться в Таблице 5.12 . Также в таблицах 5.1, 5.2, 5.4, 5.8 Приложения описаны возможные статусы заказа, типы операций, коды возврата и коды валют соответственно. В качестве значения поля <meannumber> возвращаются первые 6 и последние 4 цифры номера карты, остальные цифры скрыты символом *.
Веб-сервис для формата SOAP (wscancel)
Описание веб-сервиса для формата 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> |
Список параметров ответа:
...
Название
...
billnumber
...
Уникальный номер заказа в системе АПК Ассист
...
ordernumber
...
Номер заказа
...
testmode
...
Тестовый режим
...
ordercomment
...
Комментарий
...
orderamount
...
Оригинальная сумма заказа
...
ordercurrency
...
Оригинальная валюта заказа
...
rate
...
Курс валюты
...
orderdate
...
Дата заказа по Гринвичу (GMT)
...
orderstate
...
Статус заказа
...
firstname
...
Имя плательщика
...
lastname
...
Фамилия плательщика
...
middlename
...
Отчество плательщика
...
...
Email плательщика
...
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
...
Номер финансовой транзакции, отправляемый в процессинг
...
packetdate
...
Дата формирования запроса по Гринвичу (GMT)
...
signature
...
Подпись. Формируется по следующему алгоритму:
1. Формируется объединённая строка из параметров (в их строковом представлении, в формате как они переданы в ответе): merchant_id, ordernumber, orderamount, ordercurrency, orderstate, packetdate (без разделителей)
2. Полученная строка подписывается закрытым ключом АПК Ассист.
3. Итоговая последовательность байт кодируется в BASE64.
| Note |
|---|
Примечание. Поле <slipno> используется только для процессингов UCS, Райффайзенбанк, Мультикарта и Русский стандарт. Возможные значения этого параметра в ответах описаны в табл.5.14 . |
Пример результата запроса отмены платежа или возврата средств:
| 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> |
Пример результата запроса, вернувшего ошибку (неверная сумма):
| 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>
|
...