2.17. Weryfikacja sumy kontrolnej w numerze karty kredytowej

Problem

W aplikacji wykorzystującej numery kart kredytowych należy wprowadzić elementarną weryfikację poprawności wprowadzonego numeru.

Rozwiązanie

Ostatnia cyfra numeru każdej karty kredytowej jest cyfrą kontrolną, zależną od pozostałych cyfr. Wyliczając wartość tej cyfry i porównując wynik ze stanem faktycznym, możemy wykryć niektóre błędy powstałe na etapie wprowadzania numeru.

Algorytm obliczania wspomnianej cyfry kontrolnej zaimplementowany został w bibliotece CreditCard autorstwa Lucasa Carlsona, dostępnej w postaci gemu creditcard. W implementacji tej do klas String i Integer dodana została metoda creditcard badająca wewnętrzną spójność numeru:

require 'rubygems' require ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.