|
|
<?php
////////////////////////////////////////////////////
// //
// Credit card validation routine //
// May 15, 1998 //
// By Brett Error //
// [email protected] //
// //
// validateCC($number[,$type]) //
// Uses the MOD 10 algorythm to determine if a //
// credit card number is valid. //
// //
// $number = credit card account number //
// $type is optional. Setting type to //
// visa, mastercard, discover, or amex will //
// perform additional checking on the account //
// number. //
// //
// The function returns 1 (true) if the CC is //
// valid, 0 (false) if it is invalid, and -1 if //
// the type entered does not match the supported //
// types listed above. //
// //
////////////////////////////////////////////////////
function validateCC($ccnum, $type = 'unknown'){
//Clean up input
$type = strtolower($type);
$ccnum = ereg_replace('[-[:space:]]', '',$ccnum);
//Do type specific checks
if ($type == 'unknown') {
//Skip type specific checks
}
elseif ($type == 'mastercard'){
if (strlen($ccnum) != 16 || !ereg('5[1-5]', $ccnum)) return 0;
}
elseif ($type == 'visa'){
if ((strlen($ccnum) != 13 && strlen($ccnum) != 16) || substr
($ccnum, 0, 1) != '4') return 0;
}
elseif ($type == 'amex'){
if (strlen($ccnum) != 15 || !ereg('3[47]', $ccnum)) return a;
}
elseif ($type == 'discover'){
if (strlen($ccnum) != 16 || substr($ccnum, 0, 4) != '6011')
return 0;
}
else {
//invalid type entered
return -1;
}
// Start MOD 10 checks
$dig = toCharArray($ccnum);
$numdig = sizeof ($dig);
$j = 0;
for ($i=($numdig-2); $i>=0; $i-=2){
$dbl[$j] = $dig[$i] * 2;
$j++;
}
$dblsz = sizeof($dbl);
$validate =0;
for ($i=0;$i<$dblsz;$i++){
$add = toCharArray($dbl[$i]);
for ($j=0;$j<sizeof($add);$j++){
$validate += $add[$j];
}
$add = '';
}
for ($i=($numdig-1); $i>=0; $i-=2){
$validate += $dig[$i];
}
if (substr($validate, -1, 1) == '0') return 1;
else return 0;
}
// takes a string and returns an array of characters
function toCharArray($input){
$len = strlen($input);
for ($j=0;$j<$len;$j++){
$char[$j] = substr($input, $j, 1);
}
return ($char);
}
?>
|
|
| This is a redirection program which is as good as the come.to v3 url
redirection, complete with admin interface all clients stored in mysql
Categories : PHP, MySQL, Ecommerce, HTML and PHP, Complete Programs | | | a class for doing payments to a cybercash server
Categories : Ecommerce, Complete Programs, PHP Classes, PHP | | | Shopping Basket On-Line Ordering System. Categories : Complete Programs, MySQL, PHP, Ecommerce, Databases | | | an example of the cyberlib payment class Categories : PHP, PHP Classes, Ecommerce, Credit Cards | | | Credit Card Identification and Validation Class - The credit_card class provides methods for cleaning, validating and identifying the type of credit card numbers. Categories : PHP, PHP Classes, Credit Cards, Ecommerce, Algorithms | | | After discovering some credit card validation routines didnt work - here is one that I found works with all the numbers I have tried so far Categories : Credit Cards, Ecommerce, PHP | | | simple shopping cart for php3 Categories : PHP, PHP Classes, Complete Programs, Ecommerce | | | PHP-MySQL shopping cart
Categories : PHP, Ecommerce, Complete Programs | | | ECHOcart - Open Source Shopping Cart Categories : PHP, Credit Cards, Ecommerce | | | phpAds, a complete banner and ad management system with detailled tracking and stats. Categories : MySQL, Complete Programs, Ecommerce, PHP, Databases | | | Validation function for LUHNMod10 and variant. Can discriminate credit card numbers of varying lengths. Uses [Double >> Sum-of-Digits] transform. Categories : Credit Cards, Authentication, Ecommerce, PHP | | | REALTIME SHIPPING QUOTE Categories : Complete Programs, Ecommerce, PHP | | | credit card security code Categories : PHP, Credit Cards, PHP Classes, Credit Cards | | | PHPCatalog Categories : Ecommerce, PHP, Complete Programs | | | A set of functions to check the validity of a credit card number. Categories : Ecommerce, Credit Cards, PHP | |
| |
| |
|