Исходник P2P qiwi payment

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

config.php:
Expand Collapse Copy
<?php

$qiwi = [
    "public_key" => "",
    "secret_key" => "",
    "successUrl" => ""
]

?>
qiwi_handler.php:
Expand Collapse Copy
<?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:
Expand Collapse Copy
<?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
 
qiwi умер. использовать его для принятия оплаты это бред. блокировки по причинам "захотелось" не редкость
 
Всем привет, вот вам для малых проектов нормальная(наверное) оплата по qiwi

config.php:
Expand Collapse Copy
<?php

$qiwi = [
    "public_key" => "",
    "secret_key" => "",
    "successUrl" => ""
]

?>
qiwi_handler.php:
Expand Collapse Copy
<?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:
Expand Collapse Copy
<?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
неплохо, но как чел выше написал - киви хуета, лучше юзать какую-нибудь платегу
 
Было бы интересное подобное увидеть под юмани.
 
Назад
Сверху Снизу