Документация
Параметры
Описание | |
---|---|
merchant_id | Идентификатор проекта |
transaction_id | Номер платежа |
pay_id | Номер заказа в системе продавца |
amount | Сумма платежа. Важно! Cверяйте поступившее значение с оригинальной суммой платежа |
currency | Валюта платежа (см. валюты платежей). Важно! Cверяйте поступившее значение с оригинальной валютой платежа |
profit | Сумма к зачислению (в рублях) |
Адрес электронной почты плательщика | |
method | Метод платежа (см. платежные методы) |
status | Статус платежа (см. статусы платежей) |
test | Признак тестового режима:0 — реальный платеж;1 — тестовый платеж |
created_date | Дата и время создания платежа в формате DD.MM.YYYY hh:mm:ss |
completed_date | Дата и время обработки платежа в формате DD.MM.YYYY hh:mm:ss |
sign | Контрольная подпись |
Определяется продавцом | Дополнительные параметры |
185.162.128.38
, 185.162.128.39
, 185.162.128.88
.
Контрольня подпись
MD5Формирование подписи производится путем конкатенации параметров через ":" и создания контрольной суммы
MD5
. Склеиваются параметры merchant_id
, amount
, pay_id
и секретный ключ.SHA256
Формирование подписи производится путем конкатенации параметров через ":" и создания хэша
SHA256
. Склеиваются параметры currency
, amount
, pay_id
, merchant_id
, status
и секретный ключ.
Подтверждение платежа
При включении данной функции наш сервис будет отправлять запросы об успешной оплате каждые 10 минут в течение часа, до тех пор, пока не получит ответ от обработчика — OK
(латиница).
Пример обработчика (PHP)
<?php
$project_id = '1399';
$status = 'paid';
$secret_key = 'NLmx0woAqrgHYnMbDSVLChCJ77R8adf';
$arr_ip = array(
'185.162.128.38',
'185.162.128.39',
'185.162.128.88'
);
$arr_sign = array(
$_REQUEST['currency'],
$_REQUEST['amount'],
$_REQUEST['pay_id'],
$project_id,
$status,
$secret_key
);
$sign = hash('sha256', implode(":", $arr_sign));
if(!in_array($_SERVER['REMOTE_ADDR'], $arr_ip)){
die("bad ip!");
}
if($sign != $_REQUEST['sign']){
die('wrong sign!');
}
// Оплата прошла успешно, можно проводить операцию
die('OK');
?>