FinTech Dialy

FinTech Diary

ソーシャルレンディング/ロボアドバイザー等のフィンテックを実際に利用した感想などを書いていますφ(..)

【プログラミング】支払可能見込額と総量規制利用可能枠を算出する【JavaScript】

支払可能見込額と総量規制利用可能枠を算出するJavaScriptを作成しましたφ(..)

支払可能見込額と総量規制限度額

クレジットの割賦と融資を規制するために設けられた限度額。
今回は、年収等必要事項を回答すると限度額を算出するJavaScriptを作成した。

支払可能見込額とは

支払可能見込額…クレジットのショッピングを規制する法律(割賦販売法)で定められたショッピング(割賦)に対する限度額。包括クレジット(クレジットカード)の場合は、以下に0.9を掛けた値。

支払可能見込額=年収-生活維持費(※1)-年間請求予定額(※2)

※1.生活維持費

下記参照。 f:id:natsumedeus:20180326001502p:plain

※2.年間請求予定額

クレジット利用残高(割賦)。一括払いは対象外。各カード会社での利用残高の合計(割賦利用残高は信用情報機関を通して各社間で共有されている)。

[参考①]支払見込可能額の算出方法

[参考②]割賦販売法施行に伴うご利用可能枠の設定ルールについて



用語メモφ(..)

・個別クレジット: ショッピングクレジット、個品割賦とも。カードを使わない個別契約の分割販売のこと。カードを使用しないで分割で商品を購入する場合、都度信販会社と契約を結ぶため。例えば、家電量販店AAAでパソコンを、次に楽器店BBBBでピアノを、どちらも分割払いで購入した場合、2回契約する(各店舗でそれぞれ契約書を記入する)ことになる。

・包括クレジット: クレジットカードのこと。カード会社と契約を結ぶ(カードを作る=契約する)ことで、商品購入の都度契約を結ぶ必要がなくなる。契約するのはカード発行時の時のみで、店舗での商品購入時に都度契約を結ぶことはしないため、包括クレジットという。


総量規制限度額とは

総量規制限度額…クレジットのキャッシングを規制する法律(貸金業法)で定められたキャッシング対する限度額。なお、銀行のカードローンは総量規制の対象外。

総量規制利用可能枠=総量規制限度額(※1)-総量規制対象残高(※2)

※1.総量規制限度額

総量規制限度額=年収÷3

※2.総量規制対象残高

クレジットカードや消費者金融で利用しているキャッシングの残高。各社での利用残高の合計(融資利用残高は信用情報機関を通して各社間で共有されている)。なお、銀行のカードローンは総量規制の対象外。

[参考①]総量規制について(日本貸金業協会)

[参考②]借入限度額はいくらまで?総量規制との関係について




支払可能見込額の算出

支払可能見込額を算出するJavaScriptです。

①~④の項目に回答し、「支払可能見込額を表示」ボタンを押下して下さい。

支払可能見込額がホップアップで表示されます。

 

①年収(万円単位)

②年間請求予定額(万円単位)

③住宅費用有無(住宅ローン又は賃貸負担の有無)

有り 無し

④同一生計者数(本人・別居者含む)

 

 

総量規制利用可能枠の算出

総量規制利用可能枠を算出するJavaScriptです。

①~②の項目に回答し、「総量規制利用可能枠を表示」ボタンを押下して下さい。

総量規制利用可能枠がホップアップで表示されます。

 

①年収(万円単位)

②総量規制対象利用残高(万円単位)

 

 



コード

以下は共通の仕様。
・入力欄の最大桁数は10桁。
・入力欄に数値以外を入力した場合、エラーメッセージを表示。
・入力欄に小数点以下を入力した場合、小数点以下は切り捨て。
・入力欄が空欄だった場合、0とみなす。
・算出した値が0未満の場合、0に置換。

支払可能見込額の算出

・算出式
 支払可能見込額 = 年収-生活維持費-年間請求予定額

HTML部分

<p>①年収(万円単位)</p>
<p><form name = fr_income><input name="income" type="text" value="0" size = "10" maxlength = "10"/></form></p>

