Перейти к публикации
Дизайн и модификация Invision 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

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

  Показать содержимое

 

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

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


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

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

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


Ссылка на сообщение
  13.06.2020 в 15:51, 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, ошибся в названии функции.

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


Ссылка на сообщение
  17.06.2020 в 13:10, siv1987 сказал:

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

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

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


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

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

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


Ссылка на сообщение
  17.06.2020 в 21:25, siv1987 сказал:

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

 

  Показать содержимое

 

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


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

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

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


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

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

  Показать содержимое

yandexmoney.phpПолучение информации...

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

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

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

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


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

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

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


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

пусто 🤷‍♂️

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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