Магазин может запрашивать Platron о статусе любого платежа, инициированного магазином. Это может быть полезно, например, в случае если вызов Result URL не был получен магазином из-за временного сбоя связи, а покупатель уже был передан на Success URL, однако статус транзакции магазину еще не известен. Магазин делает запрос на https://www.platron.ru/get_status.php , параметры передаются одним из методов прямого запроса (см. Способы прямого взаимодействия между магазином и Platron). Максимальное время ожидания ответа – 30 секунд.
Список параметров запроса (все параметры обязательные):
pg_merchant_id | Идентификатор магазина |
pg_payment_id
или pg_order_id |
Идентификатор платежа в системе магазина или гейта.
Будьте внимательны, что при запросе по order_id магазин должен самостоятельно следить за уникальностью данного параметра иначе будет выдана информация для последнего платежа с данным order_id для данного магазина |
pg_salt | Случайная строка |
pg_sig | Подпись |
Пример GET запроса:
https://www.platron.ru/get_status.php?pg_salt=9865&pg_merchant_id=82&pg_payment_id=765432&pg_sig=a1b7ccc945c0a60949f6bd6383f5f768
Пример XML запроса (передается POST’ом в параметре pg_xml):
<?xml version="1.0" encoding="utf-8"?> <request> <pg_salt>9865</pg_salt> <pg_merchant_id>82</pg_merchant_id> <pg_payment_id>765432</pg_payment_id> <pg_sig>a1b7ccc945c0a60949f6bd6383f5f768</pg_sig> </request>
Ответ на запрос представляет собой XML вида:
<?xml version="1.0" encoding="utf-8"?> <response> <pg_salt>9865</pg_salt> <pg_status>ok</pg_status> <pg_payment_id>1234567</pg_payment_id> <pg_transaction_status>ok</pg_transaction_status> <pg_can_reject>1</pg_can_reject> <pg_create_date>2009-01-12 10:22:30</pg_create_date> <pg_result_date>2009-01-12 10:25:07</pg_result_date> <pg_payment_system>RUSSIANSTANDARD</pg_payment_system> <pg_card_brand>CA</pg_card_brand> <pg_card_pan>527594******4984</pg_card_pan> <pg_card_hash>022380c107141f7e11f4271d7f6412a715222c32</pg_card_hash> <pg_auth_code>014318</pg_auth_code> <pg_captured>0</pg_captured> <pg_sig>8380d43c7719e6ce48da0c79aa7eb2ba</pg_sig> <pg_qr_code>https://www.platron.ru/index.php/api/qr-code/getcustomer=c79a5520e313a8f836bb6fc17d0ffa7c3504513922</pg_qr_code> </response> <?xml version="1.0" encoding="utf-8"?> <response> <pg_salt>9865</pg_salt> <pg_status>ok</pg_status> <pg_payment_id>1234567</pg_payment_id> <pg_transaction_status>pending</pg_transaction_status> <pg_can_reject>1</pg_can_reject> <pg_create_date>2009-01-12 10:22:30</pg_create_date> <pg_accepted_payment_systems>EUROSET,EUROPLAT,QIWI</pg_accepted_payment_systems> <pg_sig>8380d43c7719e6ce48da0c79aa7eb2ba</pg_sig> <pg_qr_code>https://www.platron.ru/index.php/api/qr-code/getcustomer=c79a5520e313a8f836bb6fc17d0ffa7c3504513922</pg_qr_code> </response>
Здесь:
pg_status |
Результат обработки запроса (не путать со статусом платежа)
ok, если платеж найден и действительно принадлежит данному магазину error в любом другом случае. |
pg_payment_id | Внутренний идентификатор платежа в системе Platron |
pg_transaction_status | Статус платежа. См. Справочник статусов платежа |
pg_can_reject |
0 или 1 – может ли платеж быть отменен.
Значение 1 возможно только если статус платежа равен ok и платежная система предоставляет возможность отзыва платежа. В этом случае магазин может вызвать revoke.php как описано в следующем разделе. |
pg_create_date | Дата и время создания платежной транзакции |
pg_result_date | Дата и время успешного (ok) или неуспешного (failed) завершения платежа. Это дата вызова Result URL. Поле заполняется только когда статус транзакции равен ok, failed или revoked. |
pg_revoke_date | Дата и время отмены платежа. Поле заполняется только когда статус транзакции равен revoked. |
pg_payment_system | Идентификатор платежной системы, через которую прошел (должен пройти) платеж. |
pg_accepted_payment_systems | Список платежных систем, в которые удалось выставить платеж. Присутствует в случае статуса платежа pendind |
pg_card_brand | Бренд карты: CA – MasterCard и их продукты, VI – Visa, AX – AmericanExpress. Этот параметр передается только в случае успешной оплаты банковской картой. |
pg_card_pan | Маскированный номер карты (часть цифр номера карты скрыты). Этот параметр передается только в случае успешной оплаты банковской картой. |
pg_card_hash | Хешированный номер карты (номер карты, зашифрованный необратимым алгоритмом шифрования). Этот параметр передается только в случае успешной оплаты банковской картой. |
pg_auth_code | Код авторизации. Этот параметр передается только в случае успешной оплаты банковской картой. |
pg_captured |
0 или 1.
Передается только в случае успешной оплаты банковской картой и показывает, был ли произведен клиринг в момент авторизации (что зависит только от настроек магазина). Если значение этого поля равно 0, магазин должен в последующем дать команду на клиринг (см. раздел Запрос на клиринг транзакций по банковским картам) или дождаться когда Platron сделает это сам. |
pg_overpayment | Сумма переплаты в валюте платежной системы. Параметр передается только в случае когда клиент оплатил больше, чем от него ожидалось, и переплата разрешена в настройках магазина. Если оплачено ровно столько, сколько ожидалось, или статус транзакции отличен от ok, этот параметр не передается. |
pg_failure_code |
Также как аналогичное поле в вызове Result URL (см. выше).
Присутствует только в случае pg_transaction_status = failed или revoked. |
pg_failure_description |
Также как аналогичное поле в вызове Result URL (см. выше).
Присутствует только в случае pg_transaction_status = failed или revoked. |
pg_error_description | Описание ошибки выполнения запроса в случае pg_status=error (не путать с неудачной оплатой) |
pg_salt | Случайная строка |
pg_sig | Подпись |
pg_qr_code | QR ссылка на оплату транзакции |
Все даты записываются в формате YYYY-MM-DD hh:mm:ss.