Выплаты
В этом разделе описана механика, когда Paybox выплачивает деньги на банковскую карту пользователя
Внимание!

Выплаты будут доступны для магазина только после разрешения личного менеджера и применения соответствующих настроек на стороне Paybox

Выплаты не могут быть тестовыми. Тестирование производится только выплатой определенной суммы на боевую карту
Платежная страница
Данный метод генерирует страницу, на которой получатель вводит pan своей карты. Далее Paybox производит выплату на эту карту
Выплата на несохранненную карту
Для использования данных запросов Вам следует обратиться к своему менеджеру.
Для выплаты в качестве secret_key используется

Генерация подписи:

$pg_merchant_id = {{{{paybox_merchant_id}}}};
$secret_key = {{{{paybox_merchant_secret}}}};
$request = [
    'pg_merchant_id'=> $pg_merchant_id,
    'pg_amount' => 10,
    'pg_order_id'=> 1234,
    'pg_description' => 'Описание платежа',
    'pg_post_link' => 'http://site.kz/post',
    'pg_back_link' => 'http://site.kz/back',
    'pg_order_time_limit' => '2020-12-31 12:00:00',
    'pg_salt' => 'some random string',
];
//generate a signature and add it to the array
ksort($request); //sort alphabetically
array_unshift($request, 'reg2nonreg');
array_push($request, $secret_key); 
$request['pg_sig'] = md5(implode(';', $request)); // signature
unset($request[0], $request[1]);
В случае успешного ответа, пользователя необходимо перенаправить на URL, указанный в параметре pg_redirect_url. Отобразится страница для ввода данных карты, на которой нужно совершить платеж

URL запроса
POST https://api.paybox.ru/api/reg2nonreg

Headers
Поля запроса
Параметры ответа
Post link запрос для мерчанта
После выплаты, будет вызван URL, указанный в pg_post_link
Сервер мерчанта должен ответить статусом 200
Post link на стороне мерчанта должен быть общедоступным, без авторизации.

URL запроса
POST {{post_link}}

Headers
Поля запроса
Получение статуса платежа по order_id
Partial - Платеж создан
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567617;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>4567617</pg_payment_id>
    <pg_transaction_status>partial</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_testing_mode>1</pg_testing_mode>
    <pg_captured>0</pg_captured>
    <pg_create_date>2020-05-21 18:44:21</pg_create_date>
    <pg_salt>u1aHmP4QyTxUqzXz</pg_salt>
    <pg_sig>574a9d2e4783cb3d5ea443e1cc4f9434</pg_sig>
</response>
Ok - Платеж успешен
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>511194</pg_payment_id>
    <pg_transaction_status>ok</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_captured>1</pg_captured>
    <pg_create_date>2021-08-26 11:52:25</pg_create_date>
    <pg_salt>41F5ZyqcOabTG5u7</pg_salt>
    <pg_sig>34484775bd62986753429d6af57e94eb</pg_sig>
</response>
Pending - Платеж в процессе выплаты
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>511194</pg_payment_id>
    <pg_transaction_status>ok</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_captured>1</pg_captured>
    <pg_create_date>2021-08-26 11:52:25</pg_create_date>
    <pg_salt>41F5ZyqcOabTG5u7</pg_salt>
    <pg_sig>34484775bd62986753429d6af57e94eb</pg_sig>
</response>
Failed - Платеж в ошибке
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>511180</pg_payment_id>
    <pg_transaction_status>failed</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_captured>0</pg_captured>
    <pg_create_date>2021-08-26 11:53:12</pg_create_date>
    <pg_failure_code>5</pg_failure_code>
    <pg_failure_description>Transaction declined</pg_failure_description>
    <pg_salt>VeJEycvwsTn74VEA</pg_salt>
    <pg_sig>aa65c7786f5cba0cd9e6a452bfbcc7a2</pg_sig>
</response>
Failed - Платеж не найден
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>error</pg_status>
    <pg_error_code>340</pg_error_code>
    <pg_error_description>Транзакция не найдена</pg_error_description>
</response>
Мерчант может запрашивать Paybox статус любого платежа, инициированного магазином. Это может быть полезно, например, в случае если вызов Post link не был получен мерчантом из-за временного сбоя связи, а покупатель уже был передан на Back URL, однако статус транзакции мерчанту еще не известен.

Генерация подписи:

$pg_merchant_id = {{{{paybox_merchant_id}}}};
$secret_key = {{{{paybox_merchant_secret}}}};

$request = [
    'pg_merchant_id'=> $pg_merchant_id,
    'pg_order_id' => 12345,
    'pg_salt' => 'some random string',
];