<p>②年間請求予定額(万円単位)</p>
<p><form name = fr_bill><input name="bill" type="text" value="0"  size = "10" maxlength = "10"/></form></p>

<p>③住宅費用有無(住宅ローン又は賃貸負担の有無)</p>
<p><form name = fr_house></p>
<p><input checked="checked" name="house" type="radio" value="exist" />有り <input name="house" type="radio" value="none" />無し</p>
<p></form></p>

<p>④同一生計者数(本人・別居者含む)</p>
<p><form name = fr_people>
<select name="people">
<option selected="selected" value="one">1人</option>
<option value="two">2人</option>
<option value="thr">3人</option>
<option value="fou">4人以上</option>
</select>
</form></p>

<p><form><input type="button" value="支払可能見込額を表示" onclick="show_kapu_available()" /></form></p>

JavaScript

<script type="text/javascript">// <![CDATA[
function show_kapu_available(){
        income_amount = document.fr_income.income.value;
        if(isNaN(income_amount )){
                alert("年収には数値を入力して下さい"); 
                return;
        }
        bill_amount = document.fr_bill.bill.value;
        if(isNaN(bill_amount )){
                alert("年間請求予定額には数値を入力して下さい"); 
                return;
        }
        people_count  = document.fr_people.people.value;
        if(document.fr_house.house[0].checked){
                switch(people_count) {
                    case 'one':
                        life_amount = 90;
                        break;
                    case 'two':
                        life_amount = 136;
                        break;
                    case 'thr':
                        life_amount = 169;
                        break;
                    case 'fou':
                        life_amount = 200;
                        break;
                }
        }
        else  {
                switch(people_count) {
                    case 'one':
                        life_amount = 116;
                        break;
                    case 'two':
                        life_amount = 177;
                        break;
                    case 'thr':
                        life_amount = 209;
                        break;
                    case 'fou':
                        life_amount = 240;
                        break;
                }
        }
        kapu_available = Math.floor(income_amount)  - Math.floor(bill_amount)  - life_amount;
        if (kapu_available < 0){
                kapu_available  = 0;
         }

        alert("支払可能見込額=" + kapu_available + "万円"); 
}
// ]]></script>

総量規制利用可能枠算出

・算出式
 総量規制利用可能枠 = 年収÷3-総量規制対象利用残高

HTML部分

<p>①年収(万円単位)</p>
<p><form name = fr_income2><input name="income2" type="text" value="0" size = "10" maxlength = "10"/></form></p>

<p>②総量規制対象利用残高(万円単位)</p>
<p><form name = fr_bill2><input name="bill2" type="text" value="0"  size = "10" maxlength = "10"/></form></p>

<p><form><input type="button" value="総量規制利用可能枠を表示" onclick="show_yusi_available()" /></form></p>

JavaScript

<script type="text/javascript">// <![CDATA[
function show_yusi_available(){
        income_amount = document.fr_income2.income2.value;
        if(isNaN(income_amount )){
                alert("年収には数値を入力して下さい"); 
                return;
        }
        bill_amount = document.fr_bill2.bill2.value;
        if(isNaN(bill_amount )){
                alert("総量規制対象利用残高には数値を入力して下さい"); 
                return;
        }
        yusi_gendo = income_amount/3;
        yusi_available =  Math.floor(yusi_gendo) -Math.floor(bill_amount);
        if (yusi_available < 0){
                yusi_available  = 0;
         }

        alert("総量規制利用可能枠=" + yusi_available + "万円"); 
}
// ]]></script>



JavaScriptの参考

主に以下参考にさせて頂いた。

[参考①]はてなブログでJavaScriptが使えることを知りました

[参考②]JavaScriptによるフォームの制御

[参考②]要注意!?JavaScriptの数値チェック6のテクニック




クレジットカードAPI

経済産業省が色々検討しているようで、注目している。
API公開されたらもうちょっと面白いことができる…かな?

www.meti.go.jp


おわり

JavaScriptは新人研修で少し触ったことがあったのですが、結局配属先は汎用機系のPJだったので使うことはなく…
約3年ぶりにやってみましたが、Webページで何か動くってのはやっぱり楽しいですね٩( 'ω' )و