Skip to content

Commit

Permalink
v1.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
actofgod committed Nov 17, 2017
0 parents commit 2a66bfe
Show file tree
Hide file tree
Showing 179 changed files with 15,831 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

.idea/*
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### v1.0.1
* Добавлена отправка информации о имени CMS и версии используемого модуля в параметре metadata платежа

### v1.0.0
* Добавлена возможность создания платежей через API Яндекс.Кассы с использованием Yandex Checkout SDK
3 changes: 3 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Лицензионный договор.

Любое использование Вами программы означает полное и безоговорочное принятие Вами условий лицензионного договора, размещенного по адресу https://money.yandex.ru/doc.xml?id=527132 (далее – «Лицензионный договор»). Если Вы не принимаете условия Лицензионного договора в полном объёме, Вы не имеете права использовать программу в каких-либо целях.
66 changes: 66 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# yandexmoney-joomla-joomshopping

С помощью модуля можно настроить прием платежей через Яндекс.Кассу

[Инструкция по настройке](https://kassa.yandex.ru/manuals/joomshopping)

### Установка модуля
Для установки данного модуля необходимо:
* перейти в раздел установка/обновление компонента JoomShopping
* указать [архив](https://github.com/yandex-money/yandex-money-cms-v2-joomshopping/blob/master/yandex-money-cms-v2-joomshopping.zip?raw=true) в качестве файла пакета обновления
* загрузить пакет, щелкнув по `Загрузить`

Пожалуйста, обязательно делайте бекапы!

Внимание! Если у вас пустая страница конфигурации - у вас неправильно настроен `tmp_path` в файле настроек `configuration.php`и/или папка `/tmp` недоступна для записи на момент установки модуля (исправляется командой `chmod 777 /tmp`).

### Требования к CMS Joomla:
* версия 2.5.x, 3.2.х - 3.8.х;
* компонент JoomShopping версии 4.х

### О Кассе
Сервис, который позволяет включить прием платежей на сайте.

[Сайт Кассы](http://kassa.yandex.ru/)

#### Условия
* подходит для юрлиц и ИП,
* деньги приходят на расчетный счет,
* комиссия берется с каждого успешного платежа.

Для использования нужно [подключиться к Яндекс.Кассе](https://money.yandex.ru/joinups) и получить в личном кабинете на сайте Кассы параметры **shopId** и **Секретный ключ**.

### Способы приема платежей
Вы можете выбрать любое количество способов из списка:

* Банковские карты — Visa, Mastercard и Maestro, «Мир»;
* Яндекс.Деньги;
* Webmoney;
* QIWI Wallet;
* Наличные;
* Альфа-Клик;
* Сбербанк Онлайн;
* Баланс мобильного — Билайн, Мегафон, МТС, Tele2.

### Дополнительные возможности

**Оплата на стороне Яндекса**

Включите в модуле оплату на стороне Яндекса — и не придется размещать на своем сайте все способы оплаты. Вместо этого останется одна кнопка «Заплатить».

[Пример в демо-магазине Кассы](https://kassa.yandex.ru/demo/index.html)

**Отправка данных для чеков по 54-фз**

Если вы подключите решение Кассы для 54-фз, модуль будет отправлять в Кассу данные для чека вместе с информацией о заказе.

[Подробности на сайте Кассы](https://kassa.yandex.ru/features)

### Контакты
Если у вас есть вопросы или идеи для модуля, напишите нам: [email protected]

В письме укажите:
* версию платформы,
* версию модуля (его можно посмотреть на странице настроек),
* идею или проблему,
* снимок экрана, о котором говорите.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
<?php

/**
* @package JoomShopping for Joomla!
* @subpackage payment
* @author YandexMoney
* @copyright Copyright (C) 2012-2017 YandexMoney. All rights reserved.
*/

defined('_JEXEC') or die('Restricted access');

echo JHtml::_('bootstrap.addTab', 'yamTab', 'kassa-tab', _JSHOP_YM_TAB_KASSA);

