• ベストアンサー

クレジットカードのチェックデジットについて

電話で自動受注をするシステムの企画をしております。 クレジットカードの番号を聞くような部分を作っているのですが、クレジットカードのチェックデジットの仕組みってどうすれば教えてもらえるか、それともそもそも非公開のものなのかご存知の方教えてください。 よく、Web上でカード番号を入力した時に、カード番号を間違えるとエラーになったりするので、どこかで申請すれば情報がもらえるのではと期待してます。 よろしくお願いします。

  • exail
  • お礼率47% (9/19)

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

カード番号のみでは番号が正しいかどうかは判りません。 最低限 ・カード番号(どこのカード会社なのかはカード番号に含まれている) ・有効期限(月、年) ・カード名義(カード表面に刻印された英字表記) ・利用額 ・契約店コード の5つが無いと、カードの承認は通りません。 これらの情報を、決められた手順&書式で情報センターと通信し、返答として承認コード(取り引き番号)が返って来た時点で「取り引き成立」となります。 (「全銀手順」と等しいか、それに近い手順で通信します) この時、送ったカードの番号が違うとか、有効期限が違うとか、カード名義が違うとか、利用額が限度額を超えていたりすると、情報センターからの返答が「承認不可コード」になります。 (不可コードには、不可事由コードが入ってたり入ってなかったりします) 簡単に言うと「店頭に置いてある、CATシステムの端末がやってる事と同じ事を行う」と言う事になります。 で、企画しているシステムは「電話で自動受注」と言う事ですので、顧客がプッシュホンを使ったとしても「英字表記のカード名義」が打てません。つまり <<電話で自動受注しての、クレジット決済は不可能>> って事です。 「どうしても電話で自動受注をしたい」なら、事前に顧客登録をしてもらい「顧客コード、暗証番号、カードの詳細情報」をデータベース化して持っておき、顧客が電話で「顧客コード」と「暗証番号」を打ち込んだら、カード会社から承認を取る、と言う方法を使うしかありません。 なお、カードの磁気ストライプの中には、磁気を読んだ時に誤読していないかを確かめるチェックデジットは入っていますが、このチェックデジットはカード利用時の承認には無関係です。 (単純に「磁気情報が正しく読めたのかどうか?」にしか使用されない)

exail
質問者

お礼

詳しい情報ありがとうございました 参考になりました。

その他の回答 (2)

noname#14848
noname#14848
回答No.3

もう遅いかもしれませんが、簡易チェックだけでしたら可能です。 参考URLの、135さんの書き込みが参考になると思います。 ちなみに、このチェックデジットはISO 7812-1985で規定されているそうです。

参考URL:
http://life7.2ch.net/test/read.cgi/credit/1089482722/129-144
  • kfir2001
  • ベストアンサー率35% (163/455)
回答No.2

Webでのプログラムといえば、Perlが有名ですね。 Perlといえば、CPANが付き物です。 CPANにある、クレジットカードのチェックデジット計算ライブラリを参考にしてみてください。

参考URL:
http://search.cpan.org/src/IVAN/Business-CreditCard-0.28/CreditCard.pm

