ECサイトを構築する際にシステム側でクレジットカード番号が正しいかを判別する方法
以前、ECサイトの決済テストに使えるクレジットカードのテスト用カード番号という記事をアップしました。 ECサイトの構築をしている際にはテスト用の番号があるのは便利ですが、実際の運用が始まった時に、不正なカード番号を入力さ […]

スポンサードサーチ
以前、ECサイトの決済テストに使えるクレジットカードのテスト用カード番号という記事をアップしました。
ECサイトの構築をしている際にはテスト用の番号があるのは便利ですが、実際の運用が始まった時に、不正なカード番号を入力されるのも避けたいところ。
そこで、今回はカード番号が入力された時に、システム側でクレジットカード番号が正しいかを判別する方法について見ていきたいと思います。
ECサイトの決済テストに使えるクレジットカードのテスト用カード番号【3Dセキュア対応】ECサイトを構築するときに、絶対必要になるクレジットカード決済のテスト。 ECサイトの決済テストに使えるクレジットカードのテスト用カード番号から時間が経ち、3Dセキュア対応が必須と…resource-sharing.co.jp
クレジットカード番号は先頭6桁でカード発行会社がわかる
クレジットカード番号には一定の法則があり、これはISO/IEC 7812で決められています。
このWikipedia:ISO/IEC 7812で定められている番号は、発行者識別番号(IIN:Issuer Identifier Number)や銀行識別番号(BIN:Bank Identification Number)と呼ばれる先頭6桁、個々の口座番号、1桁のチェックサムで構成されています。
また、クレジットカードの桁数は、各ブランド毎に以下のようになっています。
| カードブランド | 表示桁数 | 合計桁数 |
|---|---|---|
| VISA、MasterCard、JCB | 4桁 4桁 4桁 4桁 | 16桁 |
| American Express | 4桁 6桁 5桁 | 15桁 |
| Diners Club | 4桁 6桁 4桁 | 14桁 |
主要産業識別子(MII:Major industry identifier)
発行者識別番号(IIN:Issuer Identifier Number)や銀行識別番号(BIN:Bank Identification Number)と呼ばれる先頭6桁の中の1桁目、主要産業識別子(MII:Major industry identifier)と呼ばれるカード発行者の業界を表しています。
| MII値 | 産業 |
|---|---|
| 0 | ISO予約値 |
| 1 | 航空 |
| 2 | 航空 / その他将来発生する産業 |
| 3 | 旅行・娯楽/銀行・金融 |
| 4 | 銀行・金融 |
| 5 | 銀行・金融 |
| 6 | 運送 / 銀行・金融 |
| 7 | 石油 / その他将来発生する産業 |
| 8 | ヘルスケア / 医療 / 通信 / その他将来発生する産業 |
| 9 | 国毎に割り当て可能 |
この中で銀行・金融関連と定義されている先頭が「3」、「4」、「5」のクレジットカードが数多く発行されており、国際ブランド別としては以下のような決まりになっています。
| カードブランド | 最初の1桁 |
|---|---|
| JCB、American Express、Diners Club | 3 |
| VISA | 4 |
| MasterCard | 2か5 |
| Discover、中国銀聯 | 6 |
MasterCardは以前は「5」しかありませんでしたが、MasterCard:MasterCardの新カード番号体系の追加導入により、2017年7月以降から「2」で始まるクレジットカード番号のものが発行されるようになりました。
口座番号
クレジットカード番号の7桁目から最終2桁目まで、最大で12桁の数値が口座番号となっており、各カードブランドで利用されている口座番号は以下の桁数に割り当てられています。
| カードブランド | 口座番号割り当て桁数 |
|---|---|
| VISA、MasterCard、JCB | 7桁目~15桁目 |
| American Express | 7桁目~14桁目 |
| Diners Club | 7桁目~13桁目 |
クレジットカード番号の正当性チェック方法
クレジットカードの番号が正しいものかどうかは、Wikipedia:Luhnアルゴリズムでチェックすることができます。
方法としては以下の通り。
1.右端のチェックディジットを1番目として、偶数番目の桁を2倍にする。
2.2倍にしていない桁も含め、各数字の総和を求める(2倍にした桁が2桁になった場合は、それぞれを別々の数字として加える)。
3.この総和の下1桁が0なら(つまり、10で割り切れる場合)、この番号はLuhnアルゴリズムでは正しく、そうでない場合は正しくない。
これは数字の並びが正しいかをチェックするだけのロジックですので、そのクレジットカード番号が存在するかどうかとは全く別の話です。
しかし、見てきたようにカードブランド、桁数、Luhnアルゴリズムを使えば、入力されたクレジットカード番号か正しいものかどうかは、ある程度の判別ができるのです。
ECサイトの決済テストに使えるクレジットカードのテスト用カード番号【3Dセキュア対応】ECサイトを構築するときに、絶対必要になるクレジットカード決済のテスト。 ECサイトの決済テストに使えるクレジットカードのテスト用カード番号から時間が経ち、3Dセキュア対応が必須と…resource-sharing.co.jp
ECサイトの決済テストに使えるクレジットカードのテスト用カード番号ECサイトを構築するときに、絶対必要になる決済のテスト。 その際に利用できるのが、テスト用カード番号です。 このテスト用カード番号について、各社どうなっているのか調べてみました。resource-sharing.co.jp
越境ECに対応したECサイトを構築する時に課題となる通貨決済の3パターン越境ECサイトの構築は、通常のECサイトの構築とは多くの異なる点があります。 その中で、ECサイト構築時に一番負荷が高いのはやはり対応させたい言語への翻訳になりますが、これ以外にも…resource-sharing.co.jp
ブログとECがセットになったメディアECサイト構築のメリット・デメリットとは?今、ECサイトの構築で大きな注目を浴びているのがメディアECというキーワード。 メディアECとは、ECサイトの中に単なる商品紹介ではないコンテンツを用意してお客様を獲得する方法の一…resource-sharing.co.jp
ECサイト構築でASPのサービスを選ぶ時に見るべき5つのポイント5つのECサイト構築方法と失敗しない選び方で述べたように、ECサイトの構築運用を初めて行う場合には、ASPからスタートするのがオススメです。 しかし、ECのASPは多くの選択肢があ…resource-sharing.co.jp
初心者でもわかる5つのECサイト構築方法とそれぞれのメリットとデメリット新型コロナウイルス感染症の蔓延による外出自粛により、ECサイトを利用して買い物をするのは当たり前となりました。resource-sharing.co.jp
スポンサードサーチ