?>
<div class="row">
<div class="span4 offset1">
<p><?php echo _JSHOP_YM_LICENSE_TEXT; ?></p>
</div>
</div>
<div class="row">
<div class="span4 offset2">
<div class='form-horizontal'>
<div class="form-group">
<input type = "checkbox" id="kassa" class = "form-control pay-mode" name = "pm_params[kassamode]" value = "1"
<?php if(isSelected($params, 'kassamode')) echo "checked"; ?> /> <?php echo _JSHOP_YM_KASSA_ON; ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<h4><?php echo _JSHOP_YM_KASSA_HEAD_LK; ?></h4>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<div class="form-group">
<div class="span2"><label for="pm_params-shop-id"><?php echo _JSHOP_YM_KASSA_SHOP_ID_LABEL;?></label></div>
<div class="span8">
<input name="pm_params[shop_id]" type="text" class="form-control" id="pm_params-shop-id"
value="<?php echo escapeValue($params['shop_id']); ?>">
<p class="help-block"><?php echo _JSHOP_YM_KASSA_SHOP_ID_DESCRIPTION; ?></p>
</div>
</div>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<div class="form-group">
<div class="span2"><label for="pm-params-shop-password" class=""><?php echo _JSHOP_YM_KASSA_PASSWORD_LABEL; ?></label></div>
<div class="span8">
<input name="pm_params[shop_password]" type="text" class="form-control" id="pm-params-shop-password"
value="<?php echo escapeValue($params['shop_password']); ?>">
<p class="help-block"><?php echo _JSHOP_YM_KASSA_PASSWORD_DESCRIPTION; ?></p>
</div>
</div>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<h4><?php echo _JSHOP_YM_KASSA_PAYMODE_HEAD; ?></h4>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<div class="span2"><label><?php echo _JSHOP_YM_KASSA_PAYMODE_LABEL; ?></label></div>
<div class="span8">
<input type = "radio" class = "paymode" name = "pm_params[paymode]" value = "1" onclick="yandex_validate_mode(1);"
<?php if($params['paymode']=='1') echo "checked"; ?> /> <?php echo _JSHOP_YM_KASSA_PAYMODE_KASSA; ?><br>
<input type = "radio" class = "paymode" name = "pm_params[paymode]" value = "0" onclick="yandex_validate_mode(0);"
<?php if($params['paymode']=='0') echo "checked"; ?> /> <?php echo _JSHOP_YM_KASSA_PAYMODE_SHOP; ?>
<p class="help-block"><?php echo _JSHOP_YM_KASSA_PAYMODE_LINK; ?></p>
</div>
</div>
</div>
<div class="row with-select">
<div class="span10 offset3">
<p><?php echo _JSHOP_YM_KASSA_SELECT_TEXT; ?></p>
</div>
</div>
<?php foreach (\YaMoney\Model\PaymentMethodType::getEnabledValues() as $value) : ?>
<div class="row with-select">
<div class="span11 offset1">
<div class="span8 offset2">
<input type = "checkbox" class = "form-control input-kassa" name = "pm_params[method_<?php echo $value; ?>]" value = "1"
<?php if($params['method_'.$value]=='1') echo "checked"; ?> />
<?php echo constant('_JSHOP_YM_METHOD_'.strtoupper($value).'_DESCRIPTION');?>
</div>
</div>
</div>
<?php endforeach; ?>

<div class="row">
<div class="span11 offset1">
<div class="span2"><label><?php echo _JSHOP_YM_KASSA_SEND_RECEIPT_LABEL; ?></label></div>
<div class="span8">
<input onclick="taxes_validate_mode(1)" type = "radio" class = "ya_kassa_send_check" name = "pm_params[ya_kassa_send_check]" value = "1"
<?php if($params['ya_kassa_send_check']=='1') echo "checked"; ?> /> Включить <br>
<input onclick="taxes_validate_mode(0)" type = "radio" class = "ya_kassa_send_check" name = "pm_params[ya_kassa_send_check]" value = "0"
<?php if($params['ya_kassa_send_check']=='0') echo "checked"; ?> /> Выключить
</div>
</div>
</div>
<div class="taxesArea row">
<div class="span11 offset1">
<div class="span8 offset2"><label>Сопоставьте ставки</label></div>
</div>
<div class="span11 offset1">
<div class="span2 offset2">Ставка в вашем магазине</div>
<div class="span6">Ставка для чека в налоговую</div>
</div>
<?php foreach ($taxes as $k => $tax) { ?>
<div class="span11 offset1 form-group row with-select">
<div class="span2 offset2"><label for="pm_params[ya_kassa_tax_<?php echo $k; ?>]" class=""><?php echo $tax; ?>%</label></div>
<div class="span6">
<select name="pm_params[ya_kassa_tax_<?php echo $k; ?>]" class=" fixed-width-xl" id="pm_params[ya_kassa_tax_<?php echo $k; ?>]">
<option <?php if ($params['ya_kassa_tax_'.$k] == 1) { ?> selected="selected" <?php } ?> value="1">Без НДС</option>
<option <?php if ($params['ya_kassa_tax_'.$k] == 2) { ?> selected="selected" <?php } ?> value="2">0%</option>
<option <?php if ($params['ya_kassa_tax_'.$k] == 3) { ?> selected="selected" <?php } ?> value="3">10%</option>
<option <?php if ($params['ya_kassa_tax_'.$k] == 4) { ?> selected="selected" <?php } ?> value="4">18%</option>
<option <?php if ($params['ya_kassa_tax_'.$k] == 5) { ?> selected="selected" <?php } ?> value="5">Расчётная ставка 10/110</option>
<option <?php if ($params['ya_kassa_tax_'.$k] == 6) { ?> selected="selected" <?php } ?> value="6">Расчётная ставка 18/118</option>
</select>
</div>
</div>
<?php } ?>
</div>

