Точка доступа
Прием
Адрес основного сервера:
api.paybox.ru
Проведение платежа
URL запроса
Поля запроса
POST https://api.paybox.ru /g2g/payment
(Данные параметры могут в себя включать параметры из других разделов. Для эффективной работы Securebox рекомендуется придерживаться рекомендаций по валидации и примерам полей из этого раздела)
Параметры для эффективной работы антифрод-сервиса SecureBox
Необязательные параметры, нужные при оплате через токенизированные ПС
Параметры ответа
Параметры ответа на успешный запрос:
В случае ошибок, будут дополнительные параметры ответа:
Параметры запроса в ACS сервер банка эмитента:
Url сервера можно получить из параметра pg_3d_acsurl.
На этой странице клиент вводит свой 3ds пароль.
Примечание. В случае, если на карте установлен 3ds, необходимо сделать запрос в ACS сервер банка эмитента карты.
Ответ в случае успеха:
Запрос на result_url магазина. Результат платежа
Пример положительного ответа магазина
Запрос

curl --location --request POST '{{result_url}}' \
--form 'pg_order_id=123456789' \
--form 'pg_payment_id=12345' \
--form 'pg_amount=500' \
--form 'pg_currency=KZT' \
--form 'pg_net_amount=482.5' \
--form 'pg_ps_amount=500' \
--form 'pg_ps_full_amount=500' \
--form 'pg_ps_currency=KZT' \
--form 'pg_description=Покупка в интернет магазине Site.kz' \
--form 'pg_result=1' \
--form 'pg_payment_date=2019-01-01 12:00:00' \
--form 'pg_can_reject=1' \
--form 'pg_user_phone=7077777777777' \
--form 'pg_user_contact_email=mail@customer.kz' \
--form 'pg_need_email_notification=1' \
--form 'pg_testing_mode=1' \
--form 'pg_captured=0' \
--form 'pg_card_pan=5483-18XX-XXXX-0293' \
--form 'Параметры мерчанта=' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{paybox_signature}}' \
--form 'pg_payment_method=bankcard'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_description>Заказ оплачен</pg_description>
    <pg_salt>random string</pg_salt>
    <pg_sig>ksdjrimzjedkljsujjemnjsuj</pg_sig>
</response>
Пример отрицательного ответа магазина
Запрос

curl --location --request POST '{{result_url}}' \
--form 'pg_order_id=123456789' \
--form 'pg_payment_id=12345' \
--form 'pg_amount=500' \
--form 'pg_currency=KZT' \
--form 'pg_net_amount=482.5' \
--form 'pg_ps_amount=500' \
--form 'pg_ps_full_amount=500' \
--form 'pg_ps_currency=KZT' \
--form 'pg_description=Покупка в интернет магазине Site.kz' \
--form 'pg_result=0' \
--form 'pg_payment_date=2019-01-01 12:00:00' \
--form 'pg_can_reject=1' \
--form 'pg_user_phone=7077777777777' \
--form 'pg_user_contact_email=mail@customer.kz' \
--form 'pg_need_email_notification=1' \
--form 'pg_testing_mode=1' \
--form 'pg_captured=0' \
--form 'pg_card_pan=5483-18XX-XXXX-0293' \
--form 'Параметры мерчанта=' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{paybox_signature}}' \
--form 'pg_payment_method=bankcard'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>rejected</pg_status>
    <pg_description>Платеж отменен</pg_description>
    <pg_salt>random string</pg_salt>
    <pg_sig>ksdjrimzjedkljsujjemnjsuj</pg_sig>
</response>
После приема оплаты от клиента или при невозможности совершить платеж Paybox вызывает Result URL магазина и передает на него методом Request Method информацию о результате платежа.
При получении данного запроса мерчант должен произвести необходимые действия для передачи товара или услуги покупателю, в случае если платеж был успешным. Если pg_can_reject равно 1 и мерчант не может принять платеж (например, бронь на билеты истекла), он обязан ответить со статусом rejected, и Paybox отзовет платеж. В этом случае поле pg_description из ответа мерчанта показывается пользователю как причина отказа.

Result URL на стороне мерчанта должен быть общедоступным, без авторизации.

Если сервер мерчанта недоступен в момент вызова Result URL или ответ от сервера был не со статусом 200, Paybox будет предпринимать повторные попытки его вызвать каждые полчаса в течение 2 часов, даже если время жизни счета pg_lifetime истечет.

Если первая попытка вызова Result URL оказалась неуспешной, то платеж не отменяется, и в последующих вызовах Result URL не позволяет магазину отказаться от платежа.

Магазин должен быть готов к тому, что Result URL будет вызван повторно для одного и того же платежа. Ответы на повторные вызовы должны совпадать с первоначальным ответом, даже если время жизни транзакции pg_lifetime истекло.

Ответ на result_url от мерчанта

Статус rejected может быть возвращен мерчантом только в случае, когда во входящем запросе от гейта был указан параметр pg_can_reject равный 1, в противном случае, вне зависимости от ответа мерчанта, платеж будет считаться совершенным. Если мерчант отказался от платежа (ответил rejected), покупатель перенаправляется на Failure URL, иначе – на Success URL.

  • ok - платеж принят
  • rejected - отказ от платежа случае если pg_can_reject равен 1
  • error - ошибка в интерпретации данных

URL запроса
POST {{result_url}}
Поля запроса
Проведение платежа с 3DSecure после получения данных с ACS сервера
URL запроса
POST https://api.paybox.ru /g2g/paymentAcs
Поля запроса
Параметры ответа
Параметры ответа на успешный запрос:
В случае ошибок, будут дополнительные параметры ответа:
Списание платежа
URL запроса
POST https://api.paybox.ru /g2g/clearing
Поля запроса
Параметры ответа

Параметры ответа на успешный запрос:
В случае ошибок, будут дополнительные параметры ответа:
Отмена до списания платежа
URL запроса
POST https://api.paybox.ru /g2g/cancel
Поля запроса
Параметры ответа

Параметры ответа на успешный запрос:
В случае ошибок, будут дополнительные параметры ответа:
Возврат списанного платежа
URL запроса
POST https://api.paybox.ru /g2g/refund
Поля запроса
Параметры ответа

Параметры ответа на успешный запрос:
В случае ошибок, будут дополнительные параметры ответа:
Проверка статуса платежа
URL запроса
POST https://api.paybox.ru /g2g/status_v2
Поля запроса
Параметры ответа

При использовании параметра pg_order_id, платеж ищется только по родительскому платежу, возвраты не учитываются. При использовании параметра pg_payment_id ищутся платежи любого типа.

Параметры ответа на успешный запрос:
Массив для pg_refund_payments
Массив для pg_revoked_payments
В случае ошибок, будут дополнительные параметры ответа:
Длинная запись
Paybox предлагает возможность оплачивать заказ с данными относящиеся к длинной записи, для покупки авиабилетов (необходимы также все стандартные параметры проведения платежа)
URL запроса
POST https://api.paybox.ru /g2g/payment
Поля запроса
*Длинная запись — обязательное требование международных платежных систем VISA и MasterCard при заказе и оплате билетов для авиаперелётов.

*Примечание: как минимум должны быть указаны данные авиабилета (Имя пассажира и номер
билета) и один перелет.
Параметры ответа
Параметры ответа на успешный запрос:
В случае ошибок, будут дополнительные параметры ответа:
Безакцептное списание
URL запроса
POST https://api.paybox.ru /g2g/payment
Поля запроса
Метод: Данный сценарий похож на Сохраненной картой с вводом сvc. В случае, когда необходимо списание без ввода cvc и запроса к пользователю, необходимо согласовать и реализовать реккурентные платежи.

Подтвержденные карты помечаются статусом approved, в списке карт.

В данном сценарии запрос на проведение оплаты можно отправлять без участия пользователя
Инициализация платежа по карте
Оплата сохраненной картой происходит в два этапа:

  • Инициализация платежа
  • Проведение оплаты
Параметры ответа
В случае ошибок, будут дополнительные параметры ответа:
Метод свободного пополнения
URL запроса
POST https://api.paybox.ru /g2g/any_amount
Поля запроса
В случае, если вы хотите чтобы плательщик самостоятельно вводил сумму платежа, необходимо использовать данный метод.

При прохождении оплаты, плательщик сначала попадает на форму, где он вводит сумму платежа. Далее он перенаправляется на платежную страницу, где происходит оплата.
Параметры ответа
В случае ошибок, будут дополнительные параметры ответа:
Платежная страница
URL запроса
POST https://api.paybox.ru /g2g/payment_page
Поля запроса
Параметры ответа
В случае ошибок, будут дополнительные параметры ответа:
Тестовые карты