Реклама





РЕКЛАМА

UpgradeHost


недорогая реклама в интернете
ОНЛАЙН НА САЙТЕ
Всего на сайте: 4
Пользователей: 0
Гостей: 4
Подключаем ИНТЕРКАССУ к проектам
Автор: Hitman | Дата: 30-11-2012, 00:20 | Комментариев: 0 | Просмотров: 2288
Подключаем ИНТЕРКАССУ к проектам

Итак, первым делом регистрируемся на интеркассе.
Далее добавляем свой магазин. Это несложно. После добавления магазина идём в его настройки...

Отсюда нам важно:
1. STATUS URL
STATUS URL - ссылка на файл, который будет обрабатывать наш платёж и автоматически выполнять действия. URL должен быть без передаваемых GET и POST запросов в скрипт. Это и есть небольшой косяк интеркассы. Т.е., если в STATUS URL забить http://site.ru/index.php?page=interkassastatus - платежи вообще не будут обрабатываться.

Решения проблемы:
- Создаём прямой PHP файл
- Прописываем реврайт в .htaccess


RewriteEngine On
RewriteRule ^ik_result$ index.php?page=blablabla [L]



index.php?page=blablabla - Наша ссылка на обрабатывающую страницу для интеркассы. После прописанного реврайта ссылка на STATUS URL приобретёт вид http://site.ru/ik_result

2. Метод передачи STATUS URL
Выбираем POST

3.SUCCESS URL, FAIL URL
Если нет файлов с выводом ошибки или информации об успешно проведённом платеже - не стоит париться - можно просто вставить ссылки на главную страницу проекта. Метод не меняем, оставляем LINK

4.SecretKey
Он нужен будет в обрабатывающем файле. Запоминаем. генерируется он автоматически

5.ID магазина
Нужен будет нам при составлении формы оплаты.

Приступаем. Начнём с написании кнопок оплаты...

Подключаем ИНТЕРКАССУ к проектам


После принятия скриптом запроса на составление заявки нам необходимо вывести кнопку для оплаты. Код кнопки имеет вид:
<form name="payment" action="http://www.interkassa.com/lib/payment.php" method="post" target="_top">
<input type="hidden" name="ik_shop_id" value="ID магазина">
<input type="hidden" name="ik_payment_amount" value="<?=$summ ?>">
<input type="hidden" name="ik_payment_id" value="<?=time() ?>">
<input type="hidden" name="ik_payment_desc" value="Примечание">
<input type="hidden" name="ik_paysystem_alias" value="">
<input type="submit" value="Перейти к оплате"></form>


ik_shop_id - прописываем в значение ID магазина
ik_payment_amount - сумма для оплаты
ik_payment_desc - примечание. Важно: необходимо в примечании отправлять информацию с ID платежа и потом её выпарсивать. Дополнительные поля не всегда работают. Уже дважды интеркасса меняла принцип их работы. Чтобы каждый раз не переписывать скрипт - просто отправляем в примечании информацию, например ID заказа
ik_paysystem_alias - платёжка из шлюза. Если значение оставить пустым - пользователь попадает на страницу кассы с выбором платёжки. Можно туда вставлять различные значения для того, чтобы пользователь при нажатии на кнопку не видел страниц интеркассы и попадал сразу на прямую оплату в платёжку. Возникает вопрос - что же туда вставить, например, чтобы пользователь попал на оплату через LiqPay? Все коды можно посмотреть ТУТ

Далее нам нужно составить файл, обрабатывающий результаты платежа.
<?php
$ik_id="5871A043-0381-393B-1857-BF67E43F2E8B";
$sk_ik="n1hFlq5lvqa46wXu";
$sing_hash_str = $ik_id.':'.$_POST['ik_payment_amount'].':'.$_POST['ik_payment_id'].':'.$_POST['ik_paysystem_alias'].':'.$_POST['ik_baggage_fields'].':'.$_POST['ik_payment_state'].':'.$_POST['ik_trans_id'].':'.$_POST['ik_currency_exch'].':'.$_POST['ik_fees_payer'].':'.$sk_ik;
$sign_hash = strtoupper(md5($sing_hash_str));
if($_POST['ik_sign_hash']==$sign_hash) {
$summ=$_POST['ik_payment_amount'];
$desc=$_POST['ik_payment_desc'];

#Действия в скрипте
}
?>

$ik_id - как Вы уже поняли - присваиваем переменной ID магазина
$sk_ik - SecretKey из настроек магазина
Остальное ещё более менее понятно... Но как быть с дополнительными полями? К примеру, нам захочется пополнить баланс пользователю. Что передавать в примечании к платежу?

Вариантов на самом деле много. Можно в примечание в кнопке добавлять ID пользователя или его логин и в обрабатывающем файле просто манипулировать с примечанием. Если передаётся два значения (как в вебманях в соофасте было), можно просто сделать примечание вида addbalance ID 123 и его распарсить. Спросите - как распарсить? а легко:

$service=explode('ID',$desc);
$serv=trim($service[0]);
$ident=intval($service[1]);


$desc - это наше примечание
$serv - это уже вид платежа или назначение, которое мы хотим передать
$ident - ID платежа

Я надеюсь, что эта статья поможет многим...

Скачивание на максимальной скорости и без рекламы, доступно только для пользователей - зарегистрируйтесь!
Для Гостей, доступно скачивание только через DepositFiles!




Теги: interkassa, интеркасса, поключение системы interkassa

 (голосов: 1)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.