Обучающая программа по программированию
системы интернет-эквайринга "Money.ua"

В данном разделе вы сможете обучиться программированию интерфейсов взаимодействия торговых систем с системой интернет-эквайринга MONEY.UA.

Данный пример при затрате 30-60 минут на программирования может быть интегрирован в любую систему интернет-магазина или компании.

Урок 1: передача параметров в систему.

Для начала работы используется простейшая HTML-форма, в которой покупатель видит сумму оплаты, что он оплачивает и предлагаемый метод платежа:

 


Оплачиваемый товар: (поле info)
Сумма:                     (поле amount)

ВЫБЕРИТЕ СПОСОБ ОПЛАТЫ

VISA/Master Card VISA Card MasterCard
НСМЭП НСМЭП
WMZ

WebMoney

WMR
WMU
ПРИВАТ24-ГРН
Яндекс.Деньги
(поле mp)

 

После нажатия на кнопку "Далее" пользователь видит подтверждающую информацию, чтобы он мог проконтролировать правильность информации об оплачиваемом заказе.

 

 

Для учета заказов создайте таблицу баз данных с именем orders c подобной структурой:

 

CREATE TABLE `orders` (
`num` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`info` VARCHAR( 255 ) NOT NULL ,
`amount` BIGINT UNSIGNED NOT NULL ,
`
mydate` VARCHAR( 20 ) NOT NULL ,
`moneyua_uniq` BIGINT UNSIGNED NOT NULL ,
`done` TINYINT UNSIGNED NOT NULL
)

 

Пример скрипта, который работает с системой интернет-эквайринга 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 закончен.

 

Последняя редакция: 26/03/2006
Copyright © 2000-2006 Cherkashyn Vyacheslav