Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Back

Ошибка с платежным шлюзом Yandex.Money Payment Gateway

Рекомендованные сообщения

06/13/20 13:13 (изменено)

Здраствуйте установил я себе приложения Yandex.Money Payment Gateway 1.0.2 https://invisioncommunity.com/files/file/9355-yandexmoney-payment-gateway/ Yandex.Money_Gateway_1.0.2.zip

Настроил хотел сделать тестовую покупку но яндекс выдает мне ошибку помогите кто знает в чем проблема

Скрытый текст

Screenshot_1.thumb.png.45f39efaa71eeeb0e605b8af7e88b181.png

 

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

Поделиться сообщением


Ссылка на сообщение

А версия форума какая?

Поделиться сообщением


Ссылка на сообщение
16 часов назад, siv1987 сказал:

А версия форума какая?

4.4.10

Поделиться сообщением


Ссылка на сообщение

@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;

Выполнить платеж и привести отладочную информацию.
Эта так называемую функция "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;
}

 

  • Like 1
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Спасибо большое я заменил но ошибка

Цитата

Что-то пошло не так. Пожалуйста, попробуйте еще раз.

 

Поделиться сообщением


Ссылка на сообщение

Замените moneyCurs на getCurs, ошибся в названии функции.

Поделиться сообщением


Ссылка на сообщение
42 минуты назад, siv1987 сказал:

Замените moneyCurs на getCurs, ошибся в названии функции.

Так сейчас и так стоит getCurs

Поделиться сообщением


Ссылка на сообщение

Внимательно поиском па файлу посмотрите.

Поделиться сообщением


Ссылка на сообщение
1 час назад, siv1987 сказал:

Внимательно поиском па файлу посмотрите.

 

Скрытый текст

Screenshot_2.thumb.png.8f6747f4293951e42ac484fdff7a1bb9.png

 

Поделиться сообщением


Ссылка на сообщение

Я в этом файле не вижу правки которые выше указал сделать. Слелайте правку и приведите отладочную информацию от нее. Также я ничего не услышал о настройках метода оплаты. Больше я тут ничем помочь не могу. Логика написана довольно корява (как обычно), возможно вам лучше обратится к его автору, он между прочим русскоязычный как я понял.

Поделиться сообщением


Ссылка на сообщение
06/18/20 07:54 (изменено)

Менял все что писали мне выше ошибка

Скрытый текст

Что-то пошло не так. Пожалуйста, попробуйте еще раз.

yandexmoney.php

Автор не отвечает писал уже

Приложения все настроил ранее работало обновил форум перестало работать

Изменено пользователем Back

Поделиться сообщением


Ссылка на сообщение

В папке /uploads/logs/ должны быть логи этой ошибки, покажите их.

Поделиться сообщением


Ссылка на сообщение

пусто 🤷‍♂️

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...