Модератор раздела Рынок
-
Автор темы
- #1
Всем привет, вот вам для малых проектов нормальная(наверное) оплата по qiwi
После всего пастинга вы заходите в
Туда будет приходить ответ от qiwi.
В принципе всё, good luck all <3
config.php:
<?php
$qiwi = [
"public_key" => "",
"secret_key" => "",
"successUrl" => ""
]
?>
qiwi_handler.php:
<?php
require_once ("config.php"); // Подключаем Config
$secret_key = $qiwi['secret_key']; // Секретный ключ, берется из конфига
$sha256_hash_header = $_SERVER['HTTP_X_API_SIGNATURE_SHA256']; // Получаем заголовок
$entity_body = file_get_contents('php://input'); // Декодирую тело входящего запроса
$array_body = json_decode($entity_body, 1); // Декодирует строку JSON
$amount_currency = $array_body['bill']['amount']['currency'];
$amount_value = $array_body['bill']['amount']['value'];
$billId = $array_body['bill']['billId'];
$siteId = $array_body['bill']['siteId'];
$status_value = $array_body['bill']['status']['value'];
/* Можно добавить еще просто глянь документацию */
$invoice_parameters = $amount_currency . '|' . $amount_value . '|' . $billId . '|' . $siteId . '|' . $status_value;
$sha256_hash = hash_hmac('sha256', $invoice_parameters, $secret_key); // Генерируем hash для будущей проверки
if ($sha256_hash_header == $sha256_hash && !empty($sha256_hash_header) && $status_value == 'PAID') { // Проверяем платёж
// Код после успешной оплаты
} else {
http_response_code(404); // Если юзер наткнётся на этот файл просто сообщаем что его нет =)
die();
}
?>
PHP:
<?php
require_once("config.php");
// Amount это сумма оплаты
Header('Location: https://oplata.qiwi.com/create?publicKey='.$qiwi['public_key'].'&amount=999&successUrl='.$qiwi['successUrl'].'&account=1')
?>
После всего пастинга вы заходите в
Пожалуйста, авторизуйтесь для просмотра ссылки.
(noad)Туда будет приходить ответ от qiwi.
В принципе всё, good luck all <3