From df2d2eb21e229b59bb3fbff9b41b7e6e051135de Mon Sep 17 00:00:00 2001
From: Ivan Kohler <ivan@freeside.biz>
Date: Fri, 25 Aug 2017 10:40:26 -0700
Subject: [PATCH] fix 4.x cust_payby vs legacy customer import, RT#77221

---
 FS/FS/cust_main/Import.pm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/FS/FS/cust_main/Import.pm b/FS/FS/cust_main/Import.pm
index f9b167c82..9624529fa 100644
--- a/FS/FS/cust_main/Import.pm
+++ b/FS/FS/cust_main/Import.pm
@@ -410,6 +410,8 @@ sub batch_import {
 
       if ( $cust_main{'payinfo'} =~ /^\s*(\d+\@[\d\.]+)\s*$/ ) {
 
+        delete $cust_main{'payinfo'};
+
         $cust_payby = new FS::cust_payby {
           'payby'   => 'CHEK',
           'payinfo' => $1,
@@ -417,9 +419,14 @@ sub batch_import {
 
       } elsif ($cust_main{'payinfo'} =~ /^\s*([AD]?)(.*)\s*$/) {
 
+        delete $cust_main{'payinfo'};
+
         $cust_payby = new FS::cust_payby {
           'payby'   => ($1 eq 'D') ? 'DCRD' : 'CARD',
           'payinfo' => $2,
+          'paycvv'  => delete $cust_main{'paycvv'},
+          'paydate' => delete $cust_main{'paydate'},
+          'payname' => $cust_main{'first'}. ' '. $cust_main{'last'},
         };
 
       }
@@ -504,7 +511,7 @@ sub batch_import {
     }
 
     my %options = ('invoicing_list' => $invoicing_list);
-    $options{'cust_payby'} = $cust_payby if $cust_payby;
+    $options{'cust_payby'} = [ $cust_payby ] if $cust_payby;
 
     my $error = $cust_main->insert( \%hash, %options );
 
-- 
2.20.1