![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Cript777 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 30.10.2012 Репутация: нет Всего: нет |
Приветствую! Кто знаком с данной технологией? страница оплаты счета
inc_bank.php
Пользователь сам указывает сколько ему надо оплатить. Нужно чтобы после оплаты, игровой счет пополнялся на указанную сумму! Это сообщение отредактировал(а) Cript777 - 30.11.2012, 22:25 |
||||
|
|||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Ох, е-мае... Даже не знаю, с чего начать объяснять =)
Если уж работать с деньгами, надо чуть-чуть серьезнее к этому относится. Вопрос первый: вы читали вот это - http://wiki.webmoney.ru/projects/webmoney/...chant_Interface ? Если нет - прочитайте. Если да - попробую разжевать все подробно =) И еще... Вы настроили кошелек на прием платежей вот тут - https://merchant.webmoney.ru/conf/default.asp в разделе "Настройки"? Это сообщение отредактировал(а) Arantir - 30.11.2012, 23:18 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| Cript777 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 30.10.2012 Репутация: нет Всего: нет |
Первым делом именно это читал, а нашел только... LMI_PAYMENT_AMOUNT
Это тоже известно, но как понимаете еще нету самого rezult.php .. Это сообщение отредактировал(а) Cript777 - 1.12.2012, 00:12 |
||||
|
|||||
| Arantir |
|
||||||||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Отлично, что читали =)
Во-первых, добавьте в форму что-либо для идентификации пользователя. Например.поле для ввода ника, или, если у вас есть авторизация, то id автоматизированного пользователя. Что-либо, по чему вы определите, кто платил. WebMoney в ответе вернет вам все ваши пользовательские поля в неизменном виде. Далее создайте скрипт, на который WM отправляет ответ, ну т.е. result.php. Во-вторых, чтобы деньги доверчивого пользователя при какой-то ошибке не ушли зря и он в вас не разочаровался, следует обеспечить обработку предварительного запроса.
Дальше надо отработать уже запрос, идущий после успешной оплаты. Важная часть - проверить корректность платежа через формирование и проверку подписи.
Третье: Если вы принимаете платежи на кошельки разных валют, то вы можете использовать поле LMI_PAYEE_PURSE для определения валюты оплаты. Например, у вас 1 ваш виртуальный доллар стоит 1 USD или же 35 руб.
Для простой обработки платежа это, собственно, все. Так же рекомендую выполнить все следующие проверки, рекомендуемые WM:
1. Сверьте значение из PHP - $_SERVER['REMOTE_ADDR'] и эти IP - http://wiki.webmoney.ru/projects/webmoney/...%D1%81%D0%B0_WM 2. Проверку подписи мы уже обеспечили выше 3. Сумма должны быть больше ноля и в разумных пределах (обратите внимание на лимиты на странице настройки кошельков). 4. Номер в поле LMI_PAYEE_PURSE должен номером быть вашего кошелька. 5. LMI_MODE должен быть равен нулю. Если же это поле равно единице - магазин работает в тестовом режиме и деньги с плательщика не были сняты. Это сообщение отредактировал(а) Arantir - 1.12.2012, 01:02 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||||||
|
|||||||||
| Cript777 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 30.10.2012 Репутация: нет Всего: нет |
||||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Ну так в этом случае вам придется вырезать имя пользователя из строки "Пополнение счета имя_пользователя". А если добавить еще одно поле, содержащее только имя пользователя, то, во-первых, ничего не надо ниоткуда вырезать, во-вторых, обработка платежа не накроется медным тазом при изменении примечания (LMI_PAYMENT_DESC) на какое-то другое =) WebMoney - одна из немногих систем, где можно в форме отправить пользовательские поля и они вам вернутся. Как не воспользоваться таким удобством =) Это сообщение отредактировал(а) Arantir - 1.12.2012, 01:52 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| Cript777 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 30.10.2012 Репутация: нет Всего: нет |
Можно взглянуть на пример формы? таблица stats колонки player и winpot, такой запрос будет верным?
Это сообщение отредактировал(а) Cript777 - 1.12.2012, 02:17 |
||||
|
|||||
| Arantir |
|
||||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Не понимаю, что может быть непонятного...
Зависит от того, как у вас тип данных поля winpot. В SQL-запросах при операциях с числами (математических операциях) для текстовых (строчных, знаковых) полей значения надо указывать без кавычек. Иначе вы просто сольете 2 строки. Если filed - varchar и равно '50', а вы сделаете filed = filed + '50', то в итоге получите "5050". Но если сделать filed = filed + 50, то получите "100". Если filed - int, то не имеет значения. Все операции для числовых полей будут выполнятся как для чисел. Это сообщение отредактировал(а) Arantir - 1.12.2012, 03:04 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||
|
|||||
| Cript777 |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 30.10.2012 Репутация: нет Всего: нет |
Да , без кавычек верно, в отдельном файле запрос сработал. Но вот в result.php не функционирует.. что я мог не так сделать? форма
result.php
Это сообщение отредактировал(а) Cript777 - 1.12.2012, 04:09 |
||||
|
|||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
А вы комментарии перед копированием кода читали?
Я же не мог сходу вам написать полностью рабочий код. Я ж не экстрасенс. Вы как минимум должны были добавить в код запрос в БД с проверкой на существование пользователя и правильно сформировать под него условие для возврата YES. И у вас первый "if" два раза закрыт скобочкой "}". И у вас нет подключения к БД в result.php, хотя вы там делаете запрос. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| Cript777 |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 30.10.2012 Репутация: нет Всего: нет |
вот это и хотел узнать.. ) в начале файла добавляю
скрипт функционирует: открываю result.php обновляю страницу - все ок (устанавливаю параметру $money значение, например 2000), но если провести оплату (в моем случае тестовый платеж в 0.01 wmz ) ничего не обновляет.. sql запрос при создании stats
вот тут так и не разобрался, но влияет ли это. ? Это сообщение отредактировал(а) Cript777 - 1.12.2012, 17:52 |
||||||||
|
|||||||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
и потом еще удивляются как сайты ломают. если не могут разобраться в базовых вещах и с наскока берутся за платежные системы -------------------- Amazing |
|||
|
||||
| Cript777 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 30.10.2012 Репутация: нет Всего: нет |
MoLeX, ну меня Вы точно не удивите.. Вы лучше с наскока не беритесь отвечать, а то много таких "всезнающих", а в итоге гроша не стоят...
и ваш сайт взломаем)) Это сообщение отредактировал(а) Cript777 - 1.12.2012, 17:16 |
|||
|
||||
| Arantir |
|
||||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Это уже лично ваше дело, делать эти проверки или нет. Я всего лишь хотел показать, в каком месте вы можете добавлять разнообразные проверки на корректность платежа. Если у вас имя пользователя берется из текущего авторизированного пользователя, то, очевидно, оно уже заведомо правильное и существующее. Тогда можете просто возвращать YES для любого предварительного запроса:
Это сообщение отредактировал(а) Arantir - 1.12.2012, 17:58 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
||||
|
|||||
| Cript777 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 30.10.2012 Репутация: нет Всего: нет |
||||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |