Исходник P2P qiwi payment

Модератор раздела Рынок
Модератор
Статус
Оффлайн
Регистрация
27 Апр 2019
Сообщения
105
Реакции[?]
47
Поинты[?]
6K
Всем привет, вот вам для малых проектов нормальная(наверное) оплата по qiwi

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)
1650716712661.png
Туда будет приходить ответ от qiwi.

В принципе всё, good luck all <3
 
Модератор раздела Рынок
Модератор
Статус
Оффлайн
Регистрация
27 Апр 2019
Сообщения
105
Реакции[?]
47
Поинты[?]
6K
iq abuser
Пользователь
Статус
Оффлайн
Регистрация
16 Апр 2021
Сообщения
648
Реакции[?]
138
Поинты[?]
1K
Всем привет, вот вам для малых проектов нормальная(наверное) оплата по qiwi

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)
Посмотреть вложение 200774
Туда будет приходить ответ от qiwi.

В принципе всё, good luck all <3
неплохо, но как чел выше написал - киви хуета, лучше юзать какую-нибудь платегу
 
Похожие темы
Сверху Снизу