О библиотеке WebMoney Merchant
Эта библиотека должна помочь вам в работе с интерфейсом WebMoney Merchant: https://wiki.webmoney.ru/projects/webmoney/wiki/Web_Merchant_Interface, (*1)
Навигация
-
О библиотеке WebMoney Merchant
- Установка через Composer
-
Использование
-
Настройка WebMoney Merchant
Установка через Composer
-
Устанавливаем Composer:, (*2)
curl -sS https://getcomposer.org/installer | php
-
Добавляем 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
Переходим к настройке кошелька
- Переходим на https://merchant.webmoney.ru
- Проходим авторизацию
- Идём в настройки https://merchant.webmoney.ru/conf/purses.asp
- Напротив нужного кошелька выбираем
настроить
Настройка кошелька
- Указываем
тестовый
либо рабочий
режим работы
- Указываем торговое имя
- Указываем
Secret Key
- Указываем
Result URL
- Выбираем check-box [x]
Передавать параметры в предварительном запросе
- Указываем
Success URL
и метод его вызова
- Указываем
Fail URL
и метод его вызова
- При необходимости выбираем check-box [x]
Позволять использовать URL, передаваемые в форме
- Выбираем в
Метод формирования контрольной подписи
- SHA256
- Сохраняем :)