{success} 監理団体 state =
1:未認証2:認証済5:利用中10:アカウント停止15:解約
↓
・application_informationsテーブル で仮作成
・認証メール送付(監理団体メールアドレスに)
※認証メール内URLはKIZUNA_SYSTEMのURLとなるはずなので注意(画面がそっちにあります)
↓
↓
※日次:未認証削除バッチを作成し created_at の翌々日 00:00:00 までに未認証だったら404エラー画面に遷移
・認証メール内認証ボタンを押下したら、「会員認証画面」へ遷移させ、認証させる。
・status:2 (初月未払)を設定
・パスワード設定画面に遷移
・パスワード設定をしてもらう。
・マスターアカウント作成(監理団体メールアドレスで)
・設定後、設定完了メール送付(監理団体 CODE など記載)
※画面はKIZUNA_SYSTEMにあります
↓
↓
・status:2/10 なら支払い方法設定画面のみアクセス制御
↓
↓
・支払方法の設定(クレジット or コンビニ払)プランの設定(技能実習生人数)
・初月請求情報作成(申込日から月末までの日割り計算(変動する可能性あり/バッチで更新))
・当月料金支払い画面へ(料金の表示や更新ボタン)
↓
↓
・クレジットなら、そのまま決済。
・コンビニ払なら更新ボタンをおいて(API 仕様わからないのでひとまず)「決済したら更新してください」ボタン設置。押下で決済処理。
・決済完了時に status:5(利用中) に更新 通常通り使えるようになる。
※ status:2/10のやつだけはいれる。10のやつは初月じゃないので表示だけ多少変える。
※ 初月請求金額を表示する際、「現在表示されている決済情報の有効期限は翌々日 00:00:00 までです」と注意しておく。
※ 初月請求情報は変動する可能性がある。(日をまたぐ場合)なので、日時バッチ「初月請求情報更新」を実行し、変動させる。
※ 初月請求情報の決済状態は翌日にまたぐ場合があるのでこれも上記日時バッチ「初月請求情報更新」で併せてチェックする。
※ 翌日にまたいだ場合(バッチ実行して更新後)、コンビニ払支払い情報の古いものは使えなくなる(多分)
※ 初月決済した日が 20 日~末日の場合、併せて翌月分の請求情報も作成する。
※ 本データ(status:2)が 1 か月経ってそのままなら消してもよし。(どこかのバッチで同時にやってもいいかと)
※ status:1~2 の監理団体に紐づく実習実施先(基本作れないはず)のログイン制御をいれるのもいいかと。status:10 ~ 15 は必要。
※ 年払いの場合、請求確定バッチで請求がさらにかからないように注意すること
↓
↓
設定されているプランで翌月分の請求金額情報を月次バッチ「請求確定」で作成
※status:2/10/15 のやつは対象外
※年払いで支払ってるやつも対象外
↓
↓
作成されている決済情報を月次バッチ「請求処理」で実行
成功時:請求処理のメール送付
失敗時:アカウント停止のメール送付
※バッチ内に記載あるが、決済失敗なら state:10(アカウント停止)に更新
認証メール
@csrf
<div style="width:100%; background:#f13757; padding:40px 20px;">
<div style="width:80%;margin:0 auto; background:#fff; padding: 20px; border-radius:8px;">
<div><img src="{{ LOGOURL }}" alt="" style="width: 200px;"></div>
<p style="font-weight:bold; font-size:2rem;">認証してください</p>
<p>下記認証ボタンを押下し、申込を確定してください。</b></p>
<a href="{{ URL }}" style="background:#f13757; padding:8px 30px; color:#fff; font-weight:bold; border-radius:5px; margin:10px; text-align:center; display:inline-block; text-decoration:none;">認証する</a>
<p>このメールに見覚えがなかったり、</p>
<p>ご不明点があれば下記メールアドレス迄お問合せ下さい。</p>
<p>{{ メールアドレス }}</p>
</div>
</div>
※URLにパラメーターでIDセット
設定完了メール
@csrf
<div style="width:100%; background:#f13757; padding:40px 20px;">
<div style="width:80%;margin:0 auto; background:#fff; padding: 20px; border-radius:8px;">
<div><img src="{{ LOGOURL }}" alt="" style="width: 200px;"></div>
<p style="font-weight:bold; font-size:2rem;">ログインしてください。</p>
<p>設定が完了しました。下記情報と先ほど設定したパスワードでログインしてください</p>
<p>尚、下記情報は大事に保管してください。</p>
<p>監理団体コード : {{code}}</p>
<p>ログインID : {{login_id}}</p>
<a href="{{ URL }}" style="background:#f13757; padding:8px 30px; color:#fff; font-weight:bold; border-radius:5px; margin:10px; text-align:center; display:inline-block; text-decoration:none;">ログインする</a>
<p>このメールに見覚えがなかったり、</p>
<p>ご不明点があれば下記メールアドレス迄お問合せ下さい。</p>
<p>{{ メールアドレス }}</p>
</div>
</div>
※URLにパラメーターでログインIDセット
請求確定メール
@csrf
<div style="width:100%; background:#f13757; padding:40px 20px;">
<div style="width:80%;margin:0 auto; background:#fff; padding: 20px; border-radius:8px;">
<div><img src="{{ LOGOURL }}" alt="" style="width: 200px;"></div>
<p style="font-weight:bold; font-size:2rem;">KIZUNA利用料金の請求が確定しました</p>
<p>請求が確定しました。管理画面の請求情報から内容を確認してください</p>
<p>※コンビニ払いの方は請求情報からコンビニ支払い情報を基に末日までにお支払いください。</p>
<p>※末日にお支払いが確認できない場合、決済ができなかった場合にはアカウントが停止されますのでご注意ください。</p>
<p>このメールに見覚えがなかったり、</p>
<p>ご不明点があれば下記メールアドレス迄お問合せ下さい。</p>
<p>{{ メールアドレス }}</p>
</div>
</div>
決済処理メール
@csrf
<div style="width:100%; background:#f13757; padding:40px 20px;">
<div style="width:80%;margin:0 auto; background:#fff; padding: 20px; border-radius:8px;">
<div><img src="{{ LOGOURL }}" alt="" style="width: 200px;"></div>
<p style="font-weight:bold; font-size:2rem;">KIZUNA利用料金の決済が完了しました</p>
<p>決済処理を行いました。管理画面の請求情報から内容を確認してください</p>
<p>引き続きご利用の程宜しくお願い致します。</p>
<p>このメールに見覚えがなかったり、</p>
<p>ご不明点があれば下記メールアドレス迄お問合せ下さい。</p>
<p>{{ メールアドレス }}</p>
</div>
</div>
アカウント停止メール
@csrf
<div style="width:100%; background:#f13757; padding:40px 20px;">
<div style="width:80%;margin:0 auto; background:#fff; padding: 20px; border-radius:8px;">
<div><img src="{{ LOGOURL }}" alt="" style="width: 200px;"></div>
<p style="font-weight:bold; font-size:2rem;">KIZUNA利用料金の決済に失敗しました</p>
<p>決済処理を行いましたが、失敗したためアカウントを停止しました。</p>
<p>管理画面より、請求情報を再度確認の上お支払いください。</p>
<p>※クレジットを選択の方は、有効期限が切れていたり、利用限度額がオーバーしている場合等に失敗致します。</p>
<p>※コンビニ払いを選択の方は、お支払いが確認取れていない状況となっています。</p>
<p>このメールに見覚えがなかったり、</p>
<p>ご不明点があれば下記メールアドレス迄お問合せ下さい。</p>
<p>{{ メールアドレス }}</p>
</div>
</div>
organizationz table
プラン人数
支払い方法 1:クレジット 5:コンビニ払い
カード番号下四桁 nullable
カード種類 VISA等 nullable
カード有効期限 nullable
名義人 nullable
次回決済日(年払いかどうか)
基本料金単価
従量課金単価
※現状考えうる必要なカラム
請求情報(organization_claims)テーブル
ID
監理団体 ID
GMO 管理 ID(多分)
請求金額
フラグ(毎月/初月/アカウント停止=バッチ内計算方法変わる)1:毎月 5:初月 10:アカウント停止
請求確定日
決済日
決済状況 1:未入金 2:入金済み
備考
支払い方法(毎月変わる可能性あるため)1:クレジット 5:コンビニ払い
プラン
基本料金単価
従量課金単価
datetime
※現状考えうる必要なカラム
監理団体statusのENUM
1:未認証 2:認証済 5:利用中 10:アカウント停止 15:解約