Форма оплаты платежной системы Qiwi P2P с генерацией цифровой подписи "налету" (JQuery/Ajax)
для приема платежей/доната на сайте + обработчик
Пароль:
Скрытое содержимое могут видеть только пользователи групп(ы): VIP, Участник
Посмотреть вложение 38665
А для пейпала такое сделать реально? не за бессплатно конечножеòbi добавил(а) новый ресурс:
Скрипт Qiwi P2P для L2 - Форма оплаты/доната платежной системы Qiwi P2P (Цифровая подпись/Обработчик)
Узнать больше об этом ресурсе...
Создавайте тему в соответствующем разделе. Кто-нибудь откликнется сделать, я не возьмусьА для пейпала такое сделать реально? не за бессплатно конечноже
В базу не пишет данный скрипт почему-то.
$sql = "INSERT INTO `items_delayed` ( `payment_id`, `owner_id`, `item_id`, `count`, `payment_status`, `description` ) VALUES ( ?, ?, ?, ?, ?, ? )";
Так делал данную табличку и в неё ничего не записало.$sql = "INSERT INTO `items_delayed` ( `payment_id`, `owner_id`, `item_id`, `count`, `payment_status`, `description` ) VALUES ( ?, ?, ?, ?, ?, ? )";
под себя поправь
если не забыли указать "URL сервера для уведомлений" как написано тут:В базу не пишет данный скрипт почему-то.
// включаем показ ошибок
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
я вот сижу умничаю, а у меня из конфига не берет почему то инфу, формой в чистом виде пользоваться пытаюсьесли не забыли указать "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="" />
Приём платежа да, записи в табличку нетВсе работает из коробки, внес свои данные и все. Ничего не доделывал даже. У кого не получается значит где-то косячите.
Совет, удалите все и попробуйте заново.
Максимум что нужно это запрос под сервер поправить, если нужно, остальное ок.
да, ибо в файле form.html по мимо кода самой формы есть js код (ajax-запрос) который перед отправкой формы запросит необходимые данные из файла sign.php и добавит их в формуразве так должно быть?
Код:<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 и добавит их в форму
Выдаёт ошибку сервер не найден)) Хотя в конфиге все стоит)
или не указалиЯ не пойму, почему при дебаге с вебхуком, который ты предложил пишет что сервер не найден, а при форме если вводишь неправильный ник, то проверка по нику делается... Что как-бы намекает на то, что с базой соединение есть...
$server_id = isset( $decoded['bill']['customFields']['server_id'] )
? $decoded['bill']['customFields']['server_id']
: 'server1'; // указываем сервер по умолчанию
ini_set( 'display_errors', '1' );
error_reporting( E_ALL );
или не указали
или при в несении данных в config.php ошиблись и данные с него не подгрузились.PHP:$server_id = isset( $decoded['bill']['customFields']['server_id'] ) ? $decoded['bill']['customFields']['server_id'] : 'server1'; // указываем сервер по умолчанию
добавить в config.php
и выполнить его на прямуюPHP:ini_set( 'display_errors', '1' ); error_reporting( E_ALL );
У меня все естьПриём платежа да, записи в табличку нет
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?