+ local($FS::cust_main::ignore_expired_card) = 1;
+ local($FS::cust_main::ignore_illegal_zip) = 1;
+ local($FS::cust_main::ignore_banned_card) = 1;
+ local($FS::cust_main::skip_fuzzyfiles) = 1;
+
+ # decrypt inadvertantly-encrypted payinfo where payby != CARD,DCRD,CHEK,DCHK
+ # kind of a weird spot for this, but it's better than duplicating
+ # all this code in each class...
+ my @decrypt_tables = qw( cust_main cust_pay_void cust_pay cust_refund cust_pay_pending );
+ foreach my $table ( @decrypt_tables ) {
+ my @objects = qsearch({
+ 'table' => $table,
+ 'hashref' => {},
+ 'extra_sql' => "WHERE payby NOT IN ( 'CARD', 'DCRD', 'CHEK', 'DCHK' ) ".
+ " AND LENGTH(payinfo) > 100",
+ });
+ foreach my $object ( @objects ) {
+ my $payinfo = $object->decrypt($object->payinfo);
+ die "error decrypting payinfo" if $payinfo eq $object->payinfo;
+ $object->payinfo($payinfo);
+ my $error = $object->replace;
+ die $error if $error;
+ }
+ }
+