Помагите пожалуйста!!! Мне нужно сделать оплату WebMoney на моем сайте через систему WebMoney Merchant сразу на несколько кошельков при нажатии на одну кнопку "Оплатить". Это вообще возможно? На сайте WebMoney я нашел только оплату на Один кошелек, а в подробной инструкции WebMoney Merchant не могу разобраться что к чему.
Заранее благодарен!
#1 Новичок
Отправлено 26 ноября 2013 - 17:30
#2 Обычный пользователь, не сотрудник
Отправлено 27 ноября 2013 - 01:13
Первый вопрос: а нафига?
Вы что, пирамиду "семь волшебных кошельков" собрались строить?
Невозможно это. Потому что не могу представить, для чего могло понадобиться такое извращение (исключая упомянутый лохотрон).
И разработчики тоже не могли.
Можно сформировать файл для массовых платежей и попросить человека загрузить его для исполнения на соответствующий сервис.
Можно через выставление доверенностей и интерфейсы списывать средства с кошельков клиента, если тому придётся это по душе.
Можно самому через интерфейсы принятый один платёж клиента раскидывать по разным кошелькам со своего.
Только ещё раз - зачем?!
#3 Новичок
Отправлено 27 ноября 2013 - 16:31
Первый вопрос: а нафига?
Вы что, пирамиду "семь волшебных кошельков" собрались строить?
Невозможно это. Потому что не могу представить, для чего могло понадобиться такое извращение (исключая упомянутый лохотрон).
И разработчики тоже не могли.
Можно сформировать файл для массовых платежей и попросить человека загрузить его для исполнения на соответствующий сервис.
Можно через выставление доверенностей и интерфейсы списывать средства с кошельков клиента, если тому придётся это по душе.
Можно самому через интерфейсы принятый один платёж клиента раскидывать по разным кошелькам со своего.
Только ещё раз - зачем?!
Вы наверно не так поняли, у меня вот есть товар, и как мне сделать на сайте, чтобы покупатель мог выбрать какой валютой он будет оплачивать товар.
#4 Знаток
Отправлено 27 ноября 2013 - 17:19
Вы наверно не так поняли, у меня вот есть товар, и как мне сделать на сайте, чтобы покупатель мог выбрать какой валютой он будет оплачивать товар.
посмотрите тут. если что-то не ясно - задаём вопрос.
#5 Знаток
Отправлено 27 ноября 2013 - 17:41
Я так понял, что уму надо в форме выпадающее меню вида:
посмотрите тут. если что-то не ясно - задаём вопрос.Вы наверно не так поняли, у меня вот есть товар, и как мне сделать на сайте, чтобы покупатель мог выбрать какой валютой он будет оплачивать товар.
1 рубль
0,33 WMZ
100500 WMB
То есть, один товар, но разные суммы и разные валюты.
#6 Знаток
Отправлено 27 ноября 2013 - 17:44
Я так понял, что уму надо в форме выпадающее меню вида:
посмотрите тут. если что-то не ясно - задаём вопрос.Вы наверно не так поняли, у меня вот есть товар, и как мне сделать на сайте, чтобы покупатель мог выбрать какой валютой он будет оплачивать товар.
1 рубль
0,33 WMZ
100500 WMB
То есть, один товар, но разные суммы и разные валюты.
... и разное описание товара.
а так же настроить приём в Мерчанте, потому как по умолчанию все кошельки выключены и нет там никаких кодов и ссылок.
#7 Новичок
Отправлено 27 ноября 2013 - 21:45
Смотрите, вот товар http://wmshop.org/goods.php?id=74 (не реклама), там где покупка, есть выбор в какой валюте платить, как такое настроить? Кошельки мерчанта настроены у меня.
#8 Знаток
Отправлено 27 ноября 2013 - 22:08
Смотрите, вот товар http://wmshop.org/goods.php?id=74 (не реклама), там где покупка, есть выбор в какой валюте платить, как такое настроить? Кошельки мерчанта настроены у меня.
)) для этого нужно познать уже не HTML, а PHP... в случае HTML можно использовать тэг select и option. вот с того сайта код выпадающего списка:
вот сам код (чтоб не набирали, можете создать HTML и посмотреть, что будет):
<select class="button3" name="valyta" size="1"> <option value="Z" selected="">0.3 WMZ</option> <option value="R">9.68 WMR</option> <option value="E">0.26 WME</option> <option value="U">2.50 WMU</option> <option class="option_zp" value="ZP">9.68 Z-Payment</option> </select>
но так покупатель сможет выбирать только один параметра, а не два. а в случае формы Мерчанта один параметр отвечает за сумму, а второй за валюту:
<input type="hidden" value="СУММА" name="LMI_PAYMENT_AMOUNT"> <input type="hidden" value="КОШЕЛЁК" name="LMI_PAYEE_PURSE">
поэтому будет два select - это не разумно) тут только PHP спасёт)
Вы не думали поставить какой-нибудь модуль "магазина" на свой сайт или Ваш сайте не на CMS?
Сообщение отредактировал st-help.com: 27 ноября 2013 - 22:09
#9 Обычный пользователь, не сотрудник
Отправлено 28 ноября 2013 - 00:36
Тут скорее спасёт не серверный PHP, а клиентский браузерный JavaScript.
На примитивном же уровне можно реализовать и на чистом HTML, только придётся несколько форм насоздавать, отличающихся только кошельками и суммами
#10 Знаток
Отправлено 28 ноября 2013 - 10:35
Тут скорее спасёт не серверный PHP, а клиентский браузерный JavaScript.
На примитивном же уровне можно реализовать и на чистом HTML, только придётся несколько форм насоздавать, отличающихся только кошельками и суммами
почему PHP не спасёт?
#11 Обычный пользователь, не сотрудник
Отправлено 28 ноября 2013 - 20:54
А как это будет выглядеть с PHP?
Отсылаем запрос на сервер и он отдаёт нам ту же самую страницу, но в содержимом которой в форме отправки данных о платеже мерчанту будут фигурировать другой кошелёк и другая сумма? Из пушки по воробьям - лишние секунды, лишний трафик, лишняя нагрузка на хостинг.
С JavaScript же внедрённый в страницу скрипт в браузере клиента по нажатию какой-то кнопки или чего-то другого (например, переключателя: input с type="radio") просто меняет value нужного input-а ("нужность" определяется по name).
Я даже на форуме чего-то подобное показывал
#12 Знаток
Отправлено 28 ноября 2013 - 21:41
А как это будет выглядеть с PHP?
да вот мудрил сегодня, но что-то не срослось)
например, переключателя: input с type="radio"
а есть отличия select от radio? в первом случае выпадает список, а второй - переключаем кружочек.
в обоих случаях value - value и name-name.
Единственный интересный момент - это использовать "загадочную" (для меня, по крайней мере) форму от Мерчанта. Находится она тут. Я пытался настроить через Java оплату, но так и не получил желаемых результатов. Скорее всего от того, что я не программист, поэтому и "сел в лужу"))
#13 Обычный пользователь, не сотрудник
Отправлено 28 ноября 2013 - 22:48
а есть отличия select от radio? в первом случае выпадает список, а второй - переключаем кружочек.
в обоих случаях value - value и name-name
Ну да, там выпадающий список (хотя не только), а у input-а (само же слово переводится как "ввод") различные варианты ввода, которые задаются атрибутом type
Value (передаваемое на сервер в запросе значение) и name (название этого значения) это просто стандартные наименования.
С Merchant Wizard с автоматической генерации формы оплаты через "волшебную" ссылкуя экспериментировал - глючный (не работает русскоязычное примечание к платежу).
Какие желаемые результаты требовались? Для варианта без ссылки, просто для мастера-визарда там по сути ничего особенного нет, только выбор разных вариантов, которые генерируются для вставки на сайт этим мастером...
#14 Знаток
Отправлено 29 ноября 2013 - 01:32
а есть отличия select от radio? в первом случае выпадает список, а второй - переключаем кружочек.
в обоих случаях value - value и name-nameНу да, там выпадающий список (хотя не только), а у input-а (само же слово переводится как "ввод") различные варианты ввода, которые задаются атрибутом type
Value (передаваемое на сервер в запросе значение) и name (название этого значения) это просто стандартные наименования.
в form передаются одинаковые параметры или нет?
и я постараюсь на PHP сообразить и если что, то выложу сюда. а идея уже крутится:
if(!preg_match("страшные_цифры", $purse))
вот если разберу, как эта функция preg_match работает, то вообще проблема решена!)
тогда можно по кошельку определять. например, WMR, а дальше обработчик подставляет то, что нужно.
пример проверки адреса электронной почты есть:
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email))
но как оно работает я не понял))
Какие желаемые результаты требовались?
стандартная форма оплаты через JS.
Сообщение отредактировал st-help.com: 29 ноября 2013 - 09:58
#15 Обычный пользователь, не сотрудник
Отправлено 29 ноября 2013 - 02:43
From или form?
В форме передаётся то, что там выбрано-введено пользователем или "зашито" создателем.
Про PHP так и не могу понять, зачем что-то с ним соображать...
Регулярные выражения штука сложная и страшная, ночью про неё думать не хочется.
Первый символ строки пришедшей к нам в POST-запросе для определения типа кошелька, если цель в этом, можно узнать проще:
echo $_POST["LMI_PAYEE_PURSE"][0];
или
$purse = $_POST["LMI_PAYEE_PURSE"];
$wmvaluta = $purse[0];
(строка - массив символов, отсюда обращение к каждому символу как к отдельному элементу через квадратные скобки в конце, с номером элемента; а нумерация в программировании почти всегда идёт с нуля)
Дальше уже можно переходить к сравнению
if ($wmvaluta == 'R' || $wmvaluta == 'r') {
echo 'Платили в WMR';
} elseif ($wmvaluta == 'Z' || $wmvaluta == 'z') {
echo 'Платили в WMZ';
} else {
echo 'Не знаю, в чём платили';
}
Хотя правильнее было бы такой выбор делать через switch
Всё-таки не понимаю, зачем тут PHP, если надо через JS. Просто ещё раз напомню про
и покажу напоследок примитивный корявенький работающий код, который можно проверить
(я проверял по привычке по первой ссылке - копируем, вставляем, жмём на Submit Code и тестируем результат в правой половине экрана)
<form method="POST" action="https://merchant.webmoney.ru/lmi/payment.asp">
<input type="text" name="LMI_PAYEE_PURSE" value="R000111000111">
<input type="text" name="LMI_PAYMENT_AMOUNT" value="33">
<input type="text" name="LMI_PAYMENT_DESC" value="Test">
</form>
Я хочу заплатить: <button type="button" onclick="document.getElementsByName('LMI_PAYEE_PURSE')[0].value='R000111000111';document.getElementsByName('LMI_PAYMENT_AMOUNT')[0].value='33';">33 WMR</button>
<button type="button" onclick="document.getElementsByName('LMI_PAYEE_PURSE')[0].value='Z000222000222';document.getElementsByName('LMI_PAYMENT_AMOUNT')[0].value='1';">1 WMZ</button>
(тут нолик в квадратных скобках значит, что работаем с первым из всех найденных на странице html-элементов по имени - by name)
#16 Знаток
Отправлено 29 ноября 2013 - 10:21
From или form?
form.
Про PHP так и не могу понять, зачем что-то с ним соображать...
....
Всё-таки не понимаю, зачем тут PHP...
потому что 422823017274 давал ссылку и, как я понимаю, именно на PHP, а не на JS:
Смотрите, вот товар http://wmshop.org/goods.php?id=74 (не реклама), там где покупка, есть выбор в какой валюте платить, как такое настроить? Кошельки мерчанта настроены у меня.
и если там совершаем переход, то попадаем на вторую страницу. да, в случае с JS мы не уходим со страницы, проверка сразу же происходит на первой странице и второй будет уже сам Мерчант и это скорее всего лучше (для сервера). случай с JS лучше однозначно, если не вводятся никакие данные, а происходит выбор данных из какого-то списка. а в случае с вводом (мне кажется) будет лучше, если пользователь всё же перейдёт на вторую страницу и внимательно проверит введённые данные.
в любом случае с PHP напишу код, т.к. исходники не помешают. а вот с JS нужно разбираться. никогда не работал с ним...
#17 Знаток
Отправлено 01 декабря 2013 - 14:45
Стопорнулся в сравнении с символами.
Форма запроса (он же "index.php"):
или полный код на PHP:
Обработчик (он же "purse.php"):
или полный код на PHP.
по результатам видим, что цифры обрабатывает норм, а вот с символами
что не так?
PS: BB-код (code) движка форума оставляет желать лучшего...
Сообщение отредактировал st-help.com: 01 декабря 2013 - 14:52
#18 Обычный пользователь, не сотрудник
Отправлено 02 декабря 2013 - 00:42
Ой, какой ужас, для захвата нескольких символов же есть substr
Честно: из такого кода я не понял, что тут не так.
Символы как раз обработались норм - мы со страницы послали скрипту строчку 0.3 WMZ, её он нам и разобрал по символам (само собой показав только семь - больше-то и нет)
#19 Знаток
Отправлено 02 декабря 2013 - 00:48
Ой, какой ужас, для захвата нескольких символов же есть substr
substr позволяет вернуть строку определённой длины, а мне нужно сравнить символ в определённом месте строки с тем, который есть в коде (в обработчике)...
Честно: из такого кода я не понял, что тут не так.
Символы как раз обработались норм - мы со страницы послали скрипту строчку 0.3 WMZ, её он нам и разобрал по символам (само собой показав только семь - больше-то и нет)
Это всё ясно, но почему они в switch case не определились?.. точка и W почему их нет там?..
Сообщение отредактировал st-help.com: 02 декабря 2013 - 01:10
#20 Обычный пользователь, не сотрудник
Отправлено 02 декабря 2013 - 03:22
нужно сравнить символ в определённом месте строки с тем, который есть в коде
Конечная цель какая? Наверняка возможен красивый и лаконичный пируэт.
Это всё ясно, но почему они в switch case не определились?.. точка и W почему их нет там?..
В документации такого не увидел, найти тоже по-быстрому не получилось, уже сам выдвинул предположение и на практике оно подтвердилось. Правда при более глубоком изучении, причина оказалась всё-таки несколько в другом, но выложу весь ход мыслей.
(Кстати, я эксперименты на компьютере провожу через open-server.ru, раньше имел дело с Denwer-ом, но там уже несколько лет обещают версию 4, уже всякая вера в её появление пропала...
Есть ещё XAMPP, но я его не пробовал)
Одна из главных особенностей PHP - Манипуляции с типами
Предположение состояло в том, что мы мешаем в switch сразу и числа, и символы (правильнее - строки, просто длиной в один символ ).
И switch работает только с тем типом, с которого начинается первый case, то есть с числами, а символы игнорирует.
Но на самом деле такой результат со сплошными нулями выдаётся по другой причине.
Смотрим документацию по switch:
Quote
Заметьте, что конструкция swich/case использует неточные сравнения (==).
Далее - Таблица сравнения типов в PHP, конкретно - таблицу "Гибкое сравнение с помощью =="
Находим ячейку, находящуюся на пересечении 0 (нуля) и "php" (условное обозначение непустой строки), видим в ней TRUE.
Таким образом, сравнивая, например, 'W' с 0 мы всегда получим ИСТИНУ, а значит этот самый первый первый case сравнения с нулём всегда будет срабатывать. И в показанном результате всё верно - первый ноль получился при сравнении с реальным нулём, третья тройка - при сравнении с тройкой, остальное - результат сравнения строки с нулём.
Если бы свитчем использовалось жёсткое сравнение ===, такого бы не произошло. Кстати, в комментариях к статье документации есть замечания на эту тему.
Короче, как проще всего это побороть? Превращением цифр в строки, заключив их в одинарные или двойные кавычки:
Quote
switch ($_POST['purse'][$i]) {
case '0':
echo "$i это 0<br/>";
break;
...
Сообщение отредактировал AndrewTishkin: 02 декабря 2013 - 03:25
Еще теги с одним или более ключевыми словами: mercant, wmr, buy
Технологии и сервисы WMT →
Общие вопросы →
WMP->WMRАвтор Klimlos, 07 апр 2021 WMR, перевод |
|
|||
Технологии и сервисы WMT →
Сервис Exchanger →
Объемы на бирже. КУДА ПРОПАЛИ??? WMZ/WMRАвтор K U B I K, 05 янв 2021 об, ъем б, иржа, wmr |
|
|||
Технологии и сервисы WMT →
Пополнение кошельков →
Можно ли пополнить WMR кошелек ?Автор Іgordub, 01 июн 2020 оплата, пополнить, WMR, WMP |
|
|||
Технологии и сервисы WMT →
Общие вопросы →
ошибка перевода, хотя в лимит попадаюАвтор snake911, 10 апр 2020 wmr, лимит |
|
|||
|
Технологии и сервисы WMT →
Общие вопросы →
Средства на WMR-кошелькеАвтор Maksimm, 18 мар 2020 wmr |
|