//generate a signature and add it to the array
ksort($request); //sort alphabetically
array_unshift($request, 'get_status2.php');
array_push($request, $secret_key); 

$request['pg_sig'] = md5(implode(';', $request)); // signature

unset($request[0], $request[1]);
URL запроса
POST https://api.paybox.ru/get_status2.php

Поля запроса
Параметры ответа
Получение статуса платежа по pg_payment_id
URL запроса
POST https://api.paybox.ru/api/payment_status

Поля запроса
Параметры ответа
Параметры ответа на успешный запрос:
Выплата по токену
Для работы этого метода мерчант должен предварительно сохранить карту пользователя(см. раздел "Сохранение карт").
После мерчант этим методом производит выплату на эту карту
Выплата на сохранненную карту
Для использования данных запросов Вам следует обратиться к своему менеджеру.
Генерация подписи:

$pg_merchant_id = {{{{paybox_merchant_id}}}};
$secret_key = {{{{paybox_merchant_secret}}}};
$request = [
    'pg_merchant_id'=> $pg_merchant_id,
    'pg_amount' => 10,
    'pg_order_id'=> 1234,
    'pg_user_id' => 1234,
    'pg_card_id_to' => 1234,
    'pg_description' => 'Описание платежа',
    'pg_post_link' => 'http://site.kz/post',
    'pg_back_link' => 'http://site.kz/back',
    'pg_order_time_limit' => '2020-12-31 12:00:00',
    'pg_salt' => 'some random string',
];
//generate a signature and add it to the array
ksort($request); //sort alphabetically
array_unshift($request, 'reg2reg');
array_push($request, $secret_key); 
$request['pg_sig'] = md5(implode(';', $request)); // signature
unset($request[0], $request[1]);
URL запроса
POST https://api.paybox.ru/api/reg2reg

Поля запроса
Параметры ответа
Post link запрос для мерчанта
После выплаты, будет вызван URL, указанный в pg_post_link
Сервер мерчанта должен ответить статусом 200
Post link на стороне мерчанта должен быть общедоступным, без авторизации.

URL запроса
POST {{post_link}}
Headers
Поля запроса
Получение статуса платежа по order_id
Partial - Платеж создан
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567617;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>4567617</pg_payment_id>
    <pg_transaction_status>partial</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_testing_mode>1</pg_testing_mode>
    <pg_captured>0</pg_captured>
    <pg_create_date>2020-05-21 18:44:21</pg_create_date>
    <pg_salt>u1aHmP4QyTxUqzXz</pg_salt>
    <pg_sig>574a9d2e4783cb3d5ea443e1cc4f9434</pg_sig>
</response>
Ok - Платеж успешен
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>511194</pg_payment_id>
    <pg_transaction_status>ok</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_captured>1</pg_captured>
    <pg_create_date>2021-08-26 11:52:25</pg_create_date>
    <pg_salt>41F5ZyqcOabTG5u7</pg_salt>
    <pg_sig>34484775bd62986753429d6af57e94eb</pg_sig>
</response>
Pending - Платеж в процессе выплаты
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>511194</pg_payment_id>
    <pg_transaction_status>ok</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_captured>1</pg_captured>
    <pg_create_date>2021-08-26 11:52:25</pg_create_date>
    <pg_salt>41F5ZyqcOabTG5u7</pg_salt>
    <pg_sig>34484775bd62986753429d6af57e94eb</pg_sig>
</response>
Failed - Платеж в ошибке
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>511180</pg_payment_id>
    <pg_transaction_status>failed</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_captured>0</pg_captured>
    <pg_create_date>2021-08-26 11:53:12</pg_create_date>
    <pg_failure_code>5</pg_failure_code>
    <pg_failure_description>Transaction declined</pg_failure_description>
    <pg_salt>VeJEycvwsTn74VEA</pg_salt>
    <pg_sig>aa65c7786f5cba0cd9e6a452bfbcc7a2</pg_sig>
</response>
Failed - Платеж не найден
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>error</pg_status>
    <pg_error_code>340</pg_error_code>
    <pg_error_description>Транзакция не найдена</pg_error_description>
</response>
Мерчант может запрашивать Paybox статус любого платежа, инициированного магазином. Это может быть полезно, например, в случае если вызов Post link не был получен мерчантом из-за временного сбоя связи, а покупатель уже был передан на Back URL, однако статус транзакции мерчанту еще не известен.

Генерация подписи:

$pg_merchant_id = {{{{paybox_merchant_id}}}};
$secret_key = {{{{paybox_merchant_secret}}}};

