После ввода тестовой карты, меня перекинуло просто на главную страницу моего сайта. (не на страницу 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
получил ответ от банка: да, функцию включили.
В логах всё та же ошибка.
[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
В чем может быть проблема?
да, теперь всё ок. Тиньков не включили 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
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 к каждой ссылке
не надо делать того, что не требуется в описании
откройте файл /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;
проведите платеж
приведите тут содержимое письма, которое придет на админскую почту
От Тинькова получил что всё ок, оплачено.
От плагина получил: Неудачная оплата
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
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, нет ее
Ответ поддержки тиньков: "Ознакомился с информацией, ранее коллеги уже говорили, что Data отправляется в нотификации и важно убедиться, что вы правильно обрабатываете Data, как объект, а не параметр.
Если все это верно делаете, то не могли бы подробнее описать ситуацию, что и как вы делаете, чтобы передать в тех отдел, и они нагляднее понимали, что именно происходит."
что можно им передать?
То, что я выделил в 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'];
слово DATA и так пишется большими буквами, когда данные отправляются на их сервер:
$fields['DATA'] = array( 'baggage_data' => $baggage_data, 'pay_type' => $data->pay_type ); $result = $this->_sendRequest( 'https://securepay.tinkoff.ru/v2/Init', $fields );
а вот от них приходит именно Data, очень странно, что они этого не знают.
Андрей CS сказал(а)
ня тоже была долгая переписка с ними во время написания дополнения, сложная там поддержка
Потдержка там норм - только тех потдержка реально тупит . Как они разрабатывают и потдерживают такую систему только , видимо штат новый не их рук дело было )) Но у меня не так как у человека , у меня тест был пройден на ура. И сейчас все работает норм , вот только с биржей нет общего не чего кроме проплаты . Вася платит все хорошо , но в результате у васи на считу ноль а деньги я получил. Масив это или нет не знаю , я даже не знаю как им описывать эту проблему о том что сайт не синхранизируеться с кабинетом людей - не отмечает у них что они оплатили . Они меня и отправят к разработчику однозначно . Это если только масив не включен но они его включили еще при тестовом . Я сразу им писал об этом и тест прошол без проблем . Просто положите себе на счет 2 рубля и все умдите - я верну их если необходимо будет . Положите 2 рубля и у вас будет ноль а я их получу