Перейти к содержимому


модуль оплаты на банковскую карту (или еще куда либо)


  • Вы не можете ответить в тему
Сообщений в теме: 5

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 04 November 2013 - 07:22 PM

Этот модуль оплаты позволяет задать HTML-код, который будет выведен в конце оформления заказа
(например, развесистое описание с красивыми картинками, как оплатить этот заказ на карту сбербанка).
Для каждой инсталляции HTML-код свой, т.е. разные описания для оплаты на Сбербанку, ВТБ или Альфу.
Точно так же разные шаблоны емейлов, отсылаемых клиенту. Для каждого банка свой.

В принципе, модуль вообще не привязан к банкам и банковским картам, т.к. делает всего лишь две вещи:
1. Выводит заданный текст (HTML-код) после оформления заказа.
2. отсылает на email клиента письмо с заданным в tpl.html-файле текстом (HTML-кодом).

Чем-то он сродни модулю оплаты "Квитанция" (который и был прототипом), но там:
1. шаблоны "показать после заказа" (функция after_processing_html) и "отправить емейлом" (after_processing_php) одинаковы.
2. шаблон "показать после заказа" не редактируется в настройках.
3. шаблон "показать после заказа" показывается в отдельном окне, что в данном случае неудобно.
4. шаблоны неизменны для всех инсталляций модуля. Пожалуй, это главное отличие.

Админка выглядит так:
Прикрепленный файл  3.JPG   77.11К   135 Количество загрузок:
И так:
Прикрепленный файл  4.JPG   94.62К   180 Количество загрузок:
Сообщение после оформления заказа выглядит так:
Прикрепленный файл  1.JPG   89.98К   159 Количество загрузок:
Полученный емейл выглядит примерно так:
Прикрепленный файл  2.JPG   29.64К   131 Количество загрузок:


Инсталляция:
============

1. файл ccard.php копируем в core/modules/payment/

В принципе, это все, если Вы не собираетесь сразу же инсталлировать пример для карт сбербанка, а будете писать шаблоны сами.
Если же собираетесь, то идем дальше.


2. добавляем в data/[шаблон]/style.css строки

.bbutton {
    display: inline-block;
    zoom: 1; /* zoom and *display = ie7 hack for display:inline-block */
    *display: inline;
    vertical-align: baseline;
    margin: 0 2px;
    outline: none;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    font: 14px/100% Arial, Helvetica, sans-serif;
    font-weight: bold;
    padding: .5em 2em .55em;
    text-shadow: 0 1px 1px rgba(0,0,0,.3);
    -webkit-border-radius: .5em;
    -moz-border-radius: .5em;
    border-radius: .5em;
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
    -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
    box-shadow: 0 1px 2px rgba(0,0,0,.2);
}
.bbutton:hover {
    text-decoration: none;
}
.bbutton:active {
    position: relative;
    top: 1px;
}