$request = [
    'pg_merchant_id'=> $pg_merchant_id,
    'pg_order_id' => 12345,
    'pg_salt' => 'some random string',
];

//generate a signature and add it to the array
ksort($request); //sort alphabetically
array_unshift($request, 'get_status2.php');
array_push($request, $secret_key); 

$request['pg_sig'] = md5(implode(';', $request)); // signature

unset($request[0], $request[1]);
URL запроса
POST https://api.paybox.ru/get_status2.php

Поля запроса
Параметры ответа
Получение статуса платежа по pg_payment_id
URL запроса
POST https://api.paybox.ru/api/payment_status

Поля запроса
Параметры ответа
Параметры ответа на успешный запрос:
На банковский счет (IBAN)
Для использования данных запросов Вам следует обратиться к своему менеджеру.
URL запроса

POST https://api.paybox.ru/api/to_iban
Поля запроса
Выплата на банковский счет KZT
Параметры ответа
Ответ на post_link от мерчанта
Post link запрос для мерчанта

<?xml version="1.0" encoding="UTF-8"?>
<pg_status>ok</pg_status>  
Сервер мерчанта должен ответить статусом 200
Post link на стороне мерчанта должен быть общедоступным, без авторизации.

URL запроса
POST {{post_link}}
Headers
Поля запроса
Ok - Платеж успешен
Запрос
Получение статуса платежа

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>511194</pg_payment_id>
    <pg_transaction_status>ok</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_captured>1</pg_captured>
    <pg_create_date>2021-08-26 11:52:25</pg_create_date>
    <pg_salt>41F5ZyqcOabTG5u7</pg_salt>
    <pg_sig>34484775bd62986753429d6af57e94eb</pg_sig>
</response>
Pending - Платеж в процессе выплаты
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>511194</pg_payment_id>
    <pg_transaction_status>ok</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_captured>1</pg_captured>
    <pg_create_date>2021-08-26 11:52:25</pg_create_date>
    <pg_salt>41F5ZyqcOabTG5u7</pg_salt>
    <pg_sig>34484775bd62986753429d6af57e94eb</pg_sig>
</response>
Failed - Платеж в ошибке
Запрос

curl --location --request POST 'https://api.paybox.ru/get_status2.php' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_order_id=00102' \
--form 'pg_salt=ijoi894j4ik39lo9' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'get_status2.php;{{{{paybox_merchant_id}}}};4567775;00102;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="utf-8"?>
<response>
    <pg_status>ok</pg_status>
    <pg_payment_id>511180</pg_payment_id>
    <pg_transaction_status>failed</pg_transaction_status>
    <pg_can_reject>0</pg_can_reject>
    <pg_captured>0</pg_captured>
    <pg_create_date>2021-08-26 11:53:12</pg_create_date>
    <pg_failure_code>5</pg_failure_code>
    <pg_failure_description>Transaction declined</pg_failure_description>
    <pg_salt>VeJEycvwsTn74VEA</pg_salt>
    <pg_sig>aa65c7786f5cba0cd9e6a452bfbcc7a2</pg_sig>
</response>
Мерчант может запрашивать Paybox статус любого платежа, инициированного магазином. Это может быть полезно, например, в случае если вызов Post link не был получен мерчантом из-за временного сбоя связи, а покупатель уже был передан на Back URL, однако статус транзакции мерчанту еще не известен.

Генерация подписи:

$pg_merchant_id = {{{{paybox_merchant_id}}}};
$secret_key = {{{{paybox_merchant_secret}}}};

$request = [
    'pg_merchant_id'=> $pg_merchant_id,
    'pg_order_id' => 12345,
    'pg_salt' => 'some random string',
];

//generate a signature and add it to the array
ksort($request); //sort alphabetically
array_unshift($request, 'get_status2.php');
array_push($request, $secret_key); 

$request['pg_sig'] = md5(implode(';', $request)); // signature

unset($request[0], $request[1]);
URL запроса
POST https://api.paybox.ru/get_status2.php

Поля запроса
Параметры ответа
Данный метод делает специальный запрос, после которого, пользователю на телефонный номер отправятся два смс с паролями.
Для получения наличных в банкомате, пользователю необходимо ввести указанные пароли, а также сумму, которую он намеревается вывести.
У пользователя есть 24 часа, чтобы снять наличные в банкомате, иначе операция завершиться с ошибкой, после чего сумма, указанная для снятия, снова вернется на баланс мерчанта в системе Paybox.
Метод не содержит никаких коллбэков. Мерчант должен сам опрашивать Paybox о статусе операции. Ниже будет описана рекомендуемая механика платежа.
Первая проверка статуса операции (снял ли пользователь сумму с банкомата или нет) произойдет три часа спустя, после инициации платежа. Если сумма с банкомата не снята, вторая попытка произойдет еще три часа спустя, этот повторяющийся процесс будет происходит в течении 24 часов после инициации платежа (всего Paybox будет запрашивать статус 8 раз).

