Вы здесь: Главная > Мои работы > Расширения Joomla > Форма заказа с подключением к системе оплаты робокасса

Бесплатные расширения для Joomla

Форма заказа с подключением к системе оплаты робокасса

Здравствуйте дорогие друзья, на днях мне поступила заявка на создание формы заказа товаров с подключением к сервису оплаты "Робокасса" для сайта HTML (не КМС), я все сделал и решил поделится с вами данным скриптом. Он простой как 2 копейки так что не обессудьте, данная статья больше предназначена для новичков.

 

Скрипт формы сделан для ручной продажи так как сайт тоже простой без корзины и присущих интернет магазинам фишек.

И так, приступим.

Какие файлы прилагаются к скрипту и за что они отвечают:

 1. Файл index.php - там код самой формы заказа;

 2. Файл mail.php - это PHP обработчик который высылает сообщение на почту о новом заказе + в нем же код оплаты от робокассы;

 3. Файл style.css - это понятно наверное, в нем прописываются стили всех файлов скрипта;

 4. Файл succespay.php - это страничка куда человек попадает после оплаты товара, то-есть там пишут к примеру: "Оплата произведена, скоро Вы получите купленный товар", ну что то подобное;

 5. Файл errorpay.php - это страничка куда человек попадает в случае отказа от оплаты, то-есть у вас есть возможность уговорить все-токи купить товар предложив клиенту какой-то бонус (подарок), то-есть все ограничивается вашей фантазией :) ;

 6. Файл .htaccess - сюда мы прописываем правила по которым должна работать форма, в моем случае я указал нужную мне кодировку UTF-8;

Теперь давайте посмотрим что содержит каждый из вышеперечисленных файлов и начнем мы сindex.php.

Содержание:

 

01.<link href="/style.css" rel="stylesheet" type="text/css" />
02.<div id="roboform">
03.<form action="mail.php" method="post"><!-- путь к файлу обработчика! -->
04.<span class="red">*</span> <strong>Ваше имя:</strong>
05.<br />
06.<input type="text" name="nick" size="25" />
07.<br />
08.<span class="red">*</span> <strong>Номер телефона:</strong>
09.<br />
10.<input type="text" name="phone" size="25" />
11.<br />
12.<span class="red">*</span> <strong>Ваш E-mail:</strong>
13.<br />
14.<input type="text" name="email" size="25" />
15.<br />
16.<span class="red">*</span> <strong>Сумма (руб.):</strong>
17.<br />
18.<input type="text" name="summ" size="15" />
19.<br />
20.<span class="red">*</span> <strong>Сообщение:</strong>
21.<br />
22.<textarea name="msg" cols="40" rows="6"></textarea>
23.<br /><br />
24.<input type="submit" value="Отправить и оплатить!" id="submit_mail"/>
25.</form>
26.</div>

 

То-есть в форме получается 5 полей ввода информации (Имя, телефон, почта, сумма к оплате, сообщение где указывается какой товар) и кнопка отправки информации в обработчик mail.php.

Переходим к файлу mail.php

 

