PHP форум на ПЫХА.РУ

PHP форум на ПЫХА.РУ

Пыхнуть хотите? => Готовые решения => Тема начата: disc от 17 Январь, 2008, 10:23:57



Название: Класс для работы с Webmoney Merchant
Отправлено: disc от 17 Январь, 2008, 10:23:57
Хочу поделиться своим классом для работы с Webmoney Merchant. Простой в использовании класс для принятия платежей у себя на сайте.
Обязательные требования:

  • PHP5

  • Наличие минимум персонального сертификата у продавца

  • Использование HTTPS протокола

В приложеном архиве есть сам класс, пример использования скрипта и скриншот настройки мерчанта на сайте http://merchant.webmoney.ru/
 
Пример использования:
Для связи с БД этого скрипта необходимо в самом классе wmmerchant.class.php дописать в места с комментариями нужные запросы.
 
Text

<?php
    require_once("wmmerchant.class.php");
    /*
    Для отображения формы используйте wmmerchant.php?pay
    */
    $merchant = new WmMerchant();
    $merchant->setPrice(0.01); // цена товара
    $merchant->setDescription("Тестовая продажа"); // описание товара
    $merchant->setPurseNumber("Z000000000006"); // кошелек продавца
    $merchant->setPaymentNumber(1); // установить локальный номер платежа.
   
    if (isset($_GET['pay'])) {
        print "Интерфейс оплаты, сумма 0.01<br>";
        $form = $merchant->generatePayForm();//генерация формы для оплаты
        if ($form !== false) {
            print $form;
        } else {
            echo "Ошибка при генерации формы";
        }
    }
   
    if (isset($_GET['result'])) {
        $merchant->prerequest();//предпроверка полученных данных
    }
   
    if (isset($_GET['success'])) {
        if ($merchant->isSuccess()) {// если верные даныне получены
            print "Удачная оплата";//выполянем нужные действия
        }
    }
   
    if (isset($_GET['fail'])) { //платеж не прошел либо пользователь отменил его.
        print "Неудачная оплата";
    }
?>
 


Название: Класс для работы с Webmoney Merchant
Отправлено: md5 от 18 Январь, 2008, 10:10:40
спасибо, нужная весчь, попробую


Название: Класс для работы с Webmoney Merchant
Отправлено: adw0rd от 18 Январь, 2008, 10:25:57
Спасиб, мож пригодится :)


Название: Класс для работы с Webmoney Merchant
Отправлено: disc от 18 Январь, 2008, 04:28:06
Я живу в Приднестровье, и есть у нас филиалы поближе чем Москва и СПб, а в России так вообще в каждом городе есть, и цена 150-300 рублней не так велика для легального бизнеса.


Название: Класс для работы с Webmoney Merchant
Отправлено: Zhilinsky от 23 Апрель, 2008, 01:52:45
Не завелся класс почему-то, почему - пока не ясно, буду отлаживать...


Название: Класс для работы с Webmoney Merchant
Отправлено: disc от 23 Апрель, 2008, 03:06:28

Не завелся класс почему-то, почему - пока не ясно, буду отлаживать...
http://***/wmmerchant.php?pay для старта


Название: Класс для работы с Webmoney Merchant
Отправлено: Zhilinsky от 24 Апрель, 2008, 11:33:38
Пустая страница - что по http, что по https. Вывод ошибок правда отключен, надо ковырять...


Название: Класс для работы с Webmoney Merchant
Отправлено: Олег от 15 Март, 2009, 06:55:13
md5, опробовали?
Я уже третий день ковыряю http://owebmoney точка ru/merchant.shtml
Предполагаю, что на элементарном запнулся


Название: Класс для работы с Webmoney Merchant
Отправлено: disc от 15 Март, 2009, 07:03:10
Олег, есть какие-то проблемы при использовании моего скрипта?


Название: Класс для работы с Webmoney Merchant
Отправлено: Олег от 15 Март, 2009, 07:08:17
disc, он не делает проверку произведенного платежа. Вроде бы проверяет, а меняю любые данные и всеравно платеж проходит


Название: Класс для работы с Webmoney Merchant
Отправлено: disc от 15 Март, 2009, 07:11:27
Олег, комментарии в самом классе читали?
дело в том что это не конечный продукт, а прототип.


Название: Класс для работы с Webmoney Merchant
Отправлено: Олег от 15 Март, 2009, 07:18:40
disc, а есть конечный продукт?


Название: Класс для работы с Webmoney Merchant
Отправлено: disc от 15 Март, 2009, 07:21:50
Олег, я интегрирую данный скрипт в проекты где это необходимо и он жестко привязан к определенному виду БД и требованиям проекта. Попозже постараюсь найти свободное время и делать конечный продукт.


