diff options
| -rw-r--r-- | FS/FS/cust_main.pm | 34 | 
1 files changed, 28 insertions, 6 deletions
| diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index dab71f020..b0536836d 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -4768,9 +4768,20 @@ sub realtime_refund_bop {    ) {      warn "  attempting void\n" if $DEBUG > 1;      my $void = new Business::OnlinePayment( $processor, @bop_options ); -    $content{'card_number'} = $cust_pay->payinfo -      if $cust_pay->payby eq 'CARD' -      && $void->can('info') && $void->info('CC_void_requires_card'); +    if ( $void->can('info') ) { +      if ( $cust_pay->payby eq 'CARD' +           && $void->info('CC_void_requires_card') ) +      { +        $content{'card_number'} = $cust_pay->payinfo +      } elsif ( $cust_pay->payby eq 'CHEK' +                && $void->info('ECHECK_void_requires_account') ) +      { +        $cust_pay->payinfo  +        ( $content{'account_number'}, $content{'routing_code'} ) = +          split('@', $cust_pay->payinfo); +        $content{'name'} = $self->get('first'). ' '. $self->get('last'); +      } +    }      $void->content( 'action' => 'void', %content );      $void->submit();      if ( $void->is_success ) { @@ -6111,9 +6122,20 @@ sub _new_realtime_refund_bop {    ) {      warn "  attempting void\n" if $DEBUG > 1;      my $void = new Business::OnlinePayment( $processor, @bop_options ); -    $content{'card_number'} = $cust_pay->payinfo -      if $cust_pay->payby eq 'CARD' -      && $void->can('info') && $void->info('CC_void_requires_card'); +    if ( $void->can('info') ) { +      if ( $cust_pay->payby eq 'CARD' +           && $void->info('CC_void_requires_card') ) +      { +        $content{'card_number'} = $cust_pay->payinfo; +      } elsif ( $cust_pay->payby eq 'CHEK' +                && $void->info('ECHECK_void_requires_account') ) +      { +        $cust_pay->payinfo  +        ( $content{'account_number'}, $content{'routing_code'} ) = +          split('@', $cust_pay->payinfo); +        $content{'name'} = $self->get('first'). ' '. $self->get('last'); +      } +    }      $void->content( 'action' => 'void', %content );      $void->submit();      if ( $void->is_success ) { | 
