В данном разделе вы сможете обучиться программированию интерфейсов взаимодействия торговых систем с системой интернет-эквайринга MONEY.UA.
Данный пример при затрате 30-60 минут на программирования может быть интегрирован в любую систему интернет-магазина или компании.
Для начала работы используется простейшая HTML-форма, в которой покупатель видит сумму оплаты, что он оплачивает и предлагаемый метод платежа:
После нажатия на кнопку "Далее" пользователь видит подтверждающую информацию, чтобы он мог проконтролировать правильность информации об оплачиваемом заказе.
Для учета заказов создайте таблицу баз данных с именем orders c подобной структурой:
CREATE TABLE `orders` (
Пример скрипта, который работает с системой интернет-эквайринга MONEY.UA, вы можете найти по адресу http://money.ua/study/lesson1.txt
Разбираем по частям данный скрипт:
<?
//Редакция тестовой программы от 25/03/2006
Создаем подключение к базе данных вашего
магазина
$base = "имя.базы";
$userbase = "имя.пользователя.базы";
$userpass = "пароль";
$database=mysql_connect ("localhost", $userbase, $userpass);
Указываем номрер мерчанта, полученный при
регистрации
$merchant = 3;
Указываем адрес доставки заказа
$deliver = "Тестовый магазин";
Указываем с кого снимается комиссия при
приеме платежа
// 1 - за счет фирмы, 2 - за счет покупателя, пустота - по настройкам в системе.
$comiss = "2";
Указываем ссылки для возврата покупателя
из торговой системы
$urlresult = "http://myurl/res.php";
$urlreturn = "http://myurl/ret.php";
$urlfail = "http://myurl/retfail.php";
Указываем каким методом будет возвращен
ответ о системы об удачном платеже
// GET - 1, POST - 2
$method = "2";
Устанавливаем признак тестового режима (0 -
выключен, 1 - включен)
$testmode = "1";
Устанавливаем секретный ключ, с помощью
которого формируется цифровая подпись.
$mypass = "NitrutrhHSDyh4hedhfy5";
Пример обработки переменных при начальном
приеме данных от пользователя.
$info = $_POST["info"];
$mp = $_POST["mp"];
$amount = $_POST["amount"]+0;
Устанавливаем переменные для работы
примера
$info = "оплата";
$amount=20;
$mp=1;
Приводим сумму заказа к целочисленной
форме в копейках
$amount = round($amount*100);
Формируем текущую дату в текстовом формате
$date = date("Ymd His");
Формируем запрос к базе для сохранения
информации об обрабатываемом заказе:
$sql0 = "insert into orders (info, amount, mydate) values ('$info', '$amount', '$date')";
$m=mysql_db_query($base, $sql0);
Получаем уникальный номер заказа в
торговой системе
$ordernum=mysql_insert_id();
Формируем текстовую строку для цифровой
подписи
$hash="$merchant:$mp:$comiss:$amount:$addvalue:$info:$deliver:$ordernum:$visa:$testmode:$urlresult:$urlreturn:$method:$mypass";
Получение цифровой подписи:
$hash = md5($hash);
Формирование полей для передачи в
эквайринговую систему:
$formvalue = <<<FRE
<form method="POST" action="http://www.money.ua/sale.php">
<input type="hidden" name="PAYMENT_AMOUNT" value="$amount">
<input type="hidden" name="PAYMENT_INFO" value="$info">
<input type="hidden" name="PAYMENT_DELIVER" value="$deliver">
<input type="hidden" name="PAYMENT_ADDVALUE" value="$addvalue">
<input type="hidden" name="MERCHANT_INFO" value="$merchant">
<input type="hidden" name="PAYMENT_ORDER" value="$ordernum">
<input type="hidden" name="PAYMENT_TYPE" value="$mp">
<input type="hidden" name="PAYMENT_RULE" value="$comiss">
<input type="hidden" name="PAYMENT_VISA" value="$visa">
<input type="hidden" name="PAYMENT_RETURNRES" value="$urlresult">
<input type="hidden" name="PAYMENT_RETURN" value="$urlreturn">
<input type="hidden" name="PAYMENT_RETURNMET" value="$method">
<input type="hidden" name="PAYMENT_RETURNFAIL" value="$urlfail">
<input type="hidden" name="PAYMENT_TESTMODE" value="$testmode">
<input type="hidden" name="PAYMENT_HASH" value="$hash">
<div align=center><input type=submit value="Оплатить!" name=B1></div>
</form>
FRE;
Вывод на экран формы для покупателя
echo $formvalue;
?>
Таким образом вы сможете сформировать запрос в эквайринговую систему, преобразовав данную программу под ваши нужны и добавив базу дополнительными полями в соответствии с требованиями вашего магазина.
Урок 1 закончен.