Магазин может осуществить выплату денег в адрес своего клиента без привязки к предшествующей оплате через Platron. Это может быть полезно, например, если платеж был принят не через Platron, или когда необходимо одной операцией возвратить деньги сразу по нескольким платежам одного клиента. Данная процедура возможна только после согласования проведения выплат с менеджером. Если от менеджера поступает отказ в разрешении произведения выплат, делается выплата с привязкой к транзакции.
Для создания выплаты необходимо отправить запрос на скрипт по адресу https://www.platron.ru/create_moneyback.php
При запросе могут быть переданы следующие параметры:
Название (обязательные поля выделены жирным) | Описание |
pg_merchant_id | Идентификатор магазина |
pg_contract_id | Номер контракта, по которому будет произведена выплата |
pg_moneyback_system | Название платежной системы, через которую будет производиться выплата |
pg_amount | Сумма выплаты в валюте RUB |
pg_description | Описание |
pg_salt | Случайная строка |
pg_sig | Подпись |
pg_payment_id | Номер транзакции в системе Platron |
additional_value | Дополнительные параметры для каждой ПС свои (см. Системы для выплат и параметры) |
Для каждой ПС может существовать свой набор обязательных дополнительных параметров, которые необходимо передавать при запросе на создание выплаты, эти параметры будут возвращены при запросе на список доступных ПС.
Пример запроса с дополнительными параметрами (выделены жирным):
https://www.platron.ru/create_moneyback.php?pg_merchant_id=82&pg_contract_id=24258&pg_payment_id=22568489&pg_moneyback_system=CONTACT_O&pg_amount=120.00&pg_description=Тестовая_выплата&pg_salt=732343&bName=Фамилия_получателя&bLastName=Имя&bSurName=Отчество получателя&pg_sig=4f22f5a4903738a69e3ac74b96b23d4e
Пример ответа:
<?xml version="1.0" encoding="utf-8"?> <response> <pg_status>ok</pg_status> <pg_moneyback_id>727188</pg_moneyback_id> <pg_salt>kdjdope983</pg_salt> <pg_sig>a3fc5f602d287096ed237952f56bd5fa</pg_sig> </response>
Ответ будет содержать результат попытки создания выплаты. В случае ошибки, появится поле pg_error_code с номером ошибки и поле pg_description с описанием ошибки
Пример ответа в случае ошибки в запросе:
<?xml version="1.0" encoding="utf-8"?> <response> <pg_status>error</pg_status> <pg_error_code>100</pg_error_code> <pg_description>Описание ошибки</pg_description> <pg_salt>kdjdope983</pg_salt> <pg_sig>a3fc5f602d287096ed237952f56bd5fa</pg_sig> </response>
Коды ошибок:
340 | Возврат не найден |
200 | Отсутствует необходимый параметр |
400 | Сумма выплаты больше суммы транзакции |
101 | Магазин не найден |
100 | Неверная подпись запроса |
Статусы:
ok | Успешно |
pending | В процессе |
canceled | Выплата отменена |
Если передан параметр pg_payment_id, то выплата привязывается к транзакции и сумма выплаты не может превышать сумму прямой транзакции, в противном случае будет возвращена ошибка.
Можно делать выплату по транзакции не на полную сумму. Или же несколько выплат, до тех пор пока общая сумма выплат не будет превышать сумму прямой транзакции.