Домой Каталог: Дополнения WP-Recall Tinkoff Gateway Ошибка "Column 'user_id' cannot be null" при попытке оплатить тариф
18 ответ(ов) в теме
narisoval@me.com
не в сети 1 неделя
На сайте с 16.05.2019
Участник
Тем 7
Сообщения 26
1
12:34
Версия WP-Recall:16.15.11
Версия дополнения:1.0.4

После ввода тестовой карты, меня перекинуло просто на главную страницу моего сайта. (не на страницу success). Тиньков овтетил что не получил от меня ОК.

HTTPS URL для нотификаций в админке тинькова указан корректно. В логах вижу следующие ошибки:

[18-May-2019 09:00:22 UTC] PHP Notice: Undefined index: Data in /home/c/ca008/stargo/public_html/wp-content/wp-recall/add-on/tinkoff-gateway/index.php on line 239

[18-May-2019 09:00:22 UTC] База данных WordPress возвратила ошибку Column 'user_id' cannot be null в ответ на запрос INSERT INTO `wp_rmag_pay_results` (`payment_id`, `user_id`, `pay_amount`, `time_action`, `pay_system`, `pay_type`) VALUES ('1558180741', NULL, '2900', '2019-05-18 12:00:22', 'tinkoff', NULL), выполненный require('wp-blog-header.php'), wp, WP->main, do_action_ref_array('wp'), WP_Hook->do_action, WP_Hook->apply_filters, rcl_payments, Rcl_Payment->payment_process, Rcl_Payment->get_result, Rcl_Tinkoff_Payment->result, Rcl_Payment->insert_pay

[18-May-2019 09:29:59 UTC] PHP Notice: Undefined index: Data in /home/c/ca008/stargo/public_html/wp-content/wp-recall/add-on/tinkoff-gateway/index.php on line 239

[18-May-2019 09:29:59 UTC] База данных WordPress возвратила ошибку Column 'user_id' cannot be null в ответ на запрос INSERT INTO `wp_rmag_pay_results` (`payment_id`, `user_id`, `pay_amount`, `time_action`, `pay_system`, `pay_type`) VALUES ('1558182549', NULL, '2900', '2019-05-18 12:29:59', 'tinkoff', NULL), выполненный require('wp-blog-header.php'), wp, WP->main, do_action_ref_array('wp'), WP_Hook->do_action, WP_Hook->apply_filters, rcl_payments, Rcl_Payment->payment_process, Rcl_Payment->get_result, Rcl_Tinkoff_Payment->result, Rcl_Payment->insert_pay

Редакции сообщения
18.05.2019 12:35narisoval@me.comПричина: не указано
18.05.2019 12:35narisoval@me.comПричина: не указано
18.05.2019 12:35narisoval@me.comПричина: не указано
18.05.2019 12:37narisoval@me.comПричина: не указано
0
Андрей CS
не в сети 2 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 12386
2
12:39

из описания:

ВАЖНО! Обязательно запросите через чат поддержки включение массива 'DATA' в данные нотификации! Если этого не будет сделано, то подключение не будет работать корректно.

это было сделано?

Редакции сообщения
18.05.2019 12:39Андрей CSПричина: не указано
0
narisoval@me.com
не в сети 1 неделя
На сайте с 16.05.2019
Участник
Тем 7
Сообщения 26
3
01:37

получил ответ от банка: да, функцию включили.

В логах всё та же ошибка.

[20-May-2019 22:29:05 UTC] База данных WordPress возвратила ошибку Column 'user_id' cannot be null в ответ на запрос INSERT INTO `wp_rmag_pay_results` (`payment_id`, `user_id`, `pay_amount`, `time_action`, `pay_system`, `pay_type`) VALUES ('1558402128', NULL, '2000', '2019-05-21 01:29:05', 'tinkoff', NULL), выполненный require('wp-blog-header.php'), wp, WP->main, do_action_ref_array('wp'), WP_Hook->do_action, WP_Hook->apply_filters, rcl_payments, Rcl_Payment->payment_process, Rcl_Payment->get_result, Rcl_Tinkoff_Payment->result, Rcl_Payment->insert_pay