Название: Класс для работы с Webmoney Merchant
Отправлено: Олег от 15 Март, 2009, 07:28:23
disc, Понятно, значит рабочего скрипта мне не найти.


Название: Класс для работы с Webmoney Merchant
Отправлено: Олег от 15 Март, 2009, 07:32:10
Может гляниет бегло, где косяк в скрипте от сайта Owebmoney


Название: Класс для работы с Webmoney Merchant
Отправлено: disc от 15 Март, 2009, 07:32:36
Олег, данный скрипт рабочий и тербует интеграции в свой проект. А я так понимаю что вам нужен готовый продукт. Попробуйте в отдельной теме описать какие проблемы есть при использовании данного скрипта с приведением вашего кода и я попробую вам помочь. Готовый продукт необходимо искать в других местах, таких как фриланс-биржи, а у нас тут форум разработчиков и вам могут помочь советом.


Название: Класс для работы с Webmoney Merchant
Отправлено: phpdude от 21 Май, 2009, 02:37:11
полезно + опробовал кнопку "добавить в избр" ))


Название: Класс для работы с Webmoney Merchant
Отправлено: Wolf от 03 Сентябрь, 2009, 05:47:51
Скрипт дырявенький.
PHP
@$string = $_POST['LMI_PAYEE_PURSE'].$_POST['LMI_PAYMENT_AMOUNT'].$_POST['LMI_PAYMENT_NO'].$_POST['LMI_MODE'].$_POST['LMI_SYS_INVS_NO'].$_POST['LMI_SYS_TRANS_NO'].$_POST['LMI_SYS_TRANS_DATE'].$_POST['LMI_SECRET_KEY'].$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM'];
Вместо $_POST['LMI_SECRET_KEY'] должен быть секретный ключ, прописаный для кошеля. Иначе какой смысл в такой проверке хеша.


Название: Класс для работы с Webmoney Merchant
Отправлено: phpdude от 03 Сентябрь, 2009, 05:54:20
Wolf, КРОСАВЧЕГ!
Спустя 10 секунд добавил
ЕБИ НАШИХ!))


Название: Класс для работы с Webmoney Merchant
Отправлено: disc от 03 Ноябрь, 2009, 02:35:10
малоуважаемый Wolf. Обработав вашу заявку отвечаем :)
 
Выдержки из инструкций, документаций и прочей лабуды:

Secret Key
LMI_SECRET_KEY
Значение Secret Key, известное только продавцу и сервису Web Merchant Interface.
Это поле будет пустым, если параметр "Result URL" не обеспечивает секретность или не установлен флаг "Высылать Secret Key на Result URL...", или параметр "Result URL" изменен в форме.


Контрольная подпись данных о платеже
 
Контрольная подпись данных о платеже позволяет продавцу проверять как источник данных, так и целостность данных, переданных на Result URL через "Форму оповещения о платеже".
При формировании контрольной подписи сервис Web Merchant Interface "склеивает" значения полей, передаваемых "Формой оповещения о платеже", в одну строку в следующем порядке:
 
  1. Кошелек продавца (LMI_PAYEE_PURSE);
  2. Сумма платежа (LMI_PAYMENT_AMOUNT);
  3. Внутренний номер покупки продавца (LMI_PAYMENT_NO);
  4. Флаг тестового режима (LMI_MODE);
  5. Внутренний номер счета в системе WebMoney Transfer (LMI_SYS_INVS_NO);
  6. Внутренний номер платежа в системе WebMoney Transfer (LMI_SYS_TRANS_NO);
  7. Дата и время выполнения платежа (LMI_SYS_TRANS_DATE);
  8. Secret Key (LMI_SECRET_KEY);
  9. Кошелек покупателя (LMI_PAYER_PURSE);
 10. WMId покупателя (LMI_PAYER_WM).

https://merchant.webmoney.ru/conf/MD5valid.asp - тут можно проверить.
 
Предпологаю что ты решил это все не читать и я для тебя выпишу основное:
"Это поле будет пустым, если параметр "Result URL" не обеспечивает секретность или не установлен флаг "Высылать Secret Key на Result URL...", или параметр "Result URL" изменен в форме."
 
Так вот если пасс пихать всегда в мд5 сумму то хешы не совпадут.


Название: Класс для работы с Webmoney Merchant
Отправлено: adw0rd от 03 Ноябрь, 2009, 02:45:44
:D


Название: Класс для работы с Webmoney Merchant
Отправлено: phpdude от 03 Ноябрь, 2009, 02:57:40
:D
Спустя 13 секунд добавил
реальные пацаны на пiха.ру


PHP форум на ПЫХА.РУ