<commit_before># coupon-plugin

[![Build Status](https://travis-ci.org/eccubevn/coupon-plugin.svg?branch=coupon-renewal)](https://travis-ci.org/eccubevn/coupon-plugin)
[![Build status](https://ci.appveyor.com/api/projects/status/py2o9y298u0qidip/branch/coupon-renewal?svg=true)](https://ci.appveyor.com/project/lammn/coupon-plugin/branch/coupon-renewal)
[![SensioLabsInsight](https://insight.sensiolabs.com/projects/2a59aeb7-3292-4c61-a872-df8410c5bf91/mini.png)](https://insight.sensiolabs.com/projects/2a59aeb7-3292-4c61-a872-df8410c5bf91)
[![Coverage Status](https://coveralls.io/repos/github/eccubevn/coupon-plugin/badge.svg?branch=coupon-renewal)](https://coveralls.io/github/eccubevn/coupon-plugin?branch=coupon-renewal)

##クーポン管理

商品・カテゴリーに対して、一定額・一定率での割引を適用するクーポンを発行できます。

## 管理画面

* クーポン管理機能を追加
* 受注管理 : 受注詳細について、利用されたクーポンコードの表記を追加

## フロント
* 注文確認 : クーポンコードの入力
 - 入力されたクーポンコードに対応する商品がカゴ中にあれば、割引適用
 - 割引 = 小計 + 手数料 + 送料 - (クーポン設定額 or 割引率から求めた値）<commit_msg>READMEを2.0.0の対応内容で更新<commit_after># クーポンプラグイン

[![Build Status](https://travis-ci.org/EC-CUBE/coupon-plugin.svg?branch=master)](https://travis-ci.org/EC-CUBE/coupon-plugin)
[![Build status](https://ci.appveyor.com/api/projects/status/4xwbry5np5t0n856/branch/master?svg=true)](https://ci.appveyor.com/project/ECCUBE/coupon-plugin-yo1an/branch/master)
[![SensioLabsInsight](https://insight.sensiolabs.com/projects/70da7277-1540-46a5-9990-e86ca0aaa85d/mini.png)](https://insight.sensiolabs.com/projects/70da7277-1540-46a5-9990-e86ca0aaa85d)
[![Coverage Status](https://coveralls.io/repos/github/EC-CUBE/coupon-plugin/badge.svg)](https://coveralls.io/github/EC-CUBE/coupon-plugin)

## 概要

クーポン機能を追加するプラグイン。  
発行したクーポンコードを入力することで、購入時に割引ができるようになります。  
  
クーポンの割引方法や対象商品は、クーポンごとに設定が可能です。  

### フロント

#### F1:購入時にクーポンを利用することができる
- 購入確認ページからクーポンコードを入力して、クーポンを適用できる。
- クーポンによる割引は「値引き」として表示、計算する。
- 合計金額を超える定額値引きクーポンは使用できない

#### F2:クーポンの利用制限
- 会員は、一度利用したクーポンを再度利用することはできない。
- ゲストは、一度利用したクーポンを同じメールアドレスで使用することはできない

#### F3:購入後に利用したクーポンを確認することができる
- マイページの購入履歴に、利用したクーポンコードを表示する。
- 受注メールに、利用したクーポンコードを表示する。
- クーポンによる割引は「値引き」として表示する。

※[制限]EC-CUBE 3.0.8以前で利用する場合、受注メールに利用したクーポンコードを表示できない。

### 管理画面

#### A1:クーポンを新規発行することができる
設定可能なパラメータ

| パラメータ     | 選択                 | 説明                                                             |
|----------------|----------------------|------------------------------------------------------------------|
| クーポンコード |                      | 購入時にお客様が入力するクーポンコード                           |
| クーポン名     |                      | 購入履歴、受注メールでの表示用                                   |
| 対象商品       | 商品,カテゴリ,全商品 | 商品,カテゴリはクーポンごとに指定可能                            |
| 利用制限       | なし,会員のみ        |                                                                  |
| 値引き方法     | 値引き額,値引率      |                                                                  |
| 値引き額(円)   |                      |                                                                  |
| 値引率(％)     |                      |                                                                  |
| 発行枚数       |                      |                                                                  |
| 下限金額(円)   |                      | 対象商品の合計(税込)がこの金額以上の場合にのみクーポンを利用可能 |
| 有効期限       |                      |                                                                  |

#### A2:発行済みのクーポンを編集することができる
- クーポンのパラメータ編集
- 無効/有効の切り替え
- 削除

#### A3:クーポンの利用枚数を確認することができる
- クーポンごとに何回使用されたかを確認することができる。

#### A4:受注詳細ページで利用したクーポンコードを確認することができる
- 利用されたクーポンコードを確認できる。
- クーポンによる割引は「値引き」として計算される。

※[制限]受注内容を編集(商品の追加など)をしても、クーポンの値引き額は再計算しない。手動で値引きを編集する必要あり。

### 計算ロジック

#### 定額
- 商品の小計(税込)から、設定金額を値引きする。
- 合計金額を超える定額値引きクーポンは使用できない

#### 定率
- 対象商品の合計(税込)に、割引率を掛けた金額を値引きする
- 値引き額の計算には税率設定のルールを利用する
	- 課税規則(四捨五入,切り捨て,切り上げ)
	- 調整金額

## オプション

以下のページのtwigファイルに`<!--# coupon-plugin-tag #-->`と入力すると、その位置に表示を行うことができる。

- 商品購入
- MYページ/購入履歴詳細
{'fraction_non_alphanumeric': 0.15671641791044777, 'fraction_numerical': 0.02907874420998456, 'mean_word_length': 2.010844306738962, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 26, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6971314', 'n_tokens_mistral': 2279, 'n_tokens_neox': 2175, 'n_words': 100}