<div class="row">
<div class="span11 offset1">
<div class="form-group">
<div class="span2"><label class="">Адрес для уведомлений</label></div>
<div class="span8">
<input class="form-control span8 disabled" value="<?php echo escapeValue($notify_url); ?>" disabled><br>
<p class="help-block"><?php echo _JSHOP_YM_KASSA_HELP_CHECKURL; ?></p>
</div>
</div>
</div>
</div>

<div class="row">
<div class="span11 offset1">
<h4><?php echo _JSHOP_YM_COMMON_HEAD; ?></h4>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<div class="form-group">
<div class="span2"><label for="pm_params[kassa_transaction_end_status]"><?php echo _JSHOP_YM_COMMON_STATUS; ?></label></div>
<div class="span8">
<?php
print JHTML::_('select.genericlist', $orders->getAllOrderStatus(), 'pm_params[kassa_transaction_end_status]', 'class="inputbox transaction-end-status" size="1" data-type="kassa"', 'status_id', 'name', $params['kassa_transaction_end_status'] );
?>
</div>
</div>
</div>
</div>

<?php echo JHtml::_('bootstrap.endTab'); ?>
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
<?php

/**
* @package JoomShopping for Joomla!
* @subpackage payment
* @author YandexMoney
* @copyright Copyright (C) 2012-2017 YandexMoney. All rights reserved.
*/

defined('_JEXEC') or die('Restricted access');

echo JHtml::_('bootstrap.addTab', 'yamTab', 'money-tab', _JSHOP_YM_TAB_MONEY);

?>
<div class="row">
<div class="span11 offset1">
<p><?php echo _JSHOP_YM_MONEY_HEAD; ?></p>
</div>
</div>
<div class="row">
<div class="span4 offset2">
<div class='form-horizontal'>
<div class="form-group">
<input type = "checkbox" id="money" class = "form-control pay-mode" name = "pm_params[moneymode]" value = "1"
<?php if(isSelected($params, 'moneymode')) echo "checked"; ?> /><?php echo _JSHOP_YM_MONEY_ON; ?>
</div>
</div>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<div class="form-group">
<div class="span2"><label class="">RedirectURL</label></div>
<div class='span8'>
<input class='form-control span8 disabled' value='<?php echo escapeValue($notify_url); ?>' disabled><br>
<p class="help-block"><?php echo _JSHOP_YM_MONEY_REDIRECT_HELP; ?></p>
</div>
</div>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<h4><?php echo _JSHOP_YM_MONEY_SET_HEAD; ?></h4>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<div class="form-group">
<div class="span2"><label for="pm_params[account]"><?php echo _JSHOP_YM_MONEY_WALLET; ?></label></div>
<div class="span8">
<input name='pm_params[account]' type="text" class="form-control" id="pm_params[account]"
value="<?php echo escapeValue($params['account']); ?>">
<p class="help-block">&nbsp;</p>
</div>
</div>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<div class="form-group">
<div class="span2"><label for="pm_params[password]" class="span2"><?php echo _JSHOP_YM_MONEY_PSW; ?></label></div>
<div class="span8">
<input name='pm_params[password]' type="text" class="form-control" id="pm_params[password]"
value="<?php echo escapeValue($params['password']); ?>">
<p class="help-block">&nbsp;</p>
</div>
</div>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<h4><?php echo _JSHOP_YM_MONEY_SELECT_HEAD; ?></h4>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<div class="span2"><label><?php echo _JSHOP_YM_MONEY_SELECT_LABEL; ?></label></div>
<div class="span8">
<?php
$list_methods=array('ym2'=>'PC','cards2'=>'AC');
foreach ($list_methods as $m_long => $m_short){?>
<div class="">
<input type = "checkbox" class = "form-control input-p2p" name = "pm_params[method_<?php echo $m_long; ?>]" value = "1"
<?php if($params['method_'.$m_long]=='1') echo "checked"; ?> />
<?php echo constant('_JSHOP_YM_METHOD_'.strtoupper($m_long).'_DESCRIPTION');?>

</div>
<?php } ?>
</div>
</div>
</div>

<div class="row">
<div class="span11 offset1">
<h4><?php echo _JSHOP_YM_COMMON_HEAD; ?></h4>
</div>
</div>
<div class="row">
<div class="span11 offset1">
<div class="form-group">
<div class="span2"><label for="pm_params[money_transaction_end_status]"><?php echo _JSHOP_YM_COMMON_STATUS; ?></label></div>
<div class="span8">
<?php
print JHTML::_('select.genericlist', $orders->getAllOrderStatus(), 'pm_params[money_transaction_end_status]', 'class="inputbox transaction-end-status" size="1" data-type="money"', 'status_id', 'name', $params['money_transaction_end_status'] );
?>
</div>
</div>
</div>
</div>

<?php echo JHtml::_('bootstrap.endTab'); ?>
Loading

0 comments on commit 2a66bfe

Please sign in to comment.