Craig Votava is an ass
[Business-CreditCard.git] / CreditCard.pm
index 426af19..6a9a918 100644 (file)
@@ -49,6 +49,7 @@ Possible return values are:
   Switch
   Solo
   China Union Pay
+  Laser
   Unknown
 
 "Not a credit card" is returned on obviously invalid data values.
@@ -83,7 +84,7 @@ in the US and Canada.  You can change this to return the type the card should
 be treated as in a different country by setting
 C<$Business::OnlinePayment::Country> to your two-letter country code.  This
 is probably what you want to determine if you accept the card, or which
-merchant agreement is is processed through.
+merchant agreement it is processed through.
 
 You can also set C<$Business::OnlinePayment::Country> to a false value such
 as the empty string to return the "base" card type.  This is probably only
@@ -99,7 +100,11 @@ Here are the currently known agreements:
 
 =back
 
-=item 
+=head1 NOTE ON INTENDED PURPOSE
+
+This module is for verifying I<real world> B<credit cards>.  It is B<NOT> a
+pedantic implementation of the ISO 7812 standard, a general-purpose LUHN
+implementation, or intended for use with "creditcard-like account numbers".
 
 =head1 AUTHOR
 
@@ -184,6 +189,9 @@ sub cardtype {
     return "China Union Pay"
       if $number =~ /^622[\dx]{13}$/o;
 
+    return "Laser"
+      if $number =~ /^6(304|7(06|09|71))[\dx]{12,15}$/o;
+
     return "Unknown";
 }