aboutsummaryrefslogtreecommitdiffstats
path: root/finance/p5-Business-CreditCard/pkg-descr
blob: dfcea144d3d031f69c93733977fd66addbf6df0b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
       These subroutines tell you whether a credit card number is
       self-consistent -- whether the last digit of the number is
       a valid checksum for the preceding digits.

       The validate() subroutine returns 1 if the card number
       provided passes the checksum test, and 0 otherwise.

       The cardtype() subroutine returns a string containing the
       type of card: "MasterCard", "VISA", and so on.  My list is
       not complete; I welcome additions.

       The generate_last_digit() subroutine computes and returns
       the last digit of the card given the preceding digits.
       With a 16-digit card, you provide the first 15 digits; the
       subroutine returns the sixteenth.

       This module does not tell you whether the number is on an
       actual card, only whether it might conceivably be on a
       real card.  To verify whether a card is real, or whether
       it's been stolen, or what its balance is, you need a
       Merchant ID, which gives you access to credit card
       databases.  The Perl Journal
       (http://work.media.mit.edu/tpj) has a Merchant ID so that
       I can accept MasterCard and VISA payments; it comes with
       the little pushbutton/slide-your-card-through device
       you've seen in restaurants and stores.  That device
       calculates the checksum for you, so I don't actually use
       this module.

       These subroutines will also work if you provide the
       arguments as numbers instead of strings, e.g.
       validate(5276440065421319).