Luhnチェックアルゴリズムを実行することで、最初に有効な支払いカード番号を持っているかどうかを確認するためのチェックを行うことができます。
しかし、それがクレジットカードなのかデビットなのかを特定する必要があります)それに応じて次のタスクを実行するためのカード。これは最初の4文字に依存することは理解していますが、正確な範囲についてはわかりません。
誰かが説明したり、これを説明するリンクを提供したりできれば素晴らしいでしょう。ありがとう。
編集...
これらのスタックオーバーフローリンクの両方で、私の質問に答えられていません。したがって、これをこれらのいずれにも複製することはできません。
私の場合、カードリーダーを使用してカードを読み取るのではなく、代わりにカード番号、CVV、および有効期限を使用して支払いを行います(ユーザーがこれらを挿入します)。
また、「はい」、Visaカード、Master Card、AmericanExpressカードのいずれであるかを確認できます。しかし、それがCredit
カードかDebit
カードかを見つける方法はありません(たとえば、カードがVisaカードの場合、どうすればそれを知ることができますか? Visaカードは「クレジットカード」または「デビットカード」です。それが正確な質問です)。
PAN番号だけとの違いを明確に区別することはできません。この情報を詳述する公式の公開データベースはありません。銀行が集まってそれを実現した場合、共謀の罪で告発されます。
お住まいの国によっては、オンラインで使用できるリソースがいくつかあります。バークレイズは、PDF "CARD IDENTIFICATION AND VALIDATION --Barclaycard"というドキュメントを提供しています。英国向けですが、その正確性については保証しません。業界の変化に合わせて約四半期ごとに更新されます。PDFファイルへのリンクを投稿できないため、グーグルで検索する必要があります。
ちなみに、LUHNチェックは他の多くの番号、たとえばEAN13バーコードにも使用されるため、LUHNチェックを実行するだけでは十分ではありません。