- #XXX look for stored cust_payby info
- #
- # $return{payname} = $cust_main->payname
- # || ( $cust_main->first. ' '. $cust_main->get('last') );
- #
- #if ( $cust_main->payby =~ /^(CARD|DCRD)$/ ) {
- # $return{card_type} = cardtype($cust_main->payinfo);
- # $return{payinfo} = $cust_main->paymask;
- #
- # @return{'month', 'year'} = $cust_main->paydate_monthyear;
- #
- #}
- #
- #if ( $cust_main->payby =~ /^(CHEK|DCHK)$/ ) {
- # my ($payinfo1, $payinfo2) = split '@', $cust_main->paymask;
- # $return{payinfo1} = $payinfo1;
- # $return{payinfo2} = $payinfo2;
- # $return{paytype} = $cust_main->paytype;
- # $return{paystate} = $cust_main->paystate;
- # $return{payname} = $cust_main->payname; # override 'first/last name' default from above, if any. Is instution-name here. (#15819)
- #}
+ # look for stored cust_payby info
+ # only if we've been given a clear payment_payby (to avoid payname conflicts)
+ if ($p->{'payment_payby'} =~ /^(CARD|CHEK)$/) {
+ my @search_payby = ($p->{'payment_payby'} eq 'CARD') ? ('CARD','DCRD') : ('CHEK','DCHK');
+ my ($cust_payby) = $cust_main->cust_payby(@search_payby);
+ if ($cust_payby) {
+ $return{payname} = $cust_payby->payname
+ || ( $cust_main->first. ' '. $cust_main->get('last') );
+
+ if ( $cust_payby->payby =~ /^(CARD|DCRD)$/ ) {
+ $return{card_type} = cardtype($cust_payby->payinfo);
+ $return{payinfo} = $cust_payby->paymask;
+
+ @return{'month', 'year'} = $cust_payby->paydate_monthyear;
+
+ }
+
+ if ( $cust_payby->payby =~ /^(CHEK|DCHK)$/ ) {
+ my ($payinfo1, $payinfo2) = split '@', $cust_payby->paymask;
+ $return{payinfo1} = $payinfo1;
+ $return{payinfo2} = $payinfo2;
+ $return{paytype} = $cust_payby->paytype;
+ $return{paystate} = $cust_payby->paystate;
+ $return{payname} = $cust_payby->payname; # override 'first/last name' default from above, if any. Is instution-name here. (#15819)
+ }
+ }
+ }