• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.
Скрипт Qiwi P2P для L2

Скрипт Qiwi P2P для L2 2021-08-29

Нет прав для скачивания

Publikator

Путник
Пользователь
Сообщения
36
Розыгрыши
0
Репутация
109
Реакции
1 069
Баллы
3
Publikator добавил(а) новый ресурс:

Скрипт Qiwi P2P для L2 - Форма оплаты/доната платежной системы Qiwi P2P (Цифровая подпись/Обработчик)

Форма оплаты платежной системы Qiwi P2P с генерацией цифровой подписи "налету" (JQuery/Ajax)
для приема платежей/доната на сайте + обработчик

Пароль:
Скрытое содержимое могут видеть только пользователи групп(ы): VIP, Участник

Посмотреть вложение 38665

Узнать больше об этом ресурсе...
 
Последнее редактирование модератором:

В базу не пишет данный скрипт почему-то.
 
Запрещено публиковать исходный код без BB-кода — CODE
Последнее редактирование модератором:

Вложения

В базу не пишет данный скрипт почему-то.
если не забыли указать "URL сервера для уведомлений" как написано тут:

редактируем файл webhook.php таким образом:
PHP:
// включаем показ ошибок
ini_set( 'display_errors', '1' );

$char_name = isset( $decoded['bill']['customer']['account'] )
    ? $decoded['bill']['customer']['account']
    : 'test123'; // указываем ник персонажа

$server_id = isset( $decoded['bill']['customFields']['server_id'] )
    ? $decoded['bill']['customFields']['server_id']
    : 'server1'; // указываем сервер по умолчанию

// комментируем проверку статуса платежа
//if ( $status != 'PAID' )
    //die( 'Not paid!' );

// комментируем проверку цифровой подписи
//if ( $sign !== $hash )
    //die( 'Bad sign!' );

сохраняем, и выполняем его в браузере
Код:
https://domain.ru/qiwi/webhook.php

// profit ;)

p.s. - не забываем вернуть проверки обратно
 
если не забыли указать "URL сервера для уведомлений" как написано тут:

редактируем файл webhook.php таким образом:
PHP:
// включаем показ ошибок
ini_set( 'display_errors', '1' );

$char_name = isset( $decoded['bill']['customer']['account'] )
    ? $decoded['bill']['customer']['account']
    : 'test123'; // указываем ник персонажа

$server_id = isset( $decoded['bill']['customFields']['server_id'] )
    ? $decoded['bill']['customFields']['server_id']
    : 'server1'; // указываем сервер по умолчанию

// комментируем проверку статуса платежа
//if ( $status != 'PAID' )
    //die( 'Not paid!' );

// комментируем проверку цифровой подписи
//if ( $sign !== $hash )
    //die( 'Bad sign!' );

сохраняем, и выполняем его в браузере
Код:
https://domain.ru/qiwi/webhook.php

// profit ;)

p.s. - не забываем вернуть проверки обратно
я вот сижу умничаю, а у меня из конфига не берет почему то инфу, формой в чистом виде пользоваться пытаюсь
 
я вот сижу умничаю, а у меня из конфига не берет почему то инфу, формой в чистом виде пользоваться пытаюсь
почему бы и нет, коли перед отправкой формы в платежную систему не требуется цифровая подпись
 
если не забыли указать "URL сервера для уведомлений" как написано тут:

редактируем файл webhook.php таким образом:
PHP:
// включаем показ ошибок
ini_set( 'display_errors', '1' );

$char_name = isset( $decoded['bill']['customer']['account'] )
    ? $decoded['bill']['customer']['account']
    : 'test123'; // указываем ник персонажа

$server_id = isset( $decoded['bill']['customFields']['server_id'] )
    ? $decoded['bill']['customFields']['server_id']
    : 'server1'; // указываем сервер по умолчанию

// комментируем проверку статуса платежа
//if ( $status != 'PAID' )
    //die( 'Not paid!' );

// комментируем проверку цифровой подписи
//if ( $sign !== $hash )
    //die( 'Bad sign!' );

сохраняем, и выполняем его в браузере
Код:
https://domain.ru/qiwi/webhook.php

// profit ;)

p.s. - не забываем вернуть проверки обратно
Выдаёт ошибку сервер не найден)) Хотя в конфиге все стоит)
 
почему бы и нет, коли перед отправкой формы в платежную систему не требуется цифровая подпись
разве так должно быть?
Код:
<input type="hidden" name="publicKey" value="" />
<input type="hidden" name="billId" value="" />
<input type="hidden" name="amount" value="" />
<input type="hidden" name="successUrl" value="" />
 
Все работает из коробки, внес свои данные и все. Ничего не доделывал даже. У кого не получается значит где-то косячите.
Совет, удалите все и попробуйте заново.
Максимум что нужно это запрос под сервер поправить для выдачи итемов, если нужно, остальное ок.
 
Все работает из коробки, внес свои данные и все. Ничего не доделывал даже. У кого не получается значит где-то косячите.
Совет, удалите все и попробуйте заново.
Максимум что нужно это запрос под сервер поправить, если нужно, остальное ок.
Приём платежа да, записи в табличку нет :)
 
разве так должно быть?
Код:
<input type="hidden" name="publicKey" value="" />
<input type="hidden" name="billId" value="" />
<input type="hidden" name="amount" value="" />
<input type="hidden" name="successUrl" value="" />
да, ибо в файле form.html по мимо кода самой формы есть js код (ajax-запрос) который перед отправкой формы запросит необходимые данные из файла sign.php и добавит их в форму
 
да, ибо в файле form.html по мимо кода самой формы есть js код (ajax-запрос) который перед отправкой формы запросит необходимые данные из файла sign.php и добавит их в форму
Я не пойму, почему при дебаге с вебхуком, который ты предложил пишет что сервер не найден, а при форме если вводишь неправильный ник, то проверка по нику делается... Что как-бы намекает на то, что с базой соединение есть...
 
Выдаёт ошибку сервер не найден)) Хотя в конфиге все стоит)
Я не пойму, почему при дебаге с вебхуком, который ты предложил пишет что сервер не найден, а при форме если вводишь неправильный ник, то проверка по нику делается... Что как-бы намекает на то, что с базой соединение есть...
или не указали
PHP:
$server_id = isset( $decoded['bill']['customFields']['server_id'] )
    ? $decoded['bill']['customFields']['server_id']
    : 'server1'; // указываем сервер по умолчанию
или при в несении данных в config.php ошиблись и данные с него не подгрузились.

добавить в config.php
PHP:
ini_set( 'display_errors', '1' );
error_reporting( E_ALL );
и выполнить его на прямую
 
или не указали
PHP:
$server_id = isset( $decoded['bill']['customFields']['server_id'] )
    ? $decoded['bill']['customFields']['server_id']
    : 'server1'; // указываем сервер по умолчанию
или при в несении данных в config.php ошиблись и данные с него не подгрузились.

добавить в config.php
PHP:
ini_set( 'display_errors', '1' );
error_reporting( E_ALL );
и выполнить его на прямую
1635336053514.webp
Сервер айди мы берем из конфига server1 так же как и в вашем примере, повторяю ваши действия по дебагу пишет "Сервер не найден"

Допустим, забиваю хер на дебаг, делаю оплату через форму, кидает после оплаты на вебхук и выдаёт Not Paid хотя оплата совершена.
В базу добавилась запись со статусом 0

1635336138716.webp
 
Назад
Сверху Снизу