Подключение платежной системы Интеркасса к своему магазину!
В прошлой статье, я провел краткий обзор новой платежной системы "Интернет Касса". Думаю она Вам также понравилась, как и мне! А поэтому в сегодняшней статье я решил рассказать, как подключить эту платежную систему к своему сайту!
Сразу рекомендую Вам скачать официальную документацию по этой платежной системе здесь и хорошенько с ней ознакомиться!
Итак, процедура работы системы INTERKASSA происходит в 3 этапа:

Этап 1: После выбора товара на витрине (Интернет-сайте) Продавца и последующего нажатия кнопки ОПЛАТИТЬ, Покупатель автоматически переходит к процедуре оплаты товара в системе INTERKASSA. Покупателю предоставляется список принимаемых валют и цены на товары в учетных единицах, которыми оперируют платежные системы.
Этап 2: Покупатель оплачивает товар, используя свои реквизиты в платежной системе. В случае, если платеж происходит удачно - система INTERKASSA уведомляет ПРОДАВЦА о том, что платеж осуществлен. Система предоставляет на выбор один из нескольких способов уведомления продавцов: серверное сообщение, ICQ сообщение, E-Mail, SMS с подробностями совершенного платежа.
Этап 3: После подтверждения платежа ПОКУПАТЕЛЬ автоматически перенаправляется системой на страницу ПРОДАВЦА, где завершается процедура оформления заказа и указывается способ и время доставки товара.
От слов к практике
Сразу обращаю Ваше внимание, что мы рассмотрим лишь частный случай, для одного товара.
Первым делом необходимо зарегистрироваться (если Вы еще не зарегистрированы) в платежной системе.
Все что вам нужно для регистрации вашего интернет-магазина в системе Интрекасса это:
Шаг 1: Зайти на сайт по этой ссылке:
Шаг 2: Пройти регистрацию
Шаг 3: Под зарегистрированным аккаунтом пройти авторизацию для перехода в админ панель.
Шаг 4: Добавить новый магизин, указав его название и URL.
Шаг 5: В разделе " Управление магазинами" перейти в "Настройки магазина" и произвести настройку.
Шаг 6: В разделе " Управление магазинами" нажать на кнопку "Активировать" напротив только что настроенного магазина. Ваша заявка на активацию будет подана в центр INTERKASSA на рассмотрение.
Остановимся подробнее на шаге 5 – «Настройки магазина»
Настройка магазина является очень важным шагом. От того насколько вы корректно заполните все поля, зависит количество времени, которое понадобится для активации вашего магазина.
Итак, в настройках магазина Вам потребуется ввести следующие данные:
- Название магазина
- URL магазина
- Описание магазина
- Success URL - URL вашего сайта, на который будет перенаправлен пользователь в случае удачного платежа
- Метод передачи Success URL
- Fail URL - URL вашего сайта, на который будет перенаправлен пользователь в случае НЕудачного платежа
- Метод передачи Fail URL
- Status URL - URL вашего сайта, на который будет приходить полная информация о платеже.
- Метод передачи Status URL
- Почтовые ящики для уведомлений о платежах
- Ваш текущий секретный ключ (secret_key)
Я перечислил лишь основные настройки магазина, теперь займемся созданием всех необходимых html-страниц Вашего сайта.
Для передачи информации между веб-сайтом продавца и сервисом Interkassa используются 4 основных HTML-формы:
- Форма запроса платежа - генерируется веб-сайтом продавца для формирования запроса на проведение платежа в сервисе Interkassa Payment Interface и передачи его через веб-браузер покупателя.
- Форма оповещения о платеже - генерируется сервисом Interkassa Payment Interface для передачи оповещения о платеже на веб-сайт продавца. Оповещение передается без использования веб-браузера покупателя, то есть напрямую от сервера «INTERKASSA» на сервер веб-сайта продавца.
- Форма выполненного платежа - генерируется сервисом Interkassa Payment Interface в случае успешного выполнения платежа и передается на веб-сайт продавца через веб-браузер покупателя.
- Форма невыполненного платежа - генерируется сервисом Interkassa Payment Interface в случае невыполнения платежа и передается на веб-сайт продавца через веб-браузер покупателя.
Более детальную информацию Вы найдете в официальной документации!
Итак, для начала создадим простую html-страницу и назовем её pay.html. На ней будет располагаться Форма запроса платежа. Её Вы найдете в настройках магазина. Выглядит она следующим образом:
<form name="payment" action="http://www.interkassa.com/lib/payment.php" method="post" target="_top"> <input type="hidden" name="ik_shop_id" value="9CF8F601-BN98-2EBE-449F-9EFC1ERA6CD7"> <input type="hidden" name="ik_payment_amount" value="10"> <input type="hidden" name="ik_payment_id" value="1"> <input type="hidden" name="ik_payment_desc" value="Оплата товара"> <input type="hidden" name="ik_paysystem_alias" value=""> <input type="submit" value="Перейти к оплате"/> </form>
Где:
- ik_shop_id - Идентификатор магазина зарегистрированного в системе "INTERKASSA".
- ik_payment_amount - Сумма платежа, которую Вы желаете получить от покупателя
- ik_payment_id – Идентификатор Вашего товара
- ik_payment_desc - Описание товара или услуги
- ik_paysystem_alias - Поле позволяет заранее определить способ оплаты для покупателя. Для того, что бы покупатель мог сам выбрать способ оплаты, оставьте это поле пустым.
Более детальную информацию Вы найдете в официальной документации!
Далее создадим страницу, которая будет показываться покупателю в случае успешной оплаты товара и назовем ее ok.html. Именно URL этой страницы и надо заносить в поле Success URL. Выглядеть она будет следующим образом:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Спасибо!</title>
</head>
<body>
<table border="1" align="center" cellpadding="10" cellspacing="0">
<tr>
<td align="center">
<h3>Готово</h3>
<h1>Спасибо!</h1>
<p>Сразу после зачисления платежа Вы получите уведомление на E-mail.</p>
<p>Если возникнут трудности - свяжитесь с администратором.</p>
</td>
</tr>
</table>
</body>
</html>
Теперь создадим страницу, которая будет показываться покупателю в случае не успешной оплаты товара и назовем ее fail.html. Именно URL этой страницы и надо заносить в поле Fail URL. Выглядеть она будет следующим образом:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Спасибо!</title>
</head>
<body>
<table border="1" align="center" cellpadding="10" cellspacing="0">
<tr>
<td align="center">
<h3>Оплата завершилась неуспешно</h3>
<h1>Оплата не была произведена!</h1>
<p><b>Оплата не была произведена и товар Вам не будет выслан.</b></p>
<p>Если возникнут трудности - свяжитесь с администратором.</p>
</td>
</tr>
</table>
</body>
</html>
Если в "Настройках магазина" Вы указали "Метод передачи Status URL - OFF", то на этом можно остановиться!
Мы же будем передавать данные на Status URL и метод передачи будет – POST.
Для этого создадим одну php-страницу и назовем её result.php.
При выполнении платежа Web Merchant Interface высылает оповещение о платеже через "Форму оповещения о платеже" на Status URL и передает продавцу реквизиты выполненного платежа в момент его совершения.
Более детальную информацию Вы найдете в официальной документации!
Здесь рекомендуется проверять следующие данные:
- Проверить, действительно ли данные переданы от сервиса Interkassa Payment Interface (Проверка источника данных)
- Проверить, не исказились ли данные в процессе передачи (Проверка целостности данных и электронной подписи)
- Проверить сумму платежа
- Проверить идентификатор получателя (Shop ID)
- Проверить статус проведения платежа (success или fail)
Тут у Вас наверное возникнет вопрос: "А как же это все проверить?".
Да очень просто! Во время оповещения о платеже сервисом Interkassa Payment Interface формируется контрольная подпись, которая учитывает " Secret Key", известный только Вам и сервису Interkassa Payment Interface.
Вот её мы и будем проверять!!!
Ознакомившись с документацией видно, что при формировании контрольной подписи сервис Interkassa Payment Interface "склеивает" значения полей, передаваемых "Формой оповещения о платеже", в одну строку с разделителем – ":", в следующем порядке:
- Идентификатор магазина (ik_shop_id);
- Сумма платежа (ik_payment_amount);
- Идентификатор платежа (ik_payment_id);
- Способ оплаты (ik_paysystem_alias);
- Пользовательское поле (ik_baggage_fields);
- Состояние платежа (ik_payment_state);
- Внутренний номер платежа в системе «INTERKASSA» (ik_trans_id);
- Курс валюты (ik_currency_exch);
- Плательщик комиссии (ik_fees_payer);
- Секретный ключ (secret_key);
После формирования этой строки, к ней приминают алгоритм MD5, после чего все буквы латинского алфавита переводятся в верхний регистр.
Выглядит это все примерно так:
<?php
/*Извлекаем данные из массива POST */
extract($_POST);
$ik_key = 'ddsfwerwegfhtr';//Сюда необходимо вписать Ваш Secret Key
$amount = '10';//Сюда необходимо вписать сумму платежа
/* Если контрольная подпись не передана, выводим ошибку */
if (empty($ik_sign_hash)){
die ('Error: Не переданы параметры');
}
/* Формирование контрольной подписи */
$sing_hash_str = $ik_shop_id.':'.$amount.':'.$ik_payment_id.':'.
$ik_paysystem_alias.':'.$ik_baggage_fields.':'.
$ik_payment_state.':'.$ik_trans_id.':'.
$ik_currency_exch.':'.$ik_fees_payer.':'.
$ik_key;
/* Применяем алгоритм MD5 и переводим буквы в верхний регистр */
$sign_hash = strtoupper(md5($sing_hash_str));
/* Проверка контрольной суммы */
if ($_POST['ik_sign_hash'] === $sign_hash){
/* Отправляем товар покупателю*/
}
else {
die ('Error: Неверная контрольная сумма');
}
?>
На этом все! Если что-то не понятно оставляйте свои комментарии!
-
Комментарии (5)
- Сайт
Facebook
Подписка
Подпишитесь прямо сейчас на почтовую рассылку:
"Новичку Инфо-Бизнеса.
От Простого К Сложному"
и получайте каждую неделю на свой электронный адрес список новых статей, опубликованных на страницах этого проекта.

3324