В чем может быть проблема?

0
Андрей CS
не в сети 2 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 12386
4
08:45

проблема в том же самом, данные из массива DATA не приходят

0
narisoval@me.com
не в сети 1 неделя
На сайте с 16.05.2019
Участник
Тем 7
Сообщения 26
5
00:05

да, теперь всё ок. Тиньков не включили DATA на тестовые терминалы.

ввожу тестовые данные карты. После страницы для ввода данных карты, перекидывает на мой сайт на страницу SUCCESS. Но тест не защитывается. "Ошибка нотификации: не получаем ответ "OK" на следующие запросы нотификации: CONFIRMED Проверьте и поправьте обработку нотификаций: CONFIRMED. После этого повторите тест-кейс.
"
Проверил URL'ы в настройках терминалов. "/?tinkoffPayment=1" добавлен только к result. Нужно ли этот параметр добавлять в success и fail в настройках терминала тинькова?

При попытке добавить /?tinkoffPayment=1 к каждой ссылке, происходит следующее после ввода карты и нажатия кнопки "Оплатить":

"На сайте возникли временные проблемы технического характера."

Логи:

[25-May-2019 21:35:13 UTC] PHP Notice: Undefined index: Data in /home/c/ca03008/startwezego/public_html/wp-content/wp-recall/add-on/tinkoff-gateway/index.php on line 239
[25-May-2019 21:35:13 UTC] База данных WordPress возвратила ошибку Column 'user_id' cannot be null в ответ на запрос INSERT INTO `wp_rmag_pay_results` (`payment_id`, `user_id`, `pay_amount`, `time_action`, `pay_system`, `pay_type`) VALUES ('1558830895', NULL, '4900', '2019-05-26 00:35:13', 'tinkoff', NULL), выполненный require('wp-blog-header.php'), wp, WP->main, do_action_ref_array('wp'), WP_Hook->do_action, WP_Hook->apply_filters, rcl_payments, Rcl_Payment->payment_process, Rcl_Payment->get_result, Rcl_Tinkoff_Payment->result, Rcl_Payment->insert_pay
[25-May-2019 21:35:14 UTC] PHP Notice: Use of undefined constant REQUEST_URI - assumed 'REQUEST_URI' in /home/c/ca03008/startwezego/public_html/wp-content/themes/twentynineteen/functions.php on line 73
[25-May-2019 21:35:14 UTC] PHP Fatal error: Uncaught Error: Call to undefined method Rcl_Tinkoff_Payment::success() in /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php:170
Stack trace:
#0 /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php(129): Rcl_Payment->get_success('tinkoff')
#1 /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/index.php(51): Rcl_Payment->payment_process()
#2 /home/c/ca03008/startwezego/public_html/wp-includes/class-wp-hook.php(286): rcl_payments(Object(WP))
#3 /home/c/ca03008/startwezego/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array)
#4 /home/c/ca03008/startwezego/public_html/wp-includes/plugin.php(531): WP_Hook->do_action(Array)
#5 /home/c/ca03008/startwezego/public_html/wp-includes/class-wp.php(750): do_action_ref_array('wp', Array)
#6 /home/c/ca03008/startwezego/public_html/wp-includes/functions.php(1105): WP->main('')
#7 /home/c/ca0 in /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php on line 170
[25-May-2019 21:35:21 UTC] PHP Notice: Use of undefined constant REQUEST_URI - assumed 'REQUEST_URI' in /home/c/ca03008/startwezego/public_html/wp-content/themes/twentynineteen/functions.php on line 73
[25-May-2019 21:35:21 UTC] PHP Fatal error: Uncaught Error: Call to undefined method Rcl_Tinkoff_Payment::success() in /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php:170
Stack trace:
#0 /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php(129): Rcl_Payment->get_success('tinkoff')
#1 /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/index.php(51): Rcl_Payment->payment_process()
#2 /home/c/ca03008/startwezego/public_html/wp-includes/class-wp-hook.php(286): rcl_payments(Object(WP))
#3 /home/c/ca03008/startwezego/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array)
#4 /home/c/ca03008/startwezego/public_html/wp-includes/plugin.php(531): WP_Hook->do_action(Array)
#5 /home/c/ca03008/startwezego/public_html/wp-includes/class-wp.php(750): do_action_ref_array('wp', Array)
#6 /home/c/ca03008/startwezego/public_html/wp-includes/functions.php(1105): WP->main('')
#7 /home/c/ca0 in /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php on line 170
[25-May-2019 21:35:24 UTC] PHP Notice: Use of undefined constant REQUEST_URI - assumed 'REQUEST_URI' in /home/c/ca03008/startwezego/public_html/wp-content/themes/twentynineteen/functions.php on line 73
[25-May-2019 21:35:24 UTC] PHP Fatal error: Uncaught Error: Call to undefined method Rcl_Tinkoff_Payment::success() in /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php:170
Stack trace:
#0 /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php(129): Rcl_Payment->get_success('tinkoff')
#1 /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/index.php(51): Rcl_Payment->payment_process()
#2 /home/c/ca03008/startwezego/public_html/wp-includes/class-wp-hook.php(286): rcl_payments(Object(WP))
#3 /home/c/ca03008/startwezego/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array)
#4 /home/c/ca03008/startwezego/public_html/wp-includes/plugin.php(531): WP_Hook->do_action(Array)
#5 /home/c/ca03008/startwezego/public_html/wp-includes/class-wp.php(750): do_action_ref_array('wp', Array)
#6 /home/c/ca03008/startwezego/public_html/wp-includes/functions.php(1105): WP->main('')
#7 /home/c/ca0 in /home/c/ca03008/startwezego/public_html/wp-content/plugins/wp-recall/add-on/user-balance/class-rcl-payment.php on line 170
[25-May-2019 21:35:42 UTC] PHP Notice: Use of undefined constant REQUEST_URI - assumed 'REQUEST_URI' in /home/c/ca03008/startwezego/public_html/wp-content/themes/twentynineteen/functions.php on line 73

