Форма оплаты и обработчик платежной системы Интеркассы для Вашего L2 проекта
*скрин с интернета, ибо у меня был только тестовый режим (видимо нужно вводить паспортные данные/инн для включения всех способов оплаты)
Посмотреть вложение 39647
туда вписать такого плана ?ganstar02051994, урл взаимодействия
Что именно не пишет?все сделал как Вы говорили но вот в базе не пишет ничего
сделал проплату с карты, деньги списались а в базе не прописался платеж и не пришли донкиЧто именно не пишет?
запросы нужно по править, под вашу сборку. Будет чудо.сделал проплату с карты, деньги списались а в базе не прописался платеж и не пришли донки
все сделал как Вы говорили но вот в базе не пишет ничего
сделал проплату с карты, деньги списались а в базе не прописался платеж и не пришли донки
Думаешь автор нострадамус, ванга, кейси, мессинг или подрабатывал на шоу битва экстрасенсов?если вводить не правильный ник персонажа то оно на сайте и пишет что нет такого игрока
ini_set( 'display_errors', '1' );
/*if ( $ik_co_id != CHECKOUT_ID )
{
header( $_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request', true, 400 );
die( 'Bad Checkout Id' );
}*/
/*if ( $ik_inv_st != 'success' )
{
header( $_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request', true, 400 );
die( 'Payment Required' );
}*/
/*if ( $sign != $ik_sign )
{
header( $_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request', true, 400 );
die( 'Bad sign!' );
}*/
$char_name = isset( $_POST['ik_x_char'] )
? $_POST['ik_x_char']
: 'test'; // указываем ник
$server_id = isset( $_POST['ik_x_server_id'] )
? $_POST['ik_x_server_id']
: 0; // указываем дефолтный сервер
Я не зануда, просто мб в дальнейшем будет проще:ganstar02051994, лог ответа вэбхука покажите. Логи транзакций в лк фрикассы
попутал мальцафрикассыу интеркассы походу не пишутся логи ответов. Тогда вариант включаем показ ошибок, комментируем проверки в webhook и вызываем его напрямую. Покажет ошибку почему не записалось в таблицу
PHP:ini_set( 'display_errors', '1' ); /*if ( $ik_co_id != CHECKOUT_ID ) { header( $_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request', true, 400 ); die( 'Bad Checkout Id' ); }*/ /*if ( $ik_inv_st != 'success' ) { header( $_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request', true, 400 ); die( 'Payment Required' ); }*/ /*if ( $sign != $ik_sign ) { header( $_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request', true, 400 ); die( 'Bad sign!' ); }*/ $char_name = isset( $_POST['ik_x_char'] ) ? $_POST['ik_x_char'] : 'test'; // указываем ник $server_id = isset( $_POST['ik_x_server_id'] ) ? $_POST['ik_x_server_id'] : 0; // указываем дефолтный сервер
$char_name = isset( $_POST['ik_x_char'] )
? $_POST['ik_x_char']
: 'test'; // указываем ник
$server_id = isset( $_POST['ik_x_server_id'] )
? $_POST['ik_x_server_id']
: 0; // указываем дефолтный сервер
// Если PHP 7+
// То же самое что
$char_name = $_POST['ik_x_char'] ?? 'test'; // указываем ник
$server_id = $_POST['ik_x_server_id'] ?? 0; // указываем дефолтный сервер
Укажи хотя бы, что конкретно не работаетКто то может помочь разобраться почему у меня не работает этот скрипт?
Оплата проходит успешно, но монеты не зачисляются. интеркасса показывает ошибку 400 в webhookУкажи хотя бы, что конкретно не работает
С какого сервера не приходит оплата, значение сервера 0?Оплата проходит успешно, но монеты не зачисляются. интеркасса показывает ошибку 400 в webhook
<option value="0" selected="">Супер сервер</option>
$server_id = isset( $_POST['ik_x_server_id'] ) ? $_POST['ik_x_server_id'] : -1;
if ( !isset( $config[ $server_id ] ) )
{
header( $_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request', true, 400 );
die( 'Invalid server id!' );
}
<label for="server_id">Выберите сервер:</label>
<select id="server_id" class="form-control" name="ik_x_server_id">
<option value="1" selected>Наш сервер</option>
</select>
// Конфиг подключения к игровой бд
$config = [
[ // serverId 0
'dbhost' => 'localhost',
'dbuser' => 'root',
'dbpass' => 'root',
'dbname' => 'l2jdb',
'dbport' => 3306
],
[ // serverId 1
'dbhost' => 'localhost',
'dbuser' => 'root',
'dbpass' => 'root',
'dbname' => 'l2jdb',
'dbport' => 3306
],
[ // serverId 2
'dbhost' => 'localhost',
'dbuser' => 'root',
'dbpass' => 'root',
'dbname' => 'l2jdb',
'dbport' => 3306
]
];
Огромное спасибо!)С какого сервера не приходит оплата, значение сервера 0?
XML:<option value="0" selected="">Супер сервер</option>
Если отправить запрос с кастомным полем ik_x_server_id и его значением 0, то сервер интеркассы после оплаты пришлет данные на ваш бебхук уже без ik_x_server_id. В итоге вебхук не может найти настройки коннекта к бд с таким айди (-1), что-бы подключится к бд для выдачи предметов, потому и выдает ошибку 400
В форме оплаты меняем значение сервераPHP:$server_id = isset( $_POST['ik_x_server_id'] ) ? $_POST['ik_x_server_id'] : -1; if ( !isset( $config[ $server_id ] ) ) { header( $_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request', true, 400 ); die( 'Invalid server id!' ); }
и настраиваем подключения к бдXML:<label for="server_id">Выберите сервер:</label> <select id="server_id" class="form-control" name="ik_x_server_id"> <option value="1" selected>Наш сервер</option> </select>
PHP:// Конфиг подключения к игровой бд $config = [ [ // serverId 0 'dbhost' => 'localhost', 'dbuser' => 'root', 'dbpass' => 'root', 'dbname' => 'l2jdb', 'dbport' => 3306 ], [ // serverId 1 'dbhost' => 'localhost', 'dbuser' => 'root', 'dbpass' => 'root', 'dbname' => 'l2jdb', 'dbport' => 3306 ], [ // serverId 2 'dbhost' => 'localhost', 'dbuser' => 'root', 'dbpass' => 'root', 'dbname' => 'l2jdb', 'dbport' => 3306 ] ];
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?