https://4clever.io/api/v1/pay/create
Поле | Тип | Обязательный | Описание |
---|---|---|---|
token |
String | Ваш токен | |
order_id |
String | Уникальный номер платежа в вашей системе | |
amount |
String | Сумма платежа | |
discount |
Int | Скидка для платежа, допускаемый % отклонения от суммы для зачисления платежа! | |
data |
Json | Объект, передаваемый на сервер вместе с уведомлением об успешном платеже | |
redirect_url |
String | URL куда будет перенаправлен пользователь после оплаты | |
callback_url |
String | URL для уведомлений |
$token = 'ВАШ ТОКЕН';
$order_id = time() . mt_rand();
$amount = 300;
$params = [];
$data = [
'token' => $token,
'order_id' => $order_id,
'amount' => $amount,
'discount' => 1,
'data' => json_encode($params),
'redirect_url' => '',
'callback_url' => ''
];
$ch = curl_init('https://4clever.io/api/v1/pay/create');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
$result = json_decode(curl_exec($ch));
curl_close($ch);
print_r($result->url);
Результатом в формате JSON вернёт:status
- статус запроса. hash
- хэш оплаты. url
- ссылка на страницу оплаты. https://4clever.io/api/v1/pay/get/{hash}
$ch = curl_init('https://4clever.io/api/v1/pay/get/{hash}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
$result = json_decode(curl_exec($ch));
curl_close($ch);
print_r($result);
Результатом в формате JSON вернёт:status
- статус запроса. data
- данные по платежу. https://4clever.io/api/v1/pay/approve
Поле | Тип | Обязательный | Описание |
---|---|---|---|
token |
String | Ваш токен | |
hash |
String | Хэш платежа |
$token = 'ВАШ ТОКЕН';
$data = [
'token' => $token,
'hash' => 'хэш платежа'
];
$ch = curl_init('https://4clever.io/api/v1/pay/approve');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data, '', '&'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, false);
$result = json_decode(curl_exec($ch));
curl_close($ch);
print_r($result);
Результатом в формате JSON вернёт:status
- статус запроса. Поле | Тип | Описание |
---|---|---|
hash |
String | Номер операции в нашей системе |
order_id |
String | Уникальный номер платежа в вашей системе |
amount |
Float | Сумма платежа |
data |
Json | Объект, передаваемый на сервер вместе с уведомлением об успешном платеже |
createdDateTime |
String | Время создания платежа |
status |
String | Статус платежа - PAID если платёж прошёл успешно |
$token = 'ТОКЕН ПОЛЬЗОВАТЕЛЯ';
$sign = $_SERVER['HTTP_SIGNATURE'];
$sign2 = hash_hmac('sha256', $_POST['hash'] . '|' . $_POST['createdDateTime'] . '|' . $_POST['amount'], $token);
if($sign == $sign2) {
// Код в случае успешной оплаты
// Для получения data используйте html_entity_decode($_POST['data']);
echo 'OK'; // Вернуть ответ серверу
} else {
echo 'ERROR SIGN';
}