Редакции сообщения
26.05.2019 00:38narisoval@me.comПричина: не указано
26.05.2019 00:45narisoval@me.comПричина: не указано
0
Андрей CS
не в сети 2 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 12386
6
08:30

narisoval@me.com сказал(а)
[25-May-2019 21:35:13 UTC] База данных WordPress возвратила ошибку Column 'user_id' cannot be null в ответ на запрос INSERT INTO `wp_rmag_pay_results` (`payment_id`, `user_id`, `pay_amount`, `time_action`, `pay_system`, `pay_type`) VALUES ('1558830895', NULL, '4900', '2019-05-26 00:35:13', 'tinkoff', NULL),

этот текст означает, что данные user_id и pay_type не приходят на сервер со стороны платежной системы, а они содержаться только в массиве DATA, который платежная система должна присылать, значит массив DATA не присылается до сих пор.

narisoval@me.com сказал(а)
При попытке добавить /?tinkoffPayment=1 к каждой ссылке

не надо делать того, что не требуется в описании

0
narisoval@me.com
не в сети 1 неделя
На сайте с 16.05.2019
Участник
Тем 7
Сообщения 26
7
09:22

Банк заявляет что массив DATA точно передается для тестовых терминалов.

0
Андрей CS
не в сети 2 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 12386
8
09:30

откройте файл /wp-content/wp-recall/add-on/tinkoff-gateway/index.php, на строке 236 будет

//rcl_mail_payment_error( json_encode( $POST ), $POST );
//exit;

приведите к такому виду
rcl_mail_payment_error( json_encode( $POST ), $POST );
exit;

проведите платеж
приведите тут содержимое письма, которое придет на админскую почту

0
narisoval@me.com
не в сети 1 неделя
На сайте с 16.05.2019
Участник
Тем 7
Сообщения 26
9
11:23

От Тинькова получил что всё ок, оплачено.

От плагина получил: Неудачная оплата