関連するQ&A

  • 海上コンテナのチェックデジット

    海上コンテナのコンテナ番号のチェックデジットを エクセルやJAVA等で作成して公開されている方はいませんか? ターミナルシステム等に組み込まれたプログラムではなく、 あくまで単体で、かつ コンテナ番号を打込むだけでチェックしてくれるもの。 チェックデジット自体うろ覚えなもので・・自作できません。 もしフリーやシェアウェアでダウンロード可能な サイトがありましたら教えて下さい。お願いします。

  • クレジットカードの 3-verifying digits とは?

    海外業者のネット通販から品物を買うのですが, 支払いをクレジットカードで しようと考えています. で, オーダーの入力フォームにあるのが以下のとおりです. 1. Credit Card number 2. valid thru 3. 3-verifying digits (backside of card) 4. Birthdate of cardholder 上記のうち1.カード番号, 2.有効期限, 4.誕生日の3つはよいのですが, 3つ目の「3-verifying digits」というのが何のことかよくわかりません. カードの裏を見てみると, サイン欄に4桁, 3桁 (計7桁)の番号は書いてあるようです. このうち3桁の方でも書くのか? などと思うのですが本当のところがわかりません. どなたかご存じの方いらっしゃいませんでしょうか?

  • チェックディジットの効果について教えてください。

    仕入伝票、売上伝票のほかバーコード番号の下1桁には、チェックディジットが採用されていると聞きます。そしてその算出方法も奇数桁の各数字の和や偶数桁の各数字の和などから算出されているのはわかります。でも最後のチェックディジットとはいえ1ケタの数ですから入力し間違えの確率としては いつでも1/10(十分の一)で当たることにはならないのでしょうか?何万分の一でしか入力ミスがでないとか、かなりの確率で入力ミスを防げるのならこのディジットの存在意義はわかるのですが、今はこの数(ディジット)の意義がいまいちわかりません。   でたらめにこのディジットを入力しても1/10、つまり10回に1回の割合でその正確な番号にたどり着くことになると思うのですが・・・・。    お教えください。何のためにこのディジットがあって、どんな利点があるのかをわかりやすくお教えください。(計算式の説明を伺っているのではありませんのでお間違えなく・・・・・)

  • チェックデジットについて

    CIAという試験の勉強をしているのですが、下記の問題が良くわからなくて困っています。 正解は選択肢2、3です。 選択肢2、3が正解なのは理解できました。 しかし、選択肢1がどのようなことを言っているのがイメージがつかなくて困っています。 どなたがご教授願います。 (問題) カタログ販売会社が注文とは違う商品を顧客に発送するという事態が頻発している。 多くの顧客は電話で注文をし、その注文を受けた後、オペレーターはすぐに注文システムにデーター入力している。 これが適正に行なわれない場合、この問題に対して有効な統制手続は次のどれか。 (選択肢) 1 コンピューターに、注文の連番を自動的にそれぞれの顧客注文に割り当てさせる 2 それぞれの製品番号に対し、チェック・デジットを組み込み、製品番号による入力を要求する 3 製品番号による入力を要求し、コンピューターのプログラムに製品と価格を特定させ、顧客との製品内容についての口頭での確認をオペレーターにさせる

  • チェックデジットについて

    CIAという試験の勉強をしているのですが、以下の問題が理解できず困っています。 ご教授願います。 (問題) 入力統制のうち、元々あった数値データの加工もしくは転送中に変化していないかを確認するために、何らかの計算を施された数値データは次のどれか A ハッシュトータル B パリティチェック C 暗号化 D チェック・デジット (解答) D (解説) チェックデジットとは、ID番号末尾に追加する桁のことで、データ加工・転送等によってデータが変化していないかどうかを確認する入力統制であり、正解はD ハッシュトータルは、データ項目の合計に関連するチェックであるので、Aは誤り。 パリティチェックは、各キャラクターに1ビット分付加し、ハードウウェア内でのキャラクター転送によりこのビットが失われていないかを確認するプロセスであるので、Bは誤り。 暗号化はセキュリティー保持のための処理であり、入力統制ではないのでCも誤り。 (質問) チェックデジットは、入力エラーを防止するためのものと私は理解しています。 解説では、「データ加工・転送等によってデータが変化していないかどうかを確認する入力統制」とされています。 この点がイメージできません。 パリティチェックやハッシュトータルの方が正解になるような気がしているのですが・・ よろしくお願いします。

  • アクセスを使って整数を入力するときにチェックデジットで入力が違うと警告するようにするには (新

    前回の質問がかなり抽象的で意味がわかりずらかったと思いますので追加します。 自分なりにしらべた結果、チェックデジットの計算方法は次のとおりでした。 整数は6桁で一番最後の桁がチェックデジットになっています。 例えば、540838という番号なら最初の5の桁に6をかける(5×6=30) 次の桁は4に5をかける(4×5=20)次の桁は0に4をかける(0×4=0) 以下、8×3=24、3×2=6と計算し、出た答えを全部たした(30+20+0+24+6=80)80を最初に超える11の整倍数からひく(88-80=8)と最後の桁と一致すればその番号は正しく入力されていると判断できるしくみになっています。 この演算式をアクセスでデータ入力した際に、自動的に演算計算して、チェックデジットが一致していないときは、警告するようにしたいのですが、この算式をアクセスでどのように入力すればいいのかわかりません。また、そもそも、アクセスでこんな演算式を入れることができるのかもわかりません。 素人で申し訳ないのですが、わかるかたがいれば教えてください。 関連URL:http://oshiete1.goo.ne.jp/kotaeru.php3?qid=128693

  • アクセスを使って整数を入力するときにチェックデジットで入力が違うと警告するようにするには

    アクセスを使って整数番号を入力するときにその整理番号にチェックデジットがかかっているのですが(算式はわかりません)、入力した整数が違うと警告するようにするにはどうすればいいのでしょうか。整理番号は7桁です。 算式がわからないので解答のしようがないかもしれませんが・・・ 素人でアクセスもチェックデジットについても詳しくないのですが、分かる方がいれば教えてください。 質問の意味はうまく伝わってるでしょうか?

  • チェックデジット(M10W21)を使ったエクセルでのデータ管理

     エクセルでデータ管理していますが、チェックデジット(M10W21)を入力した管理番号をそれぞれに振りたいと思いますが何か良い計算式はありますか?  なお、400くらいのデータがありますので同一シート(例えばA1にデータ、B2にチェックデジット付きの管理番号)で処理したいんですが・・。 よろしくお願いします。

  • クレジットカード

    アマゾンで買うとき、クレジットカードで支払いたいと思っているのですが、クレジットで支払うには、クレジット番号を教えますよね。 教えたら、その値段分が引き落とされるのですか?余計に引き落とされる可能性はないのですか? クレジットカードの仕組みを教えてください。

  • クレジットカード決済について

    WEBでのクレジットカード決済について教えて下さい。 (1)最小額ってあるのでしょうか? (2)クレジットカード決済の仕組みを自サイトで 行うには審査が厳しいと聞いたのですが、本当でしょうか? 例えば、お名前.com とかは自分の所でやらないで サイバーキャッシュのシステムでクレジットカード 決済をしていますが。 (もちろん、サイバーキャッシュにお金を払っている ので費用がかかる。)