![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 7
|
Нужно вставить во флешку мерчант интерфейс вебмани. Webmoney.ru предлагает простой пример организации приема платежа через html:
Цитата:
|
|
|||||
|
Модрон-ветеринар
|
Наверное, вам нужно не просто чтобы кнопка "находилась" во флеше, но и платеж обеспечивался при ее нажатии? Но приведенный код во флеш вы не вставите.
Для выполнения того, что делает форма, попробуйте использовать класс LoadVars и его метод sendAndLoad. См. пример в хелпе. Второе. По приведенному вами коду в браузер после нажатия кнопки загружается код, которые выдает payment.asp, то есть обрабатывающий скрипт. Нужен ли его вывод или нет, неизвестно, смотрите сами. Ведь если будете использовать sendAndLoad скрипт отработается, но перезагрузки страницы не произойдет. Если там есть какая-то важная инфа, необходимая для вывода юзеру, нужно получить вывод скрипта в том же sendAndLoad, распарсить и отрисовать во флешке.
__________________
Идите первым! Последний раз редактировалось mooncar; 25.11.2010 в 10:15. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 7
|
Благодарю за ответ
Мне нужно, чтобы при нажатии кнопки выполнялось это действие: Цитата:
Цитата:
|
|
|||||
|
Модрон-ветеринар
|
Я же написал - используйте метод sendAndLoad. HTML код во флеше не будет работать.
Гляньте синтаксис в хелпе. Вкратце - создаете экземпляр LoadVars, задаете ему переменные, которые есть в форме (LMI_PAYMENT_AMOUNT и т.д, то что name) и их значения (то, что в value), вызываете по нажатию произвольной кнопки скрипт payment.asp с помощью sendAndLoad методом POST. Это сложнее описать, проще сделать - работы на 5 минут. Если что-то тут и не получится - это по причине необходимости использования https, а не http. Для этого надо почитать про метод allowInsecureDomain. Тут я вам не смогу подсказать, не использовал. Добавлено через 9 минут var slv:LoadVars = new LoadVars(); slv.LMI_PAYMENT_AMOUNT = '1.0'; slv.LMI_PAYMENT_DESC = 'тестовый платеж'; slv.LMI_PAYMENT_NO = '1'; slv.LMI_PAYEE_PURSE = 'Z145179295679'; slv.LMI_SIM_MODE = '0'; var rlv:LoadVars = new LoadVars(); rlv.onLoad = function (suc:Boolean) //для получения ответа, что соединение со скриптом состоялось { if (suc) { trace('отправка удалась'); } }; btn_send.onRelease = function() { slv.sendAndLoad('https://merchant.webmoney.ru/lmi/payment.asp', rlv, 'POST'); };
__________________
Идите первым! Последний раз редактировалось mooncar; 25.11.2010 в 12:52. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 7
|
Пишет, что отправляет)
И еще вопрос - что где дописать, чтобы флеш сначала открывал браузер и в нем уже отправлял эти запросы на сервер? |
|
|||||
|
Модрон-ветеринар
|
Цитата:
Зачем вам открывание браузера, если вы хотите все из флеша делать? Если вы хотите, чтобы открывалась ваша HTML страничка с этой формой, просто используйте getURL
__________________
Идите первым! |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 7
|
Да, запутал я Вас..
На сайте есть флешка, где посетитель выбирает что оплачивать, за сколько, итого после выбора им товара(ов) в флешке остаются переменные – цена, название товара. После этого переменные подставляю в: Цитата:
После этого браузер запрашивает авторизацию кошелька -> авторизация -> оплата товара с параметрами, которые были переданы. |
|
|||||
|
Модрон-ветеринар
|
Ну напишите php-скрипт, вызов которого происходил бы из флешки с открытием новой страницы и получением из нее введенных данных.
Данные передать ему можно с помощью GET-строки: LMI_PAYMENT_AMOUNT = value1; LMI_PAYMENT_DESC = value2; ... btn_send.onRelease = function() { getURL('pay.php?LMI_PAYMENT_AMOUNT=' + value1 + '&LMI_PAYMENT_DESC=' + value2.... , '_blank'); }; Кусок pay.php для такого решения:
__________________
Идите первым! Последний раз редактировалось mooncar; 25.11.2010 в 15:32. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 7
|
Ясно, так еще сложнее) Думал на флеше это все будет реализовать проще..
Буду искать обходные пути. Благодарю за ответы! |
|
|||||
|
Модрон-ветеринар
|
Я вам указал обходной путь.
Превращаете pay.html в pay.php и вызываете его по клику из флеша с передачей данных и автоматической их подстановкой в скрытые поля формы. Добавлено через 3 минуты Ха, попробуйте более простое решение: var slv:LoadVars = new LoadVars(); slv.LMI_PAYMENT_AMOUNT = '1.0'; slv.LMI_PAYMENT_DESC = 'тестовый платеж'; slv.LMI_PAYMENT_NO = '1'; slv.LMI_PAYEE_PURSE = 'Z145179295679'; slv.LMI_SIM_MODE = '0'; btn_send.onRelease = function() { slv.send('https://merchant.webmoney.ru/lmi/payment.asp', '_blank', 'POST'); }; Только пробуйте это из опубликованной на странице флешки, а не просто из запущенной swf! Потому что Цитата:
__________________
Идите первым! Последний раз редактировалось mooncar; 25.11.2010 в 15:49. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|