Магазин может отменить выставленный, но ещё не оплаченный счёт. После совершения этой операции Platron будет отказывать в проведении платежа на этапе проверки возможности проведения платежа (если ПС поддерживает этот запрос). Кроме того, производится аннулирование счёта в тех ПС, которые поддерживают эту операцию. Таким образом, отмена счёта не гарантирует невозможность его оплаты во всех ПС.
Для отмены выставленного счёта вызывается скрипт https://www.platron.ru/cancel.php. Параметры передаются одним из методов прямого запроса (см. Способы прямого взаимодействия между магазином и Platron). Максимальное время ожидания ответа – 30 секунд.
Список параметров запроса (все параметры обязательные):
pg_merchant_id | Идентификатор магазина |
pg_payment_id | Идентификатор счёта |
pg_salt | Случайная строка |
pg_sig | Подпись |
Пример GET запроса:
https://www.platron.ru/cancel.php?pg_salt=123&pg_merchant_id=456&pg_payment_id=1234567&pg_sig=628e300c3204c8ee398d878a5109b520
Пример 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_sig>628e300c3204c8ee398d878a5109b520</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>200</pg_error_code> <pg_error_description> transaction not found </pg_error_description> <pg_sig>ac08f9d237952f5bc4e5c602d2873481</pg_sig> </response>
Здесь:
pg_status | Результат обработки запроса. |
pg_error_code | Код ошибки |
pg_error_description | Описание причины ошибки |
pg_salt | Случайная строка |
pg_sig | Подпись |
Ответ «ok» означает, что заявка на отмену счёта принята. Счёт всё же может быть оплачен, если ПС, в которую был выставлен счёт, не поддерживает операции аннулирования счёта и не делает предварительных запросов на подтверждение возможности проведения платежа.
Если ПС не поддерживает отмену счёта, но поддерживает возврат денежных средств (например, TRANSCRED), Platron делает попытку отмены полученного платежа. В этом случае может взиматься дополнительная плата за операцию отмены платежа.