June 13, 20205 yr Здраствуйте установил я себе приложения Yandex.Money Payment Gateway 1.0.2 https://invisioncommunity.com/files/file/9355-yandexmoney-payment-gateway/ Yandex.Money_Gateway_1.0.2.zip Настроил хотел сделать тестовую покупку но яндекс выдает мне ошибку помогите кто знает в чем проблема Скрытый текст Edited June 14, 20205 yr by Lesovsky Формулируйте заголовки темы корректно, обязательно указывайте содержание вопроса
June 16, 20205 yr Какая валюта указана в настройках метода? Откройте applications/yandexmoney/interface/yandexmoney.php Найти $order = \IPS\Request::i()->nexustransactionid; Добавить после print_r([$transaction->amount->currency, $transaction->amount->amount, getCurs($transaction->amount->currency), $transactionAmount]); exit; Выполнить платеж и привести отладочную информацию. Эта так называемую функция "getCurs" возвращает FALSE в случае неудачного ответа или неправильных данных, а результат никак не проверяется, и при умножении на цену получаем сумму в ноль. Замените return false; на return 1; А по хорошему всю функцию на, для использование кеша function getCurs( $moneyCode ) { $moneyCode = mb_strtoupper( $moneyCode ); $xmlString = ''; if( \IPS\Data\Store::i()->exists( 'currencyRate' ) ) { $xmlString = \IPS\Data\Store::i()->get( 'currencyRate' ); $date = \IPS\DateTime::create(); $date->setTimezone( new \DateTimeZone( 'Europe/Moscow' ) ); preg_match( '/Date="(.*?)"/', $xmlString, $match ); if( $match[1] != $date->format('d.m.Y') ) { $xmlString = ''; } } if( !$xmlString ) { $xmlString = (string) \IPS\Http\Url::external('http://www.cbr.ru/scripts/XML_daily.asp')->request()->get(); if( $xmlString ) { \IPS\Data\Store::i()->set( 'currencyRate', $xmlString ); } } if( $xml = @simplexml_load_string( $xmlString ) ) { $row = $xml->xpath('/ValCurs/Valute[./CharCode[text()="'.$moneyCode.'"]]')[0]; if( $row ) { return (string) \str_replace( '.', ',', $row->Value ); } } return 1; }
June 17, 20205 yr Author Спасибо большое я заменил но ошибка Цитата Что-то пошло не так. Пожалуйста, попробуйте еще раз.
June 17, 20205 yr Author 42 минуты назад, siv1987 сказал: Замените moneyCurs на getCurs, ошибся в названии функции. Так сейчас и так стоит getCurs
June 17, 20205 yr Author 1 час назад, siv1987 сказал: Внимательно поиском па файлу посмотрите. Скрытый текст
June 18, 20205 yr Я в этом файле не вижу правки которые выше указал сделать. Слелайте правку и приведите отладочную информацию от нее. Также я ничего не услышал о настройках метода оплаты. Больше я тут ничем помочь не могу. Логика написана довольно корява (как обычно), возможно вам лучше обратится к его автору, он между прочим русскоязычный как я понял.
June 18, 20205 yr Author Менял все что писали мне выше ошибка Скрытый текст Что-то пошло не так. Пожалуйста, попробуйте еще раз. yandexmoney.php Автор не отвечает писал уже Приложения все настроил ранее работало обновил форум перестало работать Edited June 18, 20205 yr by Back
June 19, 20205 yr Поставил к нам, аналогичная проблема. 17.06.2020 в 01:35, siv1987 сказал: Откройте applications/yandexmoney/interface/yandexmoney.php Найти $order = \IPS\Request::i()->nexustransactionid; Добавить после print_r([$transaction->amount->currency, $transaction->amount->amount, getCurs($transaction->amount->currency), $transactionAmount]); exit; Array ( [0] => руб [1] => IPS\Math\Number Object ( [positive:protected] => 1 [beforeDecimalPoint:protected] => 1 [numberOfDecimalPlaces:protected] => 0 [afterDecimalPoint:protected] => 0 ) [2] => [3] => 1.00 ) 14 часов назад, siv1987 сказал: В папке /uploads/logs/ должны быть логи этой ошибки, покажите их. В логах ничего не создаётся, т.к. Request идет к Яндекс.Деньгам, вот он и выдёт ошибку как у ТС в начале поста. Сделал предложенные правки @siv1987 вот результат: Скрытый текст UPD: Но радость была не долгой, сработало раз, изменил цену на 2 рубля, попробовал снова, начала выбивать ошибка: В логах пусто.
Здраствуйте установил я себе приложения Yandex.Money Payment Gateway 1.0.2 https://invisioncommunity.com/files/file/9355-yandexmoney-payment-gateway/ Yandex.Money_Gateway_1.0.2.zip
Настроил хотел сделать тестовую покупку но яндекс выдает мне ошибку помогите кто знает в чем проблема
Edited by Lesovsky
Формулируйте заголовки темы корректно, обязательно указывайте содержание вопроса