プラグイン一覧 / 購入資格
購入資格プラグイン
店が確認して承認した資格を持つ会員にだけ売ります。医療機器・医薬品のように、法令で売り先が決まっている商品向けです。
単体で動きます。他のプラグインは要りません。
何のためのプラグインか
医療機器・医薬品・農薬・危険物のように、法令で売り先が決まっている商品があります。 売ってはいけない相手に売ると、罰則がかかるのは店です。
EC-CUBE には「この商品はこの資格を持つ会員にだけ」という仕組みがありません。会員登録の 備考欄に免許番号を書かせても、それは自己申告で、確かめる場所がありません。
このプラグインは、会員に資格を届け出てもらい、店が確認して承認した会員だけが買える ようにします。

主な機能
| 機能 | 内容 |
|---|---|
| 資格の登録 | 医師免許・薬剤師免許・販売業許可など、店が自由に作れます |
| 商品への割り当て | 商品ごとに必要な資格を選びます。どれか1つ持っていればよい(OR) |
| 会員の届け出 | マイページから番号と有効期限を届け出ます |
| 店の確認 | 承認・却下。何度でも行き来できます |
| 購入の制限 | 資格が無ければカートにも購入手続きにも入れません |
| ボタンを出さない場所 | 商品ページと商品一覧。押させてから断りません |
| 有効期限 | 期限を過ぎると、承認済みでも買えなくなります |
出す場所を変える
資格の案内は、既定では商品ページに自動で出ます。設定は要りません。
場所を決めたいときは、テーマのテンプレート
(app/template/<テーマ>/Product/detail.twig)に書いてください。
{{ plg_pq() }}
置いた場所にそのまま出て、書いたら自動表示は降ります(二重に出ません)。 テーマを触らない店はこれまでどおりです。
資格は店が作ります
何を資格と呼ぶかは業種で違います。医療機器の販売業許可を求める店もあれば、取引先の 与信区分を資格として扱う店もあります。

| 項目 | 内容 |
|---|---|
| 名前 | 商品ページと届け出のフォームに出ます |
| 会員への案内 | 「免許証の番号をご記入ください」など |
| 番号の記入 | 必須にすると、番号が空の届け出を受け付けません |
| 有効期限 | 必須にできます。期限を過ぎると買えなくなります |
| 並び順 | 選択肢の順番です |
使っている商品があるうちは消せません。 消すと会員の届け出も一緒に消えます。
判定は OR です
商品には資格を複数割り当てられます。そのうちどれか1つを持っていれば買えます。 「医師または歯科医師」のように売る商品が現場では多いためです。すべて必要にすると、 医師にも歯科医師にも売れなくなります。
1つも選ばなければ誰でも買えます。
会員が届け出て、店が確認する

| 値 | 状態 | 意味 |
|---|---|---|
| 1 | 確認待ち | 会員が届け出た。店の確認待ち |
| 2 | 確認済み | 店が確認した。対象の商品を買える |
| 3 | 確認できず | 却下 |
承認と却下は何度でも行き来できます。 免許は取り消されることがあります。一度承認したら 変えられない作りにすると、資格を失った会員に売り続けてしまいます。

買えるかどうかの決まり方
資格が要らない商品 → 誰でも買える
資格が要る商品 × 非会員 → 買えない
資格が要る商品 × 会員 → 承認済みで期限内の資格を1つ以上持っていれば買える
承認済みで、かつ期限内。 どちらか片方では足りません。期限の日は含めます。 「2026-03-31 まで有効」は、その日いっぱい有効です。
非会員には売りません。 誰に売ったかを残せないためです。
画面でボタンを隠すだけでは足りません
カートに入れる POST は直接投げられます。止めているのは購入フローの側で、カートと 購入手続きの両方に入れています。カートを通らずに購入手続きへ入る経路があるので、 カートだけでは足りません。
明細単位の検証にはしていません。あれは警告を出すだけで購入を止めません。
止まったときは、買えない商品の名前を出します。 「買えません」だけだと、カートに 10点入っている会員はどれを外せばよいのか分かりません。
判定は1か所にだけ書いています。画面と購入フローで別々に書くと、片方だけ通る穴ができます。 法令で売り先が決まっている商品なので、穴は事故になります。
商品一覧でもボタンを引っ込めます
以前は商品ページにしか出していませんでした。一覧からは押せてしまい、「押させてから 断る」形になっていました。購入フローが止めるので買えてしまうことはありませんが、 なぜ買えないのかが一覧では分かりません。
一覧は1ページに何件も並ぶので、印はページ全体ではなくカードごとに付けています。
ほかのプラグインへの合図
カートへ入れる入口を出すのは、このプラグインだけではありません
(規格一括入力の表など)。買えない相手には
<html> に印を立てるので、そちらも自分で引っ込めます。
絞り込みと未対応の件数
資格の届け出の一覧は、会員(お名前/会社名/メールアドレス)・資格・番号・状態で 絞り込めます。条件はページを送っても残ります。初期表示は「確認待ち」だけです。
管理画面のホームに未対応の件数が出ます。 「資格の届け出(確認待ち)」の行が出ていたら、押せばその一覧に 入れます。0 件のときは行ごと出しません。 常に「0」が並ぶと目が慣れて見なくなるためです。

未対応の件数はホームにまとまって出ます。0 件のものは行ごと出しません。
知っておいてほしい仕様
| 項目 | 内容 |
|---|---|
| 数量の制限は持ちません | 「1回1個まで」は本体の商品規格「販売制限数」で設定できます。同じことを2か所で設定できると、どちらが効いているのか分からなくなります |
| 資格そのものの判定は差し替えられません | 拡張で緩められると、この仕組みの意味が無くなります。拡張は絞る方向にのみ働きます |
| 他人の届け出は見えません | 免許番号は個人を特定できます。id を受け取る経路は必ず会員で絞ります |
| 会員が取り下げられるのは確認待ちのものだけ | 承認済みを消せると、買えた履歴と資格の記録が食い違います |
動作要件
| 項目 | 内容 |
|---|---|
| EC-CUBE | 4.4 系 |
| PHP | 8.2 / 8.3 |
| データベース | MySQL 8 / PostgreSQL 13 以上 |
| 依存プラグイン | なし |
有効化するとマイページに「購入資格」が増え、管理画面に「購入資格」が並びます。資格は 最初は空なので、「資格設定」から登録してください。
差し替えられるところ
主要な処理はインターフェースとして切ってあります。実装を差し替えれば動きが変わります。 自社の商習慣に合わない部分があれば、まず差し替えで済むかを確かめてください。
AI に書かせられます。このプラグインには CLAUDE.md と docs/extension-samples.md が 同梱されていて、差し替え口ごとにそのまま使えるサンプルが載っています。 やりたいことを日本語で伝えれば、AI コーディングツールが実装を書きます (くわしく)。
| インターフェース | できること |
|---|---|
PurchasePermissionInterface | 資格のほかにも売り先を絞る(同じ都道府県の届出がある会員だけ、取引基本契約を結んだ会員だけ)。**絞る方向にしか働きません** |
入手する
オーナーズストアで購入
買い切りです。月額はかかりません。予定価格 税抜 50,000 円。
予定価格です。オーナーズストアでの販売開始時に変わる場合があります。
この条件で回るか、確かめてから決めてください
締め日、支払サイト、請求書の様式、会計ソフトへの受け渡し。合うかどうかは商習慣によって変わります。やりたいことを書いて送ってください。