Магазин может отменить успешно завершившийся платеж, если платежная система это позволяет (например, Банковские карты). В этом случае деньги возвращаются покупателю. Вернуть можно как полную сумму платежа, так и часть суммы. Можно делать несколько частичных возвратов до тех пор, пока общая сумма возвратов не достигнет суммы первоначального платежа.
Отозвать платеж можно как из личного кабинета магазина, так и в автоматическом режиме путем вызова скрипта https://www.platron.ru/revoke.php. Параметры передаются одним из методов прямого запроса (см. Способы прямого взаимодействия между магазином и Platronом). Максимальное время ожидания ответа – 30 секунд.
Список параметров запроса (обязательные поля выделены жирным):
pg_merchant_id | Идентификатор магазина |
pg_payment_id | Идентификатор платежа |
pg_refund_amount |
Сумма возврата.
Если параметр не передан или передан 0, то возвращается вся сумма. |
pg_items |
Позиция чека для отправки в ОФД.
Формат данных такой же, как в поле pg_items в запросе на отправку чека в ОФД. |
pg_salt | Случайная строка |
pg_sig | Подпись |
pg_description | Описание. Если данный параметр не указан, то устанавливается значение по умолчанию: «from revoke.php» |
Пример GET запроса:
https://www.platron.ru/revoke.php?pg_salt=123&pg_merchant_id=456&pg_payment_id=1234567&pg_refund_amount=800&pg_description=возврат%20товара&pg_sig=6dd2a9d237952f56bd05c602d2872af8
Пример XML запроса (передается POST’ом в параметре pg_xml):
<?xml version="1.0" encoding="utf-8"?> <request> <pg_salt>123</pg_salt> <pg_merchant_id>456</pg_merchant_id> <pg_payment_id>1234567</pg_payment_id> <pg_refund_amount>800</pg_refund_amount> <pg_sig>6dd2a9d237952f56bd05c602d2872af8</pg_sig> </request>
Ответ на запрос представляет собой XML следующего вида в случае успешного выполнения запроса на отмену платежа:
<?xml version="1.0" encoding="utf-8"?> <response> <pg_salt>9865</pg_salt> <pg_status>ok</pg_status> <pg_sig>48caf9d237952f56bd05c602d28762da</pg_sig> </response>
В случае ошибки:
<?xml version="1.0" encoding="utf-8"?> <response> <pg_salt>9865</pg_salt> <pg_status>error</pg_status> <pg_error_code>490</pg_error_code> <pg_error_description>this transaction can’t be revoked</pg_error_description> <pg_sig>4df0f9d237952f56bd05c602d2873ed0</pg_sig> </response>
Здесь:
pg_status | Результат обработки запроса. |
pg_error_code | Код ошибки |
pg_error_description | Описание причины ошибки |
pg_salt | Случайная строка |
pg_sig | Подпись |