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

Таблица лидеров


Популярные публикации

Отображаются публикации с наибольшей репутацией на 06/17/20 в Сообщения

  1. 2 балла
    Какая валюта указана в настройках метода? Откройте 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; }
×
×
  • Создать...