Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Back

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

Recommended Posts

Здраствуйте установил я себе приложения 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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
16 часов назад, siv1987 сказал:

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

4.4.10

Share this post


Link to post
Share on other sites

@siv1987, возможно какое-то решение буду очень благодарен

Share this post


Link to post
Share on other sites

Я есть люди которые смогут помочь очень нужно ребята

Share this post


Link to post
Share on other sites

Какая валюта указана в настройках метода?
Откройте 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

Share this post


Link to post
Share on other sites

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

Цитата

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
42 минуты назад, siv1987 сказал:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
1 час назад, siv1987 сказал:

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

 

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

Screenshot_2.thumb.png.8f6747f4293951e42ac484fdff7a1bb9.png

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

yandexmoney.php

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

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

Edited by Back

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

пусто 🤷‍♂️

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...