Jump to content

Featured Replies

проверить кто-нибудь ещё может? 

у меня ошибка вылезает на моменте нажатия кнопки "оплатить" на форуме. перекидывать в вм и пишет это:

1630316067.jpg.781de21a42abaee43f08c982a4ec8a38.jpg

в логах мерчанта это:

1630316061.jpg.e4d0d92b4fd05aae344f851eb23c01c6.jpg

в логах запроса это: 

1630316064.jpg.b0fdbd82d71c67bf2515cc0ba2d6c770.jpg

 

не передаётся сумма покупки. вопрос - почему? 

Найди в 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();?>">

Не уверен, что это единственная ошибка, но вроде цену он теперь должен передавать правильно. 

Desti спасибо, сдвинулись с места.
теперь после подтверждения платежа кодом вылезает ошибка:
123.PNG.1c919b9abf618684e662bcbafefa11e6.PNG

на форуме вм есть подобная тема, там советуют проверить файл на доступ через один сайт.
Result URL (/index.php?app=webmoney&module=webmoney&controller=controller) доступен:
123123.PNG.07e84e94e0fe82942d3c653341458f13.PNG

а вот Success и Fail (/index.php?app=webmoney&module=webmoney&controller=controller&success=1) выдают ошибку:
123123123.PNG.2ab4a6b5d357894c74b53c5898f716f7.PNG

нужно какие-то права на файл ставить?

также, при прямом вызове через форуме лезет это:

Показать контент

 

  On 30.08.2021 at 18:00, by_ix said:

а вот 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())));

Desti при каждой оплате только одна строка добавляется.
123123.PNG.f32b11bd5e74ab6784c370836b362662.PNG

я правильно понял, так же вставить?

Показать контент

 

  On 30.08.2021 at 18:49, Desti said:

LMI_PAYMENT_NO

в логах мерчанта он есть. или это не то уже?
321321.PNG.1e2b127963d2cc4c75ae6eacc1707dff.PNG

  On 30.08.2021 at 19:49, by_ix said:

в логах мерчанта он есть. или это не то уже?

После получения такого запросы сервер wm отвечает своим запросом, в котором должны быть определенные поля. 

Вставили правильно, давайте по другому попробуем. 

\IPS\Db::i()->insert( 'debug', array('data' =>json_encode(\IPS\Request::i()->LMI_PAYMENT_NO)));

Можно не во все условия, а один раз над всеми. 

 

Нормально, кстати. Сервер возвращает то, что надо, следовательно, проблема не в контроллере.

Давайте для чистоты эксперимента вот такую конструкцию туда вставим..

\IPS\Db::i()->insert( 'debug', array('data' => json_encode(var_export(\IPS\Request::i(), true)) ));

Должен быть полный ответ.

Вам бы еще в табличку транзакций заглянуть, там вообще есть записи с такими индексами?

Какое отвратительное приложение... несуществующие переменные в коде, неправильные имена объектов, полный пц. Как такое дерьмо можно выкладывать в общий доступ (это не в адрес the.bunin , а в адрес автора этого чуда).

  • Author

Desti ну да, солидарен) Так то меня просто попросил by_ix скачать ему, ну я и решил выложить ещё. А потом уже начались эти качели с кривизной. Знал бы, что такой косяк сплошной, не выкладывал бы вообще

  On 30.08.2021 at 20:24, Desti said:

Вам бы еще в табличку транзакций заглянуть, там вообще есть записи с такими индексами?

не увидел этого.
да, есть.
123123.thumb.PNG.34ff66e08fdc9913318a85e5f1fa47e8.PNG

  On 30.08.2021 at 21:31, the.bunin said:

А потом уже начались эти качели с кривизной.

в первой версии всего этого, почему-то, не было.
а на 4.6, она уже даже не добавляла способ оплаты в ац, эрроры летели.
так бы на ней и остался.

  On 30.08.2021 at 21:37, the.bunin said:

а бекапа то не осталось?

бэкапа чего? я как обновился до 4.6, так версия приложения 1.0 сразу отвалилась.
или даже на 4.4 перестала работать. уже помню.
но на 4.2 точно она стояла.
не откатывать же форум обратно на 4.2.)

Вах, починякалось : )

Из найденного:

В файлах source/Webmoney/Webmoney.php и /modules/front/Checkout/Checkout.php заменить несуществующую переменную $transactionAmount на $transaction->amount->amountAsString(), это даст нам правильную сумму в запросе и в проверке ответа. 

В файле source/Webmoney/Webmoney.php после строки с echo 'YES' добавить строку die(); Сервер ждет в ответ YES, а получал YES и до кучи дефолтную страницу форума. 

После этого вроде всё заработало.

  • 2 месяца спустя...

Друзья, как заполучить простому человеку с улицы, у которого есть подтвержденный аттестат на WM, данные для активации этого чуда, которое вы тут дружно допилили? Shop ID и Secret Key. И будет ли это возможно, если физическое лицо, без ИП или ООО.

Payment Methods - Google Chrome.jpg

Техподдержка WM говорит непонятные слова. Что им ответить, я не знаю. 

WebMoney Support - Google Chrome.jpg

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.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.