2017 © Pedro Peláez
 

library webmoney-merchant

WebMoney Merchant - PHP Library

image

vskut/webmoney-merchant

WebMoney Merchant - PHP Library

  • Thursday, February 18, 2016
  • by vskut
  • Repository
  • 1 Watchers
  • 3 Stars
  • 150 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 1 Versions
  • 20 % Grown

The README.md

О библиотеке WebMoney Merchant

Эта библиотека должна помочь вам в работе с интерфейсом WebMoney Merchant: https://wiki.webmoney.ru/projects/webmoney/wiki/Web_Merchant_Interface, (*1)

Навигация

  1. О библиотеке WebMoney Merchant
  2. Установка через Composer
  3. Использование
  4. Настройка WebMoney Merchant

Установка через Composer

  1. Устанавливаем Composer:, (*2)

    curl -sS https://getcomposer.org/installer | php
    
  2. Добавляем WebMoney Merchant в зависимость:, (*3)

    php composer.phar require vskut/webmoney-merchant:*@dev
    

Использование

Генерация формы

Пример: https://github.com/VSKut/WebMoney-Merchant/blob/master/examples/form.php, (*4)

Подключаем класс любым доступным образом, (*5)

Native:, (*6)

require_once('../src/WMMerchantForm.class.php');

Composer:, (*7)

require_once(__DIR__.'/vendor/autoload.php');

Используем пространство имён, (*8)

use VSKut\WebMoney_Merchant\WMMerchantForm;

Передаём кошелёк продавца, (*9)


$merchantForm = new WMMerchantForm('R000000000000');

Устанавливаем сумму для оплаты, (*10)

$merchantForm->setAmount(123.45);

Устанавливаем описание платежа, (*11)

$merchantForm->setDescription('Это описание платежа');

Устанавливаем номер платежа, (*12)

$merchantForm->setPaymentNumber(12);

Устанавливаем дополнительные параметры (не обязательно), (*13)

$merchantForm->setDataCustom(array(
    'USER_ID' => 15,
    'ITEM_ID' => 24,
    'CATEGORY_ID' => 1,
));

Передаём RESULT Url посредством формы (не обязательно), (*14)

Для использования своих URL через форму не забудьте выставить в настройках кошелька галочку на "Позволять использовать URL, передаваемые в форме", (*15)

$merchantForm->setResultUrl('http://vskut.ru/result.php');

Передаём SUCCESS Url и тип вызова посредством формы (не обязательно), (*16)

Для использования своих URL через форму не забудьте выставить в настройках кошелька галочку на "Позволять использовать URL, передаваемые в форме", (*17)

$merchantForm->setSuccessUrl('http://vskut.ru/success.php', 2);
/*
 * * Типы вызова:
 * 0 - GET
 * 1 - POST
 * 2 - URL
 * */

Передаём FAIL Url и тип вызова посредством формы (не обязательно), (*18)

Для использования своих URL через форму не забудьте выставить в настройках кошелька галочку на "Позволять использовать URL, передаваемые в форме", (*19)

$merchantForm->setFailUrl('http://vskut.ru/fail.php', 2);
/*
 * * Типы вызова:
 * 0 - GET
 * 1 - POST
 * 2 - URL
 * */

В конец формы добавляем JS скрипт с автоматической отправкой формы (не обязательно), (*20)

$merchantForm->setAutoSendForm();

Получаем HTML сгенерированной формы, (*21)

$html = $merchantForm->getHTML();

Just do it :), (*22)

echo $html;

RESULT обработчик

Пример: https://github.com/VSKut/WebMoney-Merchant/blob/master/examples/result.php, (*23)

Подключаем класс любым доступным образом, (*24)

Native:, (*25)

require_once('../src/WMMerchantCallback.class.php');

Composer:, (*26)

require_once(__DIR__.'/vendor/autoload.php');

Используем пространство имён, (*27)

use VSKut\WebMoney_Merchant\WMMerchantCallback;

Передаём кошелёк продавца, секретный ключ, POST данные, (*28)

$merchantCallback = new WMMerchantCallback('R000000000000', '000000000000000', $_POST);

Устанавливаем стоимость (не обязательно), (*29)

Если не установлено, то стоимость проверяться не будет и скрипт пропустит все платежи вне зависимости от суммы, (*30)

$merchantCallback->setAmount(123.45);

Проверяем данные запроса на валидность, (*31)

if ($merchantCallback->isInvalidData()) {

    echo $merchantCallback->getError();
    exit();

}

Проверяем тип запроса (pre-request или finally-request), (*32)

if ($merchantCallback->isPreRequest()) {

    /*
     * * Пришёл предварительный запрос, деньги от пользователя ещё не переведены
     * 1) Если нужно, то выполняем любые иные проверки
     * */

     $array = $merchantCallback->getData();

     $array = $merchantCallback->getDataCustom();

     /*
     * 2) Возвращаем успешный ответ "YES" и тем самым разрешаем выполнить запрос
     * */

    echo 'YES';

} else {

    /*
     * * Пришёл окончательный запрос, деньги уже у нас на кошельке
     * 1) Если нужно, то выполняем любые иные проверки
     * */

     $array = $merchantCallback->getData();

     $array = $merchantCallback->getDataCustom();

     /*
     * 2) Производим выдачу товара
     * */

}

Настройка WebMoney Merchant

Переходим к настройке кошелька

  1. Переходим на https://merchant.webmoney.ru
  2. Проходим авторизацию
  3. Идём в настройки https://merchant.webmoney.ru/conf/purses.asp
  4. Напротив нужного кошелька выбираем настроить

Настройка кошелька

  1. Указываем тестовый либо рабочий режим работы
  2. Указываем торговое имя
  3. Указываем Secret Key
  4. Указываем Result URL
  5. Выбираем check-box [x] Передавать параметры в предварительном запросе
  6. Указываем Success URL и метод его вызова
  7. Указываем Fail URL и метод его вызова
  8. При необходимости выбираем check-box [x] Позволять использовать URL, передаваемые в форме
  9. Выбираем в Метод формирования контрольной подписи - SHA256
  10. Сохраняем :)

The Versions

18/02 2016

dev-master

9999999-dev https://github.com/VSKut/WebMoney-Merchant

WebMoney Merchant - PHP Library

  Sources   Download

MIT

by Avatar vskut

merchant transfer webmoney web money wmtransfer