TerminalKey - 1558012081419DEMO
OrderId - 1558869687
Success - true
Status - CONFIRMED
PaymentId - 82031574
ErrorCode - 0
Amount - 490000
CardId - 16633710
Pan - 430000******0777
ExpDate - 1122
Token - 9822117bf8174bd2c8058a059d01400d88d85137922892d9f8bdec03dfe0be00
tinkoffPayment - 1
Cформированный хеш - {"TerminalKey":"1558012081419DEMO","OrderId":"1558869687","Success":"true","Status":"CONFIRMED","PaymentId":82031574,"ErrorCode":"0","Amount":490000,"CardId":16633710,"Pan":"430000******0777","ExpDate":"1122","Token":"9822117bf8174bd2c8058a059d01400d88d85137922892d9f8bdec03dfe0be00"}
Текущий пост - 37
RESULT - 37
SUCCESS - 35

0
Андрей CS
не в сети 2 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 12386
10
11:28

narisoval@me.com сказал(а)
{"TerminalKey":"1558012081419DEMO","OrderId":"1558869687","Success":"true","Status":"CONFIRMED","PaymentId":82031574,"ErrorCode":"0","Amount":490000,"CardId":16633710,"Pan":"430000******0777","ExpDate":"1122","Token":"9822117bf8174bd2c8058a059d01400d88d85137922892d9f8bdec03dfe0be00"}

ну не вижу я тут Data, нет ее

0
narisoval@me.com
не в сети 1 неделя
На сайте с 16.05.2019
Участник
Тем 7
Сообщения 26
11
16:32

Ответ поддержки тиньков: "Ознакомился с информацией, ранее коллеги уже говорили, что Data отправляется в нотификации и важно убедиться, что вы правильно обрабатываете Data, как объект, а не параметр.
Если все это верно делаете, то не могли бы подробнее описать ситуацию, что и как вы делаете, чтобы передать в тех отдел, и они нагляднее понимали, что именно происходит."

что можно им передать?

Редакции сообщения
26.05.2019 16:38narisoval@me.comПричина: не указано
0
Андрей CS
не в сети 2 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 12386
12
18:47

То, что я выделил в 10-ом сообщении является сериализованной json-строкой всех параметров что приходят на ваш сервер, если бы Data присутствовала среди входящих параметров, то это было бы видно в этой строке.
Можете прислать в техподдержку следующий код:

$POST = json_decode( file_get_contents( 'php://input' ), TRUE );

$Data	 = $POST['Data']; //тут пусто

$data->user_id		 = $Data['CUSTOMER_KEY'];
$data->pay_type		 = $Data['pay_type'];
$data->baggage_data	 = $Data['baggage_data'];

0
narisoval@me.com
не в сети 1 неделя
На сайте с 16.05.2019
Участник
Тем 7
Сообщения 26
13
15:45

Ответ от поддержки звучит странно. Но вот их ответ: «технические специалисты рекомендуют DATA написать большими буквами

0
Андрей CS
не в сети 2 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 12386
14
16:46

слово DATA и так пишется большими буквами, когда данные отправляются на их сервер:

$fields['DATA'] = array(
	'baggage_data'	 => $baggage_data,
	'pay_type'		 => $data->pay_type
);
$result = $this->_sendRequest( 'https://securepay.tinkoff.ru/v2/Init', $fields );

а вот от них приходит именно Data, очень странно, что они этого не знают.

0
narisoval@me.com
не в сети 1 неделя
На сайте с 16.05.2019
Участник
Тем 7
Сообщения 26
15
18:28

Пока жду ответа, есть ли смысл попробовать нам отправлять в формате Data а не DATA?

0
Андрей CS
не в сети 2 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 12386
16
20:25

смысла в этом не вижу, в их документации описан тот порядок отправки данных, который используется, менять его не требуется

0
narisoval@me.com
не в сети 1 неделя
На сайте с 16.05.2019
Участник
Тем 7
Сообщения 26
17
18:43

Спасибо, всё заработало. Тиньков наконец-то перестал упираться и всё поправил 🙂

0
Андрей CS
не в сети 2 часа
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 12386
18
18:55

отлично, у меня тоже была долгая переписка с ними во время написания дополнения, сложная там поддержка.

0
Вы не имеете права на публикацию сообщений в этой теме