Posted 30 августа, 20213 yr comment_171988 Просмотр файла Webmoney Payment Gateway Webmoney Payment Gateway for Invision Community 4.6 Добавил the.bunin Добавлено 29.08.2021 Категория Коммерция Язык English Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/ Share on other sites Больше вариантов
30 августа, 20213 yr comment_171995 проверить кто-нибудь ещё может? у меня ошибка вылезает на моменте нажатия кнопки "оплатить" на форуме. перекидывать в вм и пишет это: в логах мерчанта это: в логах запроса это: не передаётся сумма покупки. вопрос - почему? Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=171995 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172006 Я с нексой никогда не работал, у меня даже товары в корзину не хотят попадать:) Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172006 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172009 33 минуты назад, Desti сказал: у меня даже товары в корзину не хотят попадать ошибка везде. и в подписках, и в пожертвованиях. Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172009 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172010 Да у него в генах ошибка, он из коробки не запускается в dev-режиме Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172010 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172012 так и что делать? само вм приложение не фиксится никак? Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172012 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172013 Найди в webmoney/sources/Webmoney/Webmoney.php <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="<?= $transactionAmount;?>"> и замени на <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="<?= $transaction->amount->amountAsString();?>"> Не уверен, что это единственная ошибка, но вроде цену он теперь должен передавать правильно. Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172013 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172014 скорее всего там еще лажа с $transaction>id, надо поменять (везде в том же файле) на $transaction->invoice->id Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172014 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172015 Поля "customerNumber" и "cps_phone" вообще не нужны webmoney, зачем их добавили - непонятно. Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172015 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172017 Desti спасибо, сдвинулись с места. теперь после подтверждения платежа кодом вылезает ошибка: на форуме вм есть подобная тема, там советуют проверить файл на доступ через один сайт. Result URL (/index.php?app=webmoney&module=webmoney&controller=controller) доступен: а вот Success и Fail (/index.php?app=webmoney&module=webmoney&controller=controller&success=1) выдают ошибку: нужно какие-то права на файл ставить? также, при прямом вызове через форуме лезет это: Спойлер Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172017 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172019 39 минут назад, by_ix сказал: а вот Success и Fail (/index.php?app=webmoney&module=webmoney&controller=controller&success=1) выдают ошибку: Права - ерунда, ошибка программная. Вполне логично выдают, там не хватает параметра LMI_PAYMENT_NO, который должен приходить в ответе сервера на транзакцию. Где-то теряется:) Надо как-то поймать строку, которую сервер передает в контроллер, без этого дело не продвинется. У меня все запросы-подтверждения пишутся в базу, можно всегда найти пропущенный платеж. Cоздайте табличку 'debug' в базе, два поля, 'id', int(10) автоинкрементный и 'data', тип text. потом в нужных местах (в каждом условии в файле controller.php) поставьте \IPS\Db::i()->insert( 'debug', json_encode(\IPS\Request::i())); Попробуйте оплатить, потом посмотрите в табличку что за запрос он присылает. Сорри, \IPS\Db::i()->insert( 'debug', array('data' =>json_encode(\IPS\Request::i()))); Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172019 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172022 Desti при каждой оплате только одна строка добавляется. я правильно понял, так же вставить? Спойлер <?php namespace IPS\webmoney\modules\front\webmoney; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !\defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' ); exit; } /** * controller */ class _controller extends \IPS\Dispatcher\Controller { /** * Execute * * @return void */ public function execute() { parent::execute(); } /** * ... * * @return void */ protected function manage() { if ( \IPS\Request::i()->fail ) { \IPS\Db::i()->insert( 'debug', array('data' =>json_encode(\IPS\Request::i()))); $transaction = \IPS\nexus\Transaction::load( \IPS\Request::i()->LMI_PAYMENT_NO ); \IPS\Output::i()->redirect( $transaction->invoice->checkoutUrl()->setQueryString( array( '_step' => 'checkout_pay', 'err' => $transaction->member->language()->addToStack('gateway_err') ) ) );//'� ���������, ������� ������ ���������� ��������!'); } if ( \IPS\Request::i()->LMI_PREREQUEST ) { \IPS\Db::i()->insert( 'debug', array('data' =>json_encode(\IPS\Request::i()))); $transaction = \IPS\nexus\Transaction::load( \IPS\Request::i()->LMI_PAYMENT_NO ); $settings = json_decode( $transaction->method->settings, TRUE ); if(\IPS\Request::i()->LMI_PAYMENT_AMOUNT==$transactionAmount &&\IPS\Request::i()->LMI_PAYEE_PURSE==($transaction->amount->currency=='RUB'?$settings['RWallet']:$settings['ZWallet'])) echo 'YES'; } if ( \IPS\Request::i()->LMI_HASH ) { \IPS\Db::i()->insert( 'debug', array('data' =>json_encode(\IPS\Request::i()))); $transaction = \IPS\nexus\Transaction::load( \IPS\Request::i()->LMI_PAYMENT_NO ); $settings = json_decode( $transaction->method->settings, TRUE ); $key = \IPS\Request::i()->LMI_PAYEE_PURSE . \IPS\Request::i()->LMI_PAYMENT_AMOUNT .\IPS\Request::i()->LMI_PAYMENT_NO .\IPS\Request::i()->LMI_MODE.\IPS\Request::i()->LMI_SYS_INVS_NO . \IPS\Request::i()->LMI_SYS_TRANS_NO .\IPS\Request::i()->LMI_SYS_TRANS_DATE . $settings['LMI_SECRET_KEY'].\IPS\Request::i()->LMI_PAYER_PURSE .\IPS\Request::i()->LMI_PAYER_WM; $sha256 = strtoupper(hash("sha256", $key)); if($sha256 == \IPS\Request::i()->LMI_HASH) { $transaction->gw_id = \IPS\Request::i()->LMI_SYS_TRANS_NO; $transaction->save(); $transaction->member = \IPS\Member::load( \IPS\Request::i()->customerNumber ); $maxMind = NULL; if ( \IPS\Settings::i()->maxmind_key ) { $maxMind = new \IPS\nexus\Fraud\MaxMind\Request; $maxMind->setTransaction( $transaction ); } $transaction->checkFraudRulesAndCapture( $maxMind ); } } if ( \IPS\Request::i()->success ) { \IPS\Db::i()->insert( 'debug', array('data' =>json_encode(\IPS\Request::i()))); $transaction = \IPS\nexus\Transaction::load( \IPS\Request::i()->LMI_PAYMENT_NO ); \IPS\Output::i()->redirect( $transaction->url() ); } } // Create new methods with the same name as the 'do' parameter which should execute it } 1 час назад, Desti сказал: LMI_PAYMENT_NO в логах мерчанта он есть. или это не то уже? Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172022 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172023 6 минут назад, by_ix сказал: в логах мерчанта он есть. или это не то уже? После получения такого запросы сервер wm отвечает своим запросом, в котором должны быть определенные поля. Вставили правильно, давайте по другому попробуем. \IPS\Db::i()->insert( 'debug', array('data' =>json_encode(\IPS\Request::i()->LMI_PAYMENT_NO))); Можно не во все условия, а один раз над всеми. Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172023 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172024 Desti Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172024 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172025 Нормально, кстати. Сервер возвращает то, что надо, следовательно, проблема не в контроллере. Давайте для чистоты эксперимента вот такую конструкцию туда вставим.. \IPS\Db::i()->insert( 'debug', array('data' => json_encode(var_export(\IPS\Request::i(), true)) )); Должен быть полный ответ. Вам бы еще в табличку транзакций заглянуть, там вообще есть записи с такими индексами? Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172025 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172029 Какое отвратительное приложение... несуществующие переменные в коде, неправильные имена объектов, полный пц. Как такое дерьмо можно выкладывать в общий доступ (это не в адрес the.bunin , а в адрес автора этого чуда). Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172029 Share on other sites Больше вариантов
30 августа, 20213 yr Author comment_172030 Desti ну да, солидарен) Так то меня просто попросил by_ix скачать ему, ну я и решил выложить ещё. А потом уже начались эти качели с кривизной. Знал бы, что такой косяк сплошной, не выкладывал бы вообще Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172030 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172031 1 час назад, Desti сказал: Вам бы еще в табличку транзакций заглянуть, там вообще есть записи с такими индексами? не увидел этого. да, есть. 4 минуты назад, the.bunin сказал: А потом уже начались эти качели с кривизной. в первой версии всего этого, почему-то, не было. а на 4.6, она уже даже не добавляла способ оплаты в ац, эрроры летели. так бы на ней и остался. Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172031 Share on other sites Больше вариантов
30 августа, 20213 yr Author comment_172032 3 минуты назад, by_ix сказал: так бы на ней и остался. а бекапа то не осталось? Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172032 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172034 да ладно, вполне починябельно, тем более, что уже понятно, что делать. я в режиме эмуляции запросов дошел до финала, так что не всё потеряно Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172034 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172038 8 минут назад, the.bunin сказал: а бекапа то не осталось? бэкапа чего? я как обновился до 4.6, так версия приложения 1.0 сразу отвалилась. или даже на 4.4 перестала работать. уже помню. но на 4.2 точно она стояла. не откатывать же форум обратно на 4.2.) Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172038 Share on other sites Больше вариантов
30 августа, 20213 yr Author comment_172039 by_ix ааа, понял) думал просто в версии приложения только дело) Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172039 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172042 Вах, починякалось : ) Из найденного: В файлах source/Webmoney/Webmoney.php и /modules/front/Checkout/Checkout.php заменить несуществующую переменную $transactionAmount на $transaction->amount->amountAsString(), это даст нам правильную сумму в запросе и в проверке ответа. В файле source/Webmoney/Webmoney.php после строки с echo 'YES' добавить строку die(); Сервер ждет в ответ YES, а получал YES и до кучи дефолтную страницу форума. После этого вроде всё заработало. Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172042 Share on other sites Больше вариантов
30 августа, 20213 yr comment_172043 the.bunin обнови шапку. и огроменское спасибо @Desti, как всегда лучший. Webmoney Payment Gateway 1.0.1.tar Edited 30 августа, 20213 yr by by_ix Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=172043 Share on other sites Больше вариантов
17 ноября, 20213 yr comment_174862 Друзья, как заполучить простому человеку с улицы, у которого есть подтвержденный аттестат на WM, данные для активации этого чуда, которое вы тут дружно допилили? Shop ID и Secret Key. И будет ли это возможно, если физическое лицо, без ИП или ООО. Техподдержка WM говорит непонятные слова. Что им ответить, я не знаю. Link to comment https://ipbmafia.ru/topic/23460-webmoney-payment-gateway/?&do=findComment&comment=174862 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.