Исходя из вышенаписанного, мерчант не должен проводить опрос статуса не чаще одного раза в три часа.
На банкомат
Пример успешного запроса
Запрос
Запрос на формирование платежа

curl --location --request POST 'https://api.paybox.ru/api/cbc/check' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_phone=7073175200' \
--form 'pg_amount=2000' \
--form 'pg_order_id=00102' \
--form 'pg_post_link=http://site.kz/post' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'check;2000;{{{{paybox_merchant_id}}}};00102;7073175200;some random string;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="UTF- 8"?>
<response>
    <pg_payment_id>765432</pg_payment_id>
    <pg_merchant_id>500001</pg_merchant_id>
    <pg_order_id>1234</pg_order_id>
    <pg_status>ok</pg_status>
    <pg_salt>yNSdZrM1pIA4NjRU5Csdm0L3NC92PZpo</pg_salt>
    <pg_sig>6304300d2a1d5d35cfbdc37ae8490c81</pg_sig>
</response>
Пример неуспешного запроса
Запрос

curl --location --request POST 'https://api.paybox.ru/api/cbc/check' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_phone=7073175200' \
--form 'pg_amount=2000' \
--form 'pg_order_id=00102' \
--form 'pg_post_link=http://site.kz/post' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'check;2000;{{{{paybox_merchant_id}}}};00102;7073175200;some random string;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="UTF-8"?>
<response>
    <pg_status>error</pg_status>
    <pg_error_code>101</pg_error_code>
    <pg_error_description>Empty merchant</pg_error_description>
    <pg_salt>yNSdZrM1pIA4NjRU5Csdm0L3NC92PZpo</pg_salt>
    <pg_sig>6304300d2a1d5d35cfbdc37ae8490c81</pg_sig>
</response>
Генерация подписи:

$pg_merchant_id = {{{{paybox_merchant_id}}}};
$secret_key = {{{{paybox_merchant_secret}}}};

$request = [
	'pg_merchant_id' => $pg_merchant_id,
	'pg_phone' => '7073175200',
	'pg_amount' => '2000',
	'pg_order_id' => '00102',
	'pg_post_link' => 'http://site.kz/post',
	'pg_salt' => 'some random string'
];


//generate a signature and add it to the array
ksort($request); //sort alphabetically
array_unshift($request, 'check');
array_push($request, $secret_key); 

$request['pg_sig'] = md5(implode(';', $request)); // signature

unset($request[0], $request[1]);
URL запроса
POST https://api.paybox.ru/api/cbc/check

Поля запроса
Параметры ответа
Пример успешного запроса
Запрос
Запрос на вывод средств

curl --location --request POST 'https://api.paybox.ru/api/cbc/exec' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_payment_id=486456456' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'exec;{{{{paybox_merchant_id}}}};486456456;some random string;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="UTF- 8"?>
<response>
    <pg_payment_id>765432</pg_payment_id>
    <pg_merchant_id>500001</pg_merchant_id>
    <pg_status>ok</pg_status>
    <pg_salt>yNSdZrM1pIA4NjRU5Csdm0L3NC92PZpo</pg_salt>
    <pg_sig>6304300d2a1d5d35cfbdc37ae8490c81</pg_sig>
</response>
Пример неуспешного запроса
Запрос

curl --location --request POST 'https://api.paybox.ru/api/cbc/exec' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_payment_id=486456456' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'exec;{{{{paybox_merchant_id}}}};486456456;some random string;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="UTF-8"?>
<response>
<pg_status>error</pg_status>
<pg_error_code>101</pg_error_code>
<pg_error_description>Empty merchant</pg_error_description>
<pg_salt>yNSdZrM1pIA4NjRU5Csdm0L3NC92PZpo</pg_salt>
<pg_sig>6304300d2a1d5d35cfbdc37ae8490c81</pg_sig>
</response>
Генерация подписи:

$pg_merchant_id = {{{{paybox_merchant_id}}}};
$secret_key = {{{{paybox_merchant_secret}}}};

$request = [
	'pg_merchant_id' => $pg_merchant_id,
	'pg_phone' => '7073175200',
	'pg_amount' => '2000',
	'pg_order_id' => '00102',
	'pg_salt' => 'some random string'
];