01.<link href="/style.css" rel="stylesheet" type="text/css" />
02.<?php
03.$url "mail.php";
04.$robokassa "http://robokassa.ru";
05.$title "www.site.ru"//адрес вашего сайта
06.$subject "Письмо с сайта $title"//Тема отправляемых вам сообщений
07.$admail "mail(собака)mail.ru"//Ваш e-mail, на который будут отправляться письма
08.$back "<p><a href=\"javascript: history.back()\">Назад</a></p>";
09.$header .= "Content-type: text/plain; charset=\"utf-8\""//Кодировка для почты
10. 
11.//Проверка заполнения полей
12.if(@$_POST['nick'or @$_POST['phone'or @$_POST['email'or@$_POST['summ'or @$_POST['msg'])
13.{
14.@$nick $_POST['nick'or die("Убедитесь, что вы ввели свое имя!$back");
15.@$phone $_POST['phone'or die("Убедитесь, что вы ввели свой номер телефона!$back");
16.@$email $_POST['email'or die("Убедитесь, что вы ввели свой E-mail!$back");
17.@$summ $_POST['summ'or die("Убедитесь, что вы ввели сумму к оплате!$back");
18.@$msg $_POST['msg'or die("Убедитесь, что вы ввели сообщение!$back");
19. 
20.//То что отправляется на почту продавца
21.$content = "\nПользователь $nick!\n
22.Адресс: $email\n
23.Телефон: $phone\n
24.Отправил(а) заказ с сайта - \"$title\"\n
25.Проверьте если перевод в сумме $summ руб. был начислен на ваш счет$robokassa\n
26.Комментарий:\n\n$msg";
27. 
28.//Вывод сообщений после отправки запроса с формы заказа
29.if(!@mail($admail$subject$content$header))
30.{
31.echo "Ошибка при отправке письма. Пожалуйста сообщите об этом администратору данного сайта, используя любой другой вид связи.$back";
32.exit;
33.}
34.else
35.{
36.echo "<div id='succes'>Ваше сообщение успешно отправлено!<br /><br /> Оплатите ваш заказ используя форму ниже!</div>";
37.}
38.}
39.else {
40.die("Для отправки сообщения заполните все поля!$back");
41.}
42.?>
43. 
44.<?
45.//Код формы РОБОКАССА
46.// регистрационная информация (логин, пароль #1)
47.$mrh_login "user";
48.$mrh_pass1 "password1";
49. 
50.// номер заказа
51.$inv_id = 0;
52. 
53.// описание заказа
54.$inv_desc "Оплата заказа с сайта www.site.ru";
55. 
56.// сумма заказа
57.$out_summ $summ;
58. 
59.// тип товара
60.$shp_item = 1;
61. 
62.// предлагаемая валюта платежа
63.$in_curr "AlfaBankR";
64. 
65.// язык
66.$culture "ru";
67. 
68.// кодировка
69.$encoding "utf-8";
70. 
71.// формирование подписи
72. 
73.// generate signature
74.$crc = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item");
75. 
76.// HTML-страница с кассой
77.// ROBOKASSA HTML-page
78.print "<html><script language=JavaScript ".
80."MrchLogin=$mrh_login&OutSum=$out_summ&InvId=$inv_id&IncCurrLabel=$in_curr".
81."&Desc=$inv_desc&SignatureValue=$crc&Shp_item=$shp_item".
82."&Culture=$culture&Encoding=$encoding'></script></html>";
83.?>

 

Тут везде есть комментарии так что должно быть все понятно, если что пишите, разберемся, поехали дальше, файл style.css

 

01.#roboform {
02.background#EDEAE6;
03.width400px;
04.heightauto;
05.margin20px auto;
06.padding20px;
07.fontbold 11px/14px verdana;
08.}
09. 
10.#roboform input {
11.border2px solid #ccc;
12.margin4px 0 10px 0;
13.padding0 3px;
14.height30px;
15.fontbold 12px/14px verdana;
16.color#514F4B;
17.}
18. 
19.#roboform textarea {
20.border2px solid #ccc;
21.margin2px 0 10px 0;
22.padding3px;
23.fontbold 12px/14px verdana;
24.color#514F4B;
25.}
26. 
27.#roboform input:hover {
28.border2px solid #514F4B;
29.}
30. 
31.#roboform textarea:hover {
32.border2px solid #514F4B;
33.}
34. 
35.input#submit_mail {
36.border2px solid #fff;
37.}
38. 
39.#succes {
40.width400px;
41.margin30px auto;
42.text-aligncenter;
43.color#28841F;
44.fontbold 16px verdana;
45.}
46. 
47..red {
48.colorred;
49.}

 

То-есть тут как я уже говорил выше просто прописываются все стили для оформления самого скрипта.

Следующий, это файл .htaccess и он содержит одну лишь строчку, кодировка

 

1.AddDefaultCharset utf-8

 

И последние 2 файла: succespay.php и errorpay.php, содержание у них практически одинаковое, только сообщение там разные, по типу: "Оплата произведена успешно" и "Оплата не произведена", тут как я уже говорил все ограничивается вашей фантазией.

 

В следующей статье я покажу как подключить данный скрипт в самой системе Робокасса.