Developers

API and connection documentation

Проверка возможности совершить платеж

Перед тем как принять деньги от покупателя по счету, платежный гейт может вызвать скрипт магазина Check URL с помощью метода Request Method. В случае если при инициализации платежа магазином была выбрана кодировка отличная от utf-8, запрос будет производиться в установленной магазином кодировке. Гейт передает информацию о номере и свойствах заказа и ожидает ответа в течение 30 секунд. Отсутствие ответа за указанное время воспринимается как временный отказ от платежа, в этом случае вызов Check URL может быть повторен позже, если он будет снова инициирован платежной системой. Вызов скрипта Check URL происходит только в случае, если такая возможность поддерживается платежной системой, через которую происходит платеж. Если Check URL определен пустым в момент инициализции платежа или не указан в момент инициализации платежа, а в настройках магазина установлен пустым, то шаг проверки возможности совершить платеж пропускается и считается, что магазин согласен принять платеж.

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

pg_order_id Идентификатор платежа в системе продавца
pg_payment_id Внутренний идентификатор платежа в системе paybox.money
pg_amount Сумма выставленного счета (в валюте pg_currency), совпадает с pg_amount в момент инициации платежа
pg_currency Валюта выставленного счета, совпадает с pg_currency в момент инициации платежа
pg_ps_amount Сумма счета (в валюте pg_ps_currency), выставленного в ПС
pg_ps_full_amount Полная сумма (в валюте pg_ps_currency), которую заплатит покупатель с учетом всех комиссий
pg_ps_currency Валюта, в которой будет произведен платеж в платежной системе
pg_payment_system Идентификатор платежной системы
Параметры продавца Все поля, переданные с веб-сайта продавца, не имеющие префикса "pg_"
pg_salt Случайная строка
pg_sig Подпись

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

http://store.ru/check.php? pg_salt=8765&pg_order_id=654&pg_payment_id=765432&pg_payment_system= WEBMONEYR&pg_amount=100.00&pg_currency=KZT&pg_net_amount=95.00&pg_ps_amount=100.00&pg _ps_currency=KZT&pg_ps_full_amount=100.80&pg_sig=bfc5f9d237952f56bd05c602d287096e&uservar1=4 5363456

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

<?xml version="1.0" encoding="utf-8"?>
8765
654
765432
WEBMONEYR
100.00
KZT
KZT
100.00
100.00
45363456
bfc5f9d237952f56bd05c602d287096e

В случае если магазин подтверждает готовность заказа и правильность суммы,
он должен ответить в виде XML со статусом ok.


654j8rlvbyuj
ok
300
6e952f52d23770986bd05c6fc5f902db

Статус rejected воспринимается как окончательный отказ, в этом случае поле pg_description выводится пользователю как причина отказа (если такая возможность поддерживается платежной системой), а счет аннулируется. Магазин должен быть готов к тому, что даже после ответа rejected, тем не менее, Check URL может быть вызван снова (например, в случае если PayBox не дождался ответа магазина).


654j8rlvbyuj
rejected
Срок оплаты заказа истек
d2377096e952f5286bd05c602dbfc5f9

Статус error воспринимается как временный сбой на стороне магазина. Счет остается активным, а запрос о возможности проведения платежа может быть сделан снова, если снова будет инициирован пользователем.


654j8rlvbyuj
error
1000
database connection failed
8a417096e952f5286bd05c602dbfc562

Описание полей в ответе магазина на запрос PayBoxа о возможности совершения платежа:

pg_status ok – платеж разрешен
rejected – отказ от платежа
error – ошибка в интерпретации данных
pg_description (string[1024]) – В случае разрешения платежа – поле не обязательно. В случае отказа от платежа, описание причины отказа для клиента. В случае ошибки – описание ошибки, может дублировать поле pg_error_description.
pg_timeout (int[10]) время в секундах, в течение которого ожидается оплата, по умолчанию 600 секунд
pg_error_description Описание ошибки в случае pg_status=error
pg_salt Случайная строка
pg_sig Подпись

В случае недоступности сервера продавца в момент вызова Check URL или получения ответа, который невозможно интерпретировать, платеж также будет временно отменен.

Need a consultation?

Send an enquiry and our managers will contact you in 15 minutes.