API

  1. Домой
  2. API
  3. Оповещение о возврате платежа

Оповещение о возврате платежа

В случае полного или частичного возврата платежа на стороне Platron или платежной системы платежный гейт вызывает скрипт магазина Refund URL с помощью метода Request Method. Запрос будет производиться в кодировке, установленной магазином при инициализации платежа, по умолчанию, utf-8. Гейт передает информацию о номере и свойствах заказа и ожидает ответа в течение 30 секунд. Если сервер продавца недоступен в момент вызова Refund URL (нет ответа более 30 секунд) или его ответ не удалось интерпретировать, Platron будет предпринимать повторные попытки его вызвать в течение 2 часов.

Параметры вызова Refund URL:

Параметр Описание
pg_order_id Идентификатор платежа в системе продавца
pg_payment_id Внутренний идентификатор платежа в системе Platron
pg_amount Сумма выставленного счета (в валюте pg_currency), совпадает с pg_amount в момент инициации платежа
pg_currency Валюта выставленного счета, совпадает с pg_currency в момент инициации платежа
pg_net_amount Сумма (в валюте pg_ps_currency), которая будет списана с магазина
pg_ps_full_amount Полная сумма (в валюте pg_ps_currency), которая будет возвращена покупателю
pg_ps_currency Валюта, в которой будет произведен возврат платежа в платежной системе
pg_payment_system Идентификатор платежной системы
pg_refund_date Дата и время совершения отмены платежа в формате YYYY-MM-DD HH:MM:SS
pg_refund_type Тип возврата:

reversal – полный возврат до клиринга (для банковских карт)

refund – полный или частичный возврат

moneyback – полный или частичный возврат средствами, отличными от средства платежа

Различать reversal и refund имеет смысл только для банковских карт. Reversal может произойти только до клиринга, refund только после клиринга.
pg_refund_system Система выплат, через которую произведен возврат. Имеет смысл только в случае pg_refund_type=moneyback.

Возможные значения:

CONTACT_O – выплата через систему денежных переводов Контакт

MOBILEPHONE_O – зачисление денег на мобильный телефон.
pg_refund_id Уникальный идентификатор возврата для фильтрации повторных оповещений об одном и том же возврате.
Для каждого типа возврата ведется свой ряд уникальных идентификаторов возврата.
Параметры продавца Все поля, переданные с веб-сайта продавца, не имеющие префикса «pg_»
pg_salt Случайная строка
pg_sig подпись

Если был произведён возврат только части средств (например, частичный возврат по банковской карте), параметр pg_net_amount и pg_ps_full_amount содержат соответственно сумму, списанную с магазина и сумму, переданную на карту; pg_amount всегда содержит полную сумму счёта. Магазин должен быть готов к тому, что на один заказ может быть сделано несколько частичных возвратов.

Пример GET вызова магазина гейтом:

http://store.ru/refund.php?pg_salt=gw41b38vc&pg_order_id=2614&pg_payment_id=825941&pg_payment_system=CREDITCARD&pg_amount=100.00&pg_currency=RUB&pg_net_amount=100.00&pg_ps_currency=RUB&pg_ps_full_amount=100.80&pg_refund_date=2009-09-30 15:32:30&pg_sig=afaef9d237932f56bd05c602d287df3a&uservar1=45363456

Пример xml вызова (POST с XML в параметре pg_xml) магазина гейтом:

<?xml version="1.0" encoding="utf-8"?>
  <request>
	<pg_salt>gw41b38vc</pg_salt>
	<pg_order_id>2614</pg_order_id>
	<pg_payment_id>825941</pg_payment_id>
	<pg_payment_system>CREDITCARD</pg_payment_system>
	<pg_amount>100.00</pg_amount>
	<pg_net_amount>100.00</pg_net_amount>
	<pg_currency>RUB</pg_currency>
	<pg_ps_currency>RUB</pg_ps_currency>
	<pg_ps_full_amount>100.00</pg_ps_full_amount>
	<pg_refund_date>2009-09-30 15:32:30</pg_refund_date>
	<uservar1>45363456</uservar1>
	<pg_sig>afaef9d237932f56bd05c602d287df3a</pg_sig>
  </request>

Получив сообщение об отмене платежа, магазин должен ответить с указанием статуса ok.

<?xml version="1.0" encoding="utf-8"?>
  <response>
	<pg_salt>eyhfh42za22h</pg_salt>
	<pg_status>ok</pg_status>
	<pg_sig>ea362f52d23770986bd05c6fc5f9427d</pg_sig>
</response>

Список параметров ответа магазина:

Параметр Описание
pg_status ok – информация принята
error – ошибка в интерпретации данных
pg_error_description описание ошибки, в случае pg_status=error
pg_salt Случайная строка
pg_sig подпись