Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > Ruby и webMoney


Автор: ugly 28.5.2007, 14:57
Подскажите идеи реализации оплаты товаров по вебмани на руби?
Учитывая, что я в этом деле - новичек.  smile 

Автор: rubyclub 6.6.2007, 11:08
Елси ты реализовывал это дело на пхп то думаю у тебя и с руби не будет проблемм
дам просто форма которая есть на сайте вебманей  которая отправляет данные 

Автор: ugly 7.6.2007, 21:40
В том-то и проблема, что я эту задачу еще ни на чем не реализовывала. Но в общем, во всем разобралась. 
Просто сначала не по тому алгоритму все выполнять начала. 
В любом случае спасибо за внимние. smile  

Автор: rubyclub 26.6.2007, 10:39
Начнем с простого 
для начала тебе надо просто иметьакаунт на вебманях
потом стать авторизаваным пользователем, это около 15 -20 баксов стоит полю тебе надо будет заполнить заявку у своего регионального представителя вебманей.
После проверки твоих данных и сверкой их с паспортными данными через денек тебе сделают статус авторизированого пользователея.

Это для начала 

Потом заходишь https://merchant.webmoney.ru/  добавляешь свои кошельки на которые ты хочешь осуществлять свои переводы.

Добавляешь сайт  для работы и выбираешь тип подтверждения своего сайта закидываешь хитрый файлик себе в домашнюю директорию для верификации. 

Ну и естественно не забываешь читать мануалы. 


Код

<form id=pay name=pay method="POST" action="https://merchant.webmoney.ru/lmi/payment.asp">
<p>...... ....... ..... ...... Web Merchant Interface</p> <p>......... 1 WMZ...</p>
 <p>
        <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="1.0">
        <input type="hidden" name="LMI_PAYMENT_DESC" value="...... .......(........ ......)">
        <input type="hidden" name="LMI_PAYMENT_NO" value="1">
        <input type="hidden" name="LMI_PAYEE_PURSE" value="Z134288721523">
        <input type="hidden" name="LMI_SIM_MODE" value="0">
        <input type="hidden" name="LMI_SUCCESS_URL" value="http://fotolife.com.ua/pay/success.html">
        <input type="hidden" name="LMI_SUCCESS_METHOD" value="2">
        <input type="hidden" name="LMI_FAIL_URL" value="http://fotolife.com.ua/pay/fail.html">
        <input type="hidden" name="LMI_FAIL_METHOD" value="2">
        <input type="hidden" name="FIELD_1" value="VALUE_1">
        <input type="hidden" name="FIELD_2" value="VALUE_2">
</p>
<p> <input type="submit" value="submit"> </p>
</form>

<form id=pay name=pay method="POST" action="https://merchant.webmoney.ru/lmi/payment.asp">
<p>...... ....... ..... ...... By link in site catalog (Forever)</p> <p>......... 10 WMZ...</p>
 <p>
        <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="1.0">
        <input type="hidden" name="LMI_PAYMENT_DESC" value="...... .......(........ ......)">
        <input type="hidden" name="LMI_PAYMENT_NO" value="1">
        <input type="hidden" name="LMI_PAYEE_PURSE" value="Z134288721523">
        <input type="hidden" name="LMI_SIM_MODE" value="0">
        <input type="hidden" name="LMI_SUCCESS_URL" value="http://fotolife.com.ua/pay/success.html">
        <input type="hidden" name="LMI_SUCCESS_METHOD" value="2">
        <input type="hidden" name="LMI_FAIL_URL" value="http://fotolife.com.ua/pay/fail.html">
        <input type="hidden" name="LMI_FAIL_METHOD" value="2">
        <input type="hidden" name="FIELD_1" value="VALUE_1">
        <input type="hidden" name="FIELD_2" value="VALUE_2">
</p>
<p> <input type="submit" value="submit"> </p>
</form>

<form id=pay name=pay method="POST" action="https://merchant.webmoney.ru/lmi/payment.asp">
<p>...... ....... ..... ...... Web Merchant Interface</p> <p>......... 1 .........</p> <p>
 <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="1.0">
<input type="hidden" name="LMI_PAYMENT_DESC" value="...... .......(........ ......)">
<input type="hidden" name="LMI_PAYMENT_NO" value="1">
<input type="hidden" name="LMI_PAYEE_PURSE" value="U159641771969">
 <input type="hidden" name="LMI_SIM_MODE" value="0">
</p> <p> <input type="submit" value="submit"> </p>
</form>


Это для затравки так что елси будут вопросы то продолжай топик

Автор: ugly 19.7.2007, 14:31
Ога. Спасибо. ) Ознакомилась.  Работало все (пока в тестовом режиме). Т.к. захотелось усложнить себе задачу smile 
Собрать все способы оплаты в один модуль. (а чо? удобней, компактней и м.б. еще где пригодится). В руби я - лузер. ) Вот.. Создала модуль и, соотвественно каждому способу оплаты, по методу. Можно ведь через Net::HTTP пересылать данные на какой-то сайт через пост? Написала примерно следующее: 
def <Имя_модуля>.<имя_метода>(price, name, id, numb_purs) #необходимые данные для пересылки (при вызове этого метода в контроллере буду в качестве этих параметров записывать данные из базы)
require 'net/http'
require 'net/https'
http = Net::HTTP.new('merchant.webmoney.ru', 443)
http.use_ssl = true
path = '/lmi/payment.asp'
dat='pay'  # не понимаю, зачем это поле вообще? Что сюда вписывается? Из-за него (не, может и не только smile ) ошибка..
headers =  {'LMI_PAYMENT_AMOUNT'=>price, 
'LMI_PAYMENT_DESC'=>name, 
'LMI_PAYMENT_NO'=>id, 
 'LMI_PAYEE_PURSE'=>numb_purs, 
'LMI_SIM_MODE'=>'0'}
dat = http.post(path, dat, headers)
end

Вот такую фигню пишу.. По моему, тут почти все не правильно..  smile 

Автор: rubyclub 19.7.2007, 15:21
Так что работает уже ??? 
елси не тяжело выложишь у меня на форуме 
http://rubyclub.com.ua/

а то мне скоро тоже прийдется реализовавывать это дело на руби 


Автор: ugly 19.7.2007, 15:42
rubyclub, вне модуля работает. smile Ну а смысл в этих 3-х страницах rhtml-ких? В модуле косяк в переменной дат. Не могу разобраться, что это вообще за переменная.. в доках где-то выкопала пример с ней, а в каком именно доке - забыла.. smile 
..разбираюсь сейчас с ней. как разбирусь - отпишусь сдесь. ;-)))

Автор: DmbITpo 26.7.2009, 18:48
Скажите, пожалуйста, а как мне узнать, что пользователь оплатил счёт? 
вот я такой код разместил у себя на сайте

Код

<form action="https://merchant.wmtransfer.com/lmi/payment.asp" method="POST">
            <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="кол-во денег">
            <input type="hidden" name="LMI_PAYEE_PURSE" value="Z265035322167">
            <input type="hidden" name="LMI_PAYMENT_NO" value="номер">
            <input type="hidden" name="LMI_PAYMENT_DESC" value="Invoice #номер">
            <input type="hidden" name="LMI_SUCCESS_METHOD" value="0">
            <input type="hidden" name="LMI_FAIL_METHOD" value="2">
                <input type="submit" value="Click here if your browser doesn't support redirect">
        </form>


открывается окошко, там пользователь может оплатить счёт. И мне надо псле этого ему пополнить баланс. А как это сделать? как узнать что он именно оплатил счёт, а не просто закрыл окошко ? 

Заранее спасилбо за ответ!.

Автор: xtrasns 16.10.2009, 04:08
Цитата(DmbITpo @ 26.7.2009,  18:48)
Скажите, пожалуйста, а как мне узнать, что пользователь оплатил счёт? 
вот я такой код разместил у себя на сайте

Код

<form action="https://merchant.wmtransfer.com/lmi/payment.asp" method="POST">
            <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="кол-во денег">
            <input type="hidden" name="LMI_PAYEE_PURSE" value="Z265035322167">
            <input type="hidden" name="LMI_PAYMENT_NO" value="номер">
            <input type="hidden" name="LMI_PAYMENT_DESC" value="Invoice #номер">
            <input type="hidden" name="LMI_SUCCESS_METHOD" value="0">
            <input type="hidden" name="LMI_FAIL_METHOD" value="2">
                <input type="submit" value="Click here if your browser doesn't support redirect">
        </form>


открывается окошко, там пользователь может оплатить счёт. И мне надо псле этого ему пополнить баланс. А как это сделать? как узнать что он именно оплатил счёт, а не просто закрыл окошко ? 

Заранее спасилбо за ответ!.

а тебе должен прийти ответ 

Код

<w3s.response>
        <reqn></reqn> - number of the request the server is responding to 
        <retval></retval> - error code: 0 - successfully performed 
        <retdesc></retdesc> - error description if retval != 0
        <response_type>
            ... - response parameters
        </response_type>
    </w3s.response>



это описанно здесь - http://www.wmtransfer.com/eng/developers/interfaces/xml/index.shtml

а вообще, если кто-то написл библиотеку на рубях, которая это далает, поделитесь пожалуйста кодом. спасибо ! )

Автор: source777 16.10.2009, 10:50
Цитата(xtrasns @  16.10.2009,  04:08 Найти цитируемый пост)
а вообще, если кто-то написл библиотеку на рубях, которая это далает, поделитесь пожалуйста кодом. спасибо ! ) 

http://github.com/dekart/webmoney_acceptor

P.S. DmbITpo получает устное внушение за раскопки древних тем. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)