Опубликовано: 13 июня 20205 г Здраствуйте установил я себе приложения Yandex.Money Payment Gateway 1.0.2 https://invisioncommunity.com/files/file/9355-yandexmoney-payment-gateway/ Yandex.Money_Gateway_1.0.2.zip Настроил хотел сделать тестовую покупку но яндекс выдает мне ошибку помогите кто знает в чем проблема Скрытый текст Изменено 14 июня 20205 г пользователем Lesovsky Формулируйте заголовки темы корректно, обязательно указывайте содержание вопроса
Опубликовано: 16 июня 20205 г Какая валюта указана в настройках метода? Откройте 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; }
Опубликовано: 17 июня 20205 г Автор Спасибо большое я заменил но ошибка Цитата Что-то пошло не так. Пожалуйста, попробуйте еще раз.
Опубликовано: 17 июня 20205 г Автор 42 минуты назад, siv1987 сказал: Замените moneyCurs на getCurs, ошибся в названии функции. Так сейчас и так стоит getCurs
Опубликовано: 17 июня 20205 г Автор 1 час назад, siv1987 сказал: Внимательно поиском па файлу посмотрите. Скрытый текст
Опубликовано: 18 июня 20205 г Я в этом файле не вижу правки которые выше указал сделать. Слелайте правку и приведите отладочную информацию от нее. Также я ничего не услышал о настройках метода оплаты. Больше я тут ничем помочь не могу. Логика написана довольно корява (как обычно), возможно вам лучше обратится к его автору, он между прочим русскоязычный как я понял.
Опубликовано: 18 июня 20205 г Автор Менял все что писали мне выше ошибка Скрытый текст Что-то пошло не так. Пожалуйста, попробуйте еще раз. yandexmoney.php Автор не отвечает писал уже Приложения все настроил ранее работало обновил форум перестало работать Изменено 18 июня 20205 г пользователем Back
Опубликовано: 19 июня 20205 г Поставил к нам, аналогичная проблема. 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
Настроил хотел сделать тестовую покупку но яндекс выдает мне ошибку помогите кто знает в чем проблема
Изменено пользователем Lesovsky
Формулируйте заголовки темы корректно, обязательно указывайте содержание вопроса