Developers

API and connection documentation

Результат платежа

После приема денег от клиента или при невозможности совершить платеж PayBox вызывает Result URL магазина и передает на него методом Request Method информацию о результате платежа. В случае если при инициализации платежа магазином была выбрана кодировка отличная от utf-8, запрос будет производиться в установленной магазином кодировке. При получении данного запроса магазин должен произвести необходимые действия для передачи товара или услуги покупателю, в случае если платеж был успешным. Если pg_can_reject=1 и магазин не может принять платеж (например, бронь на билеты истекла), он обязан ответить со статусом rejected, и paybox.money отзовет платеж. В этом случае поле pg_description из ответа магазина показывается пользователю как причина отказа. Если сервер продавца недоступен в момент вызова Result URL (нет ответа более 30 секунд) или его ответ не удалось интерпретировать, paybox.money будет предпринимать повторные попытки его вызвать в течение 2 часов, даже если время жизни счета pg_lifetime истечет. Если первая попытка вызова Result URL оказалась неуспешной, то платеж не отменяется, и если платежная система позволяет отказаться от платежа только сразу после платежа, то PayBox принимает платеж у платежной системы и в последующих вызовах Result URL не позволяет магазину отказаться от платежа. Магазин должен быть готов к тому, что Result URL будет вызван повторно для одного и того же платежа. Ответы на повторные вызовы должны совпадать с первоначальным ответом, даже если время жизни транзакции (pg_lifetime) истекло.

Параметры, передаваемые при вызове Result URL:

pg_order_id Идентификатор платежа в системе продавца
pg_payment_id Внутренний идентификатор платежа в системе paybox.money
pg_amount Сумма выставленного счета (в валюте pg_currency), совпадает с pg_amount в момент инициации платежа
pg_currency Валюта выставленного счета, совпадает с pg_currency в момент инициации платежа
pg_net_amount Сумма (в валюте pg_currency), которая будет перечислена магазину, в случае успешного завершения платежа
pg_ps_amount Сумма счета (в валюте pg_ps_currency), выставленного в ПС. Поле может отсутствовать в случае неудачного платежа.
pg_ps_full_amount Полная сумма (в валюте pg_ps_currency), которую заплатил покупатель с учетом всех комиссий. Поле может отсутствовать в случае неудачного платежа.
pg_ps_currency Валюта, в которой был произведен платеж в платежной системе. Поле может отсутствовать в случае неудачного платежа.
pg_payment_system Идентификатор платежной системы
pg_description Этот параметр пустой или не передается. Будет удален в будущих версиях протокола.
pg_result 1 – успех, 0 – неудача
pg_can_reject 1 – платеж можно откатить назад (например, Банковские карты), 0 – платеж безотзывный. По умолчанию, pg_can_reject=0.
pg_user_phone Телефон покупателя (указанный при инициализации платежа)
pg_card_brand Бренд карты: CA – MasterCard и их продукты, VI – Visa, AX – AmericanExpress. Этот параметр передается только в случае успешной оплаты банковской картой.
pg_card_pan Маскированный номер карты (часть цифр номера карты скрыты). Этот параметр передается только в случае успешной оплаты банковской картой.
pg_auth_code Код авторизации. Этот параметр передается только в случае успешной оплаты банковской картой.
pg_captured 0 или 1. Передается только в случае успешной оплаты банковской картой и показывает, был ли произведен клиринг в момент авторизации (что зависит только от настроек магазина). Если значение этого поля равно 0, магазин должен в последующем дать команду на клиринг (см. раздел Запрос на клиринг транзакций по банковским картам) или дождаться когда PayBox сделает это сам.
pg_overpayment Сумма переплаты в валюте платежной системы. Параметр передается только в случае когда клиент оплатил больше, чем от него ожидалось, и переплата разрешена в настройках магазина. Если оплачено ровно столько, сколько ожидалось, этот параметр не передается.
pg_failure_code Код причины отказа (список кодов и их описание см. в разделе « Справочник причин отказа, возвращаемых в статусах платежей»). Поле присутствует только в случае неудачного платежа.
pg_failure_description Описание причины неудачи платежа. Передается на языке транзакции. Данное описание сформулировано в понятных пользователю терминах и может быть сообщено ему любым доступным способом. Поле присутствует только в случае неудачного платежа
pg_recurring_profile_expiry_date Дата, до которой рекуррентный профиль доступен к использованию
Параметры продавца Все поля, переданные с веб-сайта продавца, не имеющие префикса "pg_"
pg_salt Случайная строка
pg_sig Подпись

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

http://paybox.money/result.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_payment_date=2008-12-30+23:59:30&pg_can_reject= 0&pg_result=1&pg_sig=da61f9d237952f56bd05c602d28780b3&uservar1=45363456

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


8765
654
765432
TANSCRED
100.00
95.00
KZT
KZT
100.00
100.00
1
0
2008-12-30 23:59:30
CA
012345
45363456
da61f9d237952f56bd05c602d28780b3

Пример GET вызова магазина гейтом, при оплате по карточной платежной системе:

http://paybox.money/result.php?pg_salt=0bd68e&pg_order_id=654&pg_payment_id=765432&p g_amount=100.0000&pg_currency=RUB&pg_net_amount=100.00&pg_ps_amount=105.00&pg_ps _full_amount=105.00&pg_ps_currency=RUB&pg_payment_system=RUSSIANSTANDARD&pg_resu lt=1&pg_payment_date=2008-12-30+23:59:30&pg_can_reject=1&pg_card_brand=CA&pg_card_pan=527594******4984&pg_car d_hash=022380c107141f7e11f4271d7f6412a715222c32&pg_auth_code=014318&pg_captured= 0&pg_user_phone=79818244116&pg_need_phone_notification=1&pg_user_contact_email=t est@test.ru&pg_need_email_notification=1&uservar1=45363456&pg_sig=da61f9d237952f 56bd05c602d28780b3

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


0bd68e
654
765432
100.0000
KZT
100.00
105.00
105.00
KZT
TEST
1
2008-12-30 23:59:30
1
CA
527594******4984
022380c107141f7e11f4271d7f6412a715222c32
014318
0
79818244116
1
test@test.ru
1
45363456
da61f9d237952f56bd05c602d28780b3

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


654j8rlvbyuj
>pg_status>ok>/pg_status>
>pg_timeout>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.