//generate a signature and add it to the array
ksort($request); //sort alphabetically
array_unshift($request, 'exec');
array_push($request, $secret_key); 

$request['pg_sig'] = md5(implode(';', $request)); // signature

unset($request[0], $request[1]);

URL запроса
POST https://api.paybox.ru/api/cbc/exec

Поля запроса
Параметры ответа
Пример успешного запроса
Запрос
Запрос на статуса по операции

curl --location --request POST 'https://api.paybox.ru/api/cbc/status' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_payment_id=486456456' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'status;{{{{paybox_merchant_id}}}};486456456;some random string;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="UTF- 8"?> <response>
<pg_payment_id>765432</pg_payment_id>
<pg_merchant_id>500001</pg_merchant_id>
<pg_order_id>1234</pg_order_id>
<pg_status>success</pg_status>
<pg_salt>yNSdZrM1pIA4NjRU5Csdm0L3NC92PZpo</pg_salt>
<pg_sig>6304300d2a1d5d35cfbdc37ae8490c81</pg_sig>
</response>
Пример неопределенного запроса
Запрос

curl --location --request POST 'https://api.paybox.ru/api/cbc/status' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_payment_id=486456456' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'status;{{{{paybox_merchant_id}}}};486456456;some random string;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="UTF- 8"?> <response>
<pg_payment_id>765432</pg_payment_id>
<pg_merchant_id>500001</pg_merchant_id>
<pg_order_id>1234</pg_order_id>
<pg_status>process</pg_status>
<pg_salt>yNSdZrM1pIA4NjRU5Csdm0L3NC92PZpo</pg_salt>
<pg_sig>6304300d2a1d5d35cfbdc37ae8490c81</pg_sig>
</response>
Пример неуспешного запроса
Запрос

curl --location --request POST 'https://api.paybox.ru/api/cbc/status' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_payment_id=486456456' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'status;{{{{paybox_merchant_id}}}};486456456;some random string;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="UTF-8"?>
<response>
<pg_status>error</pg_status>
<pg_error_code>75</pg_error_code>
 <pg_error_description> Истекло время исполнения перевода, получатель не снял деньги</pg_error_description>
 <pg_salt>yNSdZrM1pIA4NjRU5Csdm0L3NC92PZpo</pg_salt>
 <pg_sig>6304300d2a1d5d35cfbdc37ae8490c81</pg_sig>
</response>
Генерация подписи:

$pg_merchant_id = {{{{paybox_merchant_id}}}};
$secret_key = {{{{paybox_merchant_secret}}}};

$request = [
	'pg_merchant_id' => $pg_merchant_id,
	'pg_phone' => '7073175200',
	'pg_amount' => '2000',
	'pg_order_id' => '00102',
	'pg_salt' => 'some random string'
];


//generate a signature and add it to the array
ksort($request); //sort alphabetically
array_unshift($request, 'exec');
array_push($request, $secret_key); 

$request['pg_sig'] = md5(implode(';', $request)); // signature

unset($request[0], $request[1]);

URL запроса
POST https://api.paybox.ru/api/cbc/status

Поля запроса
Пример успешного запроса
Запрос
Получение баланса

curl --location --request POST 'https://api.paybox.ru/api/balance_status' \
--form 'pg_merchant_id={{{{paybox_merchant_id}}}}' \
--form 'pg_salt=some random string' \
--form 'pg_sig={{{{paybox_signature}}}}'
# Пример подписи:
'balance_status;{{{{paybox_merchant_id}}}};some random string;{{secret_key}}'
Ответ

<?xml version="1.0" encoding="UTF-8"?>
<response>
 <pg_balance>0.00</pg_balance>
 <pg_status>ok</pg_status>
 <pg_salt>osWRT1FtWr</pg_salt>
 <pg_sig>9087fd0c7a26334f53f83f0bd61e6b80</pg_sig>
</response>
Генерация подписи:

$pg_merchant_id = {{{{paybox_merchant_id}}}};
$secret_key = {{{{paybox_merchant_secret}}}};
$request = [
    'pg_merchant_id' => $pg_merchant_id,
    'pg_salt' => 'some random string'
];
//generate a signature and add it to the array
ksort($request); //sort alphabetically
array_unshift($request, 'balance_status');
array_push($request, $secret_key); 
$request['pg_sig'] = md5(implode(';', $request)); // signature
unset($request[0], $request[1]);
URL запроса
POST https://api.paybox.ru/api/balance_status

Поля запроса
Параметры ответа