/* red */
.red {
    color: #faddde;
    border: solid 1px #980c10;
    background: #d81b21;
    background: -webkit-gradient(linear, left top, left bottom, from(#ed1c24), to(#aa1317));
    background: -moz-linear-gradient(top,  #ed1c24,  #aa1317);
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed1c24', endColorstr='#aa1317');
}
.red:hover {
    background: #b61318;
    background: -webkit-gradient(linear, left top, left bottom, from(#c9151b), to(#a11115));
    background: -moz-linear-gradient(top,  #c9151b,  #a11115);
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#c9151b', endColorstr='#a11115');
}
.red:active {
    color: #de898c;
    background: -webkit-gradient(linear, left top, left bottom, from(#aa1317), to(#ed1c24));
    background: -moz-linear-gradient(top,  #aa1317,  #ed1c24);
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#aa1317', endColorstr='#ed1c24');
}

Если эти строки туда еще не добавлены с каким-либо другим модулем.
Это всего лишь CSS-описание "большой красной кнопки".


3. копируем в core/modules/tpl/ файл sberbank.tpl.html

Это шаблон отсылаемого емейла. Там надо, как минимум, заменить номер карты 0000 0000 0000 0000 на свой,
да и врядли Ваша карта зарегистрирована на ИВАНА ИВАНОВИЧА И.


4. копируем в data/images/ файлы mastercard_standart_2012.jpg и visa_classic_2012.jpg


5. Заходим в "Модули оплаты", инсталлируем модуль "Оплата банковской картой". Ну и редактируем.

5.1 Выбираем "Источник" в редакторе и вносим туда


<table width="100%">
<tbody>
<tr>
<td align="center" colspan="2">
<span style="font-weight:bold;font-size:18px;">Вы можете оплатить заказ через любой терминал Cбербанка,<br>
переведя нужную сумму на карту<br><span style="color:red;font-weight:bold;font-size:18px;">0000-0000-0000-0000</span> (ИВАН ИВАНОВИЧ И.)<br>
и указав в комментарии номер заказа<br>
либо прямо сейчас перейти в личный кабинет сайта Сбербанка для оплаты<br>
<br>
</span>
<a href="https://online.sberbank.ru/CSAFront/index.do" class="bbutton red" target="_blank">Оплатить</a></td>
</tr>
<tr>
<td align="right"><a target="_blank" href="https://online.sberbank.ru/CSAFront/index.do"><img alt="Оплатить" title="Оплатить" src="data/images/visa_classic_2012.jpg"></a></td>
<td align="left"><a target="_blank" href="https://online.sberbank.ru/CSAFront/index.do"><img alt="Оплатить" title="Оплатить" src="data/images/mastercard_standart_2012.jpg"></a></td>
</tr>
</tbody>
</table>


Тут тоже полезным будет заменить номер карты и ФИО владельца.

5.2 Выбираем "Шаблон для email" - sberbank.tpl.html


6. Все. Вроде все. Для других банков (инсталляций) придется написать свой "Источник" и tpl.html-файл с шаблоном емейла.

Прикрепленные файлы

  • Прикрепленный файл  CCard.zip   111.98К   24 Количество загрузок:

  • 2
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 SotaPerm

    Пользователь

  • Download User
  • PipPip
  • 11 сообщений
Репутация: 0
Начинающий

Отправлено 25 September 2014 - 11:03 AM

при нажатии кнопки сохранить в модуле в админке, русские символы заменяются на знаки вопроса.
  • 0

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 25 September 2014 - 04:21 PM

при нажатии кнопки сохранить в модуле в админке, русские символы заменяются на знаки вопроса.

Заменяются ГДЕ? В окне редактора в колонке "Значения" или в описаниях настроек в колонке "Настройка"?

Если в окне редактора, то не происходит ли того же самого в окне редактора в настройке товара, категории?
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 SotaPerm

    Пользователь

  • Download User
  • PipPip
  • 11 сообщений
Репутация: 0
Начинающий

Отправлено 25 September 2014 - 07:52 PM

при нажатии кнопки сохранить в модуле в админке, русские символы заменяются на знаки вопроса.

Заменяются ГДЕ? В окне редактора в колонке "Значения" или в описаниях настроек в колонке "Настройка"?

Если в окне редактора, то не происходит ли того же самого в окне редактора в настройке товара, категории?


да именно в окне редактора в колонке значение
пишем или копируем нормально
Изображение

после нажатия кнопки сохранить получаем вот это
Изображение

больше такого нигде нет в товаре и категориях и новостях всё нормально знаки вопроса не появляются.
  • 0

#5 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 26 September 2014 - 05:11 PM

больше такого нигде нет в товаре и категориях и новостях всё нормально знаки вопроса не появляются.

Попробуйте следующее:
1. в файле ccard.php замените строку

db_query('CREATE TABLE IF NOT EXISTS '.CCARD_DB_TABLE.' (settingsID INT UNSIGNED, html TEXT, UNIQUE (settingsID))');

на

db_query('CREATE TABLE IF NOT EXISTS '.CCARD_DB_TABLE.' (settingsID INT UNSIGNED, html TEXT, UNIQUE (settingsID)) DEFAULT CHARSET=cp1251');

2. удалить модуль оплаты в админке
3. заново установить модуль оплаты в админке
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#6 SotaPerm

    Пользователь

  • Download User
  • PipPip
  • 11 сообщений
Репутация: 0
Начинающий

Отправлено 26 September 2014 - 05:35 PM

больше такого нигде нет в товаре и категориях и новостях всё нормально знаки вопроса не появляются.

Попробуйте следующее:
1. в файле ccard.php замените строку

db_query('CREATE TABLE IF NOT EXISTS '.CCARD_DB_TABLE.' (settingsID INT UNSIGNED, html TEXT, UNIQUE (settingsID))');

на

db_query('CREATE TABLE IF NOT EXISTS '.CCARD_DB_TABLE.' (settingsID INT UNSIGNED, html TEXT, UNIQUE (settingsID)) DEFAULT CHARSET=cp1251');

2. удалить модуль оплаты в админке
3. заново установить модуль оплаты в админке


Сейчас заработало, спасибо.
  • 0