Webmoney Merchant и php

Статус
В этой теме нельзя размещать новые ответы.

rasandrey

Участник
Регистрация
2 Апр 2009
Сообщения
214
Реакции
6
Кто работал над интеграцией оплаты через webmoney? В общем есть форма, куда вводится сумма для пополнения вручную:

HTML:
<form id=pay name=pay method="POST" action="https://merchant.webmoney.ru/lmi/payment.asp">
<input type="text" name="LMI_PAYMENT_AMOUNT" value="">
<input type="hidden" name="LMI_PAYMENT_DESC" value="пополнение"> 
<input type="hidden" name="LMI_PAYMENT_NO" value="{$pop_id_user}"> 
<input type="hidden" name="LMI_PAYEE_PURSE" value="R188039656147">
<input type="hidden" name="LMI_SIM_MODE" value="0"> 
<input type="hidden" name="rmode" value="r">
<input type="submit" value="Пополнить">
</form>

Как теперь мне можно получить сумму, которую ввел пользователь в поле LMI_PAYMENT_AMOUNT в Result URL?

Пробую так:
PHP:
            if($_POST['LMI_PREREQUEST'] == 1) {
            session_start();
            $_SESSION['amount'] = $_POST['LMI_PAYMENT_AMOUNT'];
            echo 'YES'
            }

Но $_SESSION['amount'] остается пустым...
подскажите плиз
 
Ну конечно же пустым, ведь запрос идет на другой сервер)

Попробуй значение брать к примеру средствами аякса, в этом случае и суммы в разных валютах сможешь выводить)
 
Проверь на выходе LMI_PAYMENT_AMOUNT - выходит ли он, и потом проверь на получении $_POST['LMI_PAYMENT_AMOUNT'] - до своего условия
 
Перед отправкой серверу - писать в базу и при получении сверять все.
 
разобрался, сделал немного иначе: 1 форма перекидывает на страницу с другой формой (где уже есть поля с первой формы под hidden) и типа сообщение :
"Сейчас будет выполнено перенаправление. Если Ваш браузер не поддерживает перенаправление, нажмите кнопку :"

Увидел на одном из сайтов, посчитал, что так будет удобнее
 
разобрался, сделал немного иначе: 1 форма перекидывает на страницу с другой формой (где уже есть поля с первой формы под hidden) и типа сообщение :
"Сейчас будет выполнено перенаправление. Если Ваш браузер не поддерживает перенаправление, нажмите кнопку :"
Увидел на одном из сайтов, посчитал, что так будет удобнее

ИМХО это проще - является полным бред ....

пример:
на странице А юзер вводит цену 1$
( насколько я понял то приложения "Локально" фиксирует эту цену)

его перекидывает на страницу B где под хайдом уже прописан 1$ ....
юзер открывает исходный код страницы и изменяет 1$ на 0.01$

Потом с страницы B его перекидывает на Мерчант с запросом на оплату 0.01$ а не 1$ ....

А так как фиксация походу идет на первой странице где стоит 1 бакс то после получения ответа об успешно завершенной операции будете думать что вам заплатили 1 бакс а на самом деле окажется что 0.01 ......
---------------------------------------------------
в Result URL сумма берется из $_POST['LMI_PAYMENT_AMOUNT'] но хранить ее в сессии никакого смысла особенно сохраняя на странице Result URL

если вы хотите юзеру на финальной странице написать что-то типа "вы заплатили столько то денег... бла-бла-бла" ...
то более верным будет при проверке в Result URL сохранить номер платежа в БД (и с ним цену и все что нужно ) ... а на результируюзей странице брать номер платежа ( который туда передаст мерчант) и по нему драть все что нужно с бД
или же по номеру платежа через X18 проверять результат и оттуда цену брать
 
ИМХО это проще - является полным бред ....
пример:
на странице А юзер вводит цену 1$
( насколько я понял то приложения "Локально" фиксирует эту цену)
его перекидывает на страницу B где под хайдом уже прописан 1$ ....
юзер открывает исходный код страницы и изменяет 1$ на 0.01$
Потом с страницы B его перекидывает на Мерчант с запросом на оплату 0.01$ а не 1$ ....
А так как фиксация походу идет на первой странице где стоит 1 бакс то после получения ответа об успешно завершенной операции будете думать что вам заплатили 1 бакс а на самом деле окажется что 0.01 ......
---------------------------------------------------
в Result URL сумма берется из $_POST['LMI_PAYMENT_AMOUNT'] но хранить ее в сессии никакого смысла особенно сохраняя на странице Result URL
если вы хотите юзеру на финальной странице написать что-то типа "вы заплатили столько то денег... бла-бла-бла" ...
то более верным будет при проверке в Result URL сохранить номер платежа в БД (и с ним цену и все что нужно ) ... а на результируюзей странице брать номер платежа ( который туда передаст мерчант) и по нему драть все что нужно с бД
или же по номеру платежа через X18 проверять результат и оттуда цену брать

Маленько не понял, как человек "меняет исходный код страницы" :)
Я к сожалению не работал с вебмани, работал с либерти. Но суть мерчанта одна и та же.
Я делал по простому - бралось 2 страницы, к примеру на первой странице вписывалась сумма, на второй странице выводилась эта сумма из сессии и к примеру требовалось подтвердить капчей или ввести скажем емейл и счет, после чего все данные загонялись в переменные и переменные пересылались на мерчант :) Это я привел пример сервиса по обмену валют (кусочек обработчика).
Через базу со сверкой переменных можно, но это туго и тупо...
Хотя возможно я и ошибаюсь, но этом чисто мое ИМХО.
 
Через базу со сверкой переменных можно, но это туго и тупо...
для обменника нужно проверять как минимум есть ли нужная сумма денег для обмена ... ну а эту сумму естественно с БД брать ...
для магазина нужно проверять соответствует ли сумма оплаты стоимости товара ... - ну а стоимость товара то вить тоже в БД храниться ...
можно не проверять наверно только если на ваш кошелек жертвуют произвольную сумму денег не имеющую ни к чему отношения
 
хотя если не ошибаюсь то обменник должен возвращать средства по которым не был совершен обмен
Угу... WMID в бан могут отправить с помощью тузлы небезизвестного клуба.
Логи попытки взлома налицо (подмена суммы). Рекомендую так не шутить :)
 
Угу... WMID в бан могут отправить с помощью тузлы небезизвестного клуба.
Логи попытки взлома налицо (подмена суммы). Рекомендую так не шутить :)
намекните что за тулза?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху