Перейти к содержимому


Фотография

Метод запроса платежа в Web Merchant Interface


  • Пожалуйста, авторизуйтесь для ответа.
5 ответов в данной теме

#1 Новичок 110148167522 (WMID 110148167522 )

  • Группа: Пользователи
  • сообщений 3
  • Регистрация: 14-июня 19
  • Webmoney BL

Отправлено 14 июня 2019 - 19:14

Здравствуйте!

 

В документации формы запроса платежа написано, что нужно использовать http method POST. Это не совсем удобно. Возможно ли как-то использовать GET? Или может есть какие-то обходы?

 

Сценарий работы с юзером такой:

1. Юзер вводит сколько хочет заплатить

2. Нажимает на кнопку, идет POST запрос к серверу (без полей lmi_*)

3. Сервер отвечает редиректом с нужными lmi_* полями для формирования платежа

4. Юзер перенаправляется на https://merchant.web...payment_utf.asp

 

Сейчас похоже так нельзя сделать? Может я могу сделать пост запрос прямо с сервера на webmoney, получить ответ с нужными куками и ответить юзеру?


    • 0
  • Наверх

#2 Знаток ^-^ (WMID 273407224562 )

  • Группа: Пользователи
  • сообщений 6 059
  • Регистрация: 10-сентября 13
  • Webmoney BL

Отправлено 14 июня 2019 - 23:25

Здравствуйте!
 

Это не совсем удобно.

Не совсем удобно что - сформировать форму <form> с нужными <input>? o_0
 

Или может есть какие-то обходы?

Есть X22.
 

Сценарий работы с юзером такой:
1. Юзер вводит сколько хочет заплатить
2. Нажимает на кнопку, идет POST запрос к серверу (без полей lmi_*)
3. Сервер отвечает редиректом с нужными lmi_* полями для формирования платежа
4. Юзер перенаправляется на https://merchant.web...payment_utf.asp

Не совсем ясно из сего главное: зачем посылать POST серверу без LMI_*** и откуда он БЕЗ LMI_*** перекинет на LMI_***?!
 

Может я могу сделать пост запрос прямо с сервера на webmoney, получить ответ с нужными куками и ответить юзеру?

В чём собственно сложности?
POST от web-сервера (сайта) на сервер WebMoney Merchant осуществляется путём "curl post".


Сообщение отредактировал ^-^: 14 июня 2019 - 23:27

Бесплатный SSL на 3 мес. / Сертификат SSL от 299 руб.
    • 0
  • Наверх

#3 Новичок 110148167522 (WMID 110148167522 )

  • Группа: Пользователи
  • сообщений 3
  • Регистрация: 14-июня 19
  • Webmoney BL

Отправлено 15 июня 2019 - 23:11

Спасибо за ответ!

 

Не совсем ясно из сего главное: зачем посылать POST серверу без LMI_*** и откуда он БЕЗ LMI_*** перекинет на LMI_***?!

 

Тут я имел ввиду сервер продавца. Он формирует нужные LMI_* поля и отвечает юзеру редиректом уже на сервер weboney, но GET метод не поддерживается. Спасибо за X22, похоже я смогу что-то подобное сделать через него.

 

В чём собственно сложности?
POST от web-сервера (сайта) на сервер WebMoney Merchant осуществляется путём "curl post".

 

Тут нет ничего сложного, просто можно ли так делать и не заблокирует ли нас webmoney за то, что не сам юзер на прямую делает пост запрос?

 

Не совсем удобно что - сформировать форму <form> с нужными <input>? o_0

 

В документации рекомендуется передавать LMI_PAYMENT_NO, который должен быть уникальным. При этом, с помощью этого поля, продавец может проверять оплату в форме предварительного платежа, например, поля amount, description итд. Это означает, что при открытии формы юзером для оплаты, это поле (LMI_PAYMENT_NO), вместе с другими, уже должно быть занесено в базу, но это не очень удобно каждый раз при открыти формы на сайте продавца создавать запись в базе.


    • 0
  • Наверх

#4 Знаток ! добрый торговец ! (WMID 217358758215 )

  • Группа: Пользователи
  • сообщений 9 849
  • Регистрация: 18-мая 09
  • МестоположениеЭфиопия
  • Webmoney BL

Отправлено 15 июня 2019 - 23:51

Тут нет ничего сложного, просто можно ли так делать и не заблокирует ли нас webmoney за то, что не сам юзер на прямую делает пост запрос?

Досить не будете - не заблокирует. На всякий случай, защиту от флуда ставить нужно, чтобы юзер плохого не натворил, иначе, ай-пи сервера может в бан попасть.

Сообщение отредактировал ! добрый торговец !: 15 июня 2019 - 23:52

    • 0
  • Наверх

#5 Знаток ^-^ (WMID 273407224562 )

  • Группа: Пользователи
  • сообщений 6 059
  • Регистрация: 10-сентября 13
  • Webmoney BL

Отправлено 16 июня 2019 - 00:03

Пожалуйста!

В документации рекомендуется передавать LMI_PAYMENT_NO, который должен быть уникальным. При этом, с помощью этого поля, продавец может проверять оплату в форме предварительного платежа, например, поля amount, description итд. Это означает, что при открытии формы юзером для оплаты, это поле (LMI_PAYMENT_NO), вместе с другими, уже должно быть занесено в базу, но это не очень удобно каждый раз при открыти формы на сайте продавца создавать запись в базе.

Т.е. проблема всего лишь в том, чтоб не создавать запись в БД? С точки зрения безопасности лучше, чтоб данные платежа были известны сайту, потому что сервер WebMoney не знает, какую сумму, под каким номером и за что должен заплатить покупатель. Это известно только продавцу, т.е. только его сайту.

Но если не хотите пихать в БД данные, тогда возникнет ситуация, когда пользователь заплатит сумму, которую всё равно пихать в БД. И тогда нужно проверять, верную ли сумму заплатил покупатель. А если меньшую? Тогда доплата или возврат. Не меньший гемор  :lol:

Будет проще работать с "пиханием" в базу данных значений и через, например, неделю их оттуда удалять, если платёж не был совершён. Cron (планировщик задач) в помощь  ;)


Сообщение отредактировал ^-^: 16 июня 2019 - 00:03

Бесплатный SSL на 3 мес. / Сертификат SSL от 299 руб.
    • 0
  • Наверх

#6 Новичок 110148167522 (WMID 110148167522 )

  • Группа: Пользователи
  • сообщений 3
  • Регистрация: 14-июня 19
  • Webmoney BL

Отправлено 20 июня 2019 - 14:22

Спасибо за помощь! Сделал через X22


    • 0
  • Наверх