-sub payinfo_check{
- my($payby, $payinforef) = @_;
-
- if ($payby eq 'CARD') {
- $$payinforef =~ s/\D//g;
- if ($$payinforef){
- $$payinforef =~ /^(\d{13,16})$/
- or return "Illegal (mistyped?) credit card number (payinfo)";
- $$payinforef = $1;
- validate($$payinforef) or return "Illegal credit card number";
- return "Unknown card type" if cardtype($$payinforef) eq "Unknown";
- } else {
- $$payinforef="N/A";
- }
- } else {
- $$payinforef =~ /^([\w \!\@\#\$\%\&\(\)\-\+\;\:\'\"\,\.\?\/\=]*)$/
- or return "Illegal text (payinfo)";
- $$payinforef = $1;
- }
- '';
-}
-