diff --git a/copri4/main/src/Mod/Payment.pm b/copri4/main/src/Mod/Payment.pm index c2132eb..ad8cc39 100755 --- a/copri4/main/src/Mod/Payment.pm +++ b/copri4/main/src/Mod/Payment.pm @@ -7,7 +7,7 @@ package Payment; #Adapted from payone_post.pl # #enable for syntax check -#use lib "/var/www/copri-bike/shareedms-primary/src"; +use lib "/var/www/copri-bike/shareedms-primary/src"; use strict; use warnings; @@ -133,16 +133,26 @@ sub preauthorizationSEPA_main { } } my $preauth_amount = 0; - + my $reference = ""; #for testing payment-data if($ctt_rec->{c_id} && $ctt_rec->{c_id} == 1 && $ctt_rec->{reference}){ $ctt = $ctt_rec; $preauth_amount = $ctt->{int15};#int15 should only used for testing payment-data + $reference = $ctt_rec->{reference}; }else{ $preauth_amount = $ctt->{int01}; - $ctt->{reference} = $dbt->{operator}->{$varenv->{dbname}}->{oprefix} . "-S-" . $ctt->{ct_name}; + $reference = $dbt->{operator}->{$varenv->{dbname}}->{oprefix} . "-S-" . $ctt->{ct_name}; + } + #if reference still set then count + if($ctt->{txt25}){ + if($ctt->{txt25} =~ /\d-\d$/){ + my ($refbase,$sub) = split(/-/,$ctt->{txt25}); + $sub++; + $reference = "$refbase-$sub"; + }else{ + $reference = "$ctt->{txt25}-1"; + } } - if($ctadr->{c_id} && $ctt->{c_id} && $preauth_amount > 0){ @@ -178,7 +188,7 @@ sub preauthorizationSEPA_main { currency => "$currency", iban => uc($ctadr->{txt22}), bic => uc($ctadr->{txt23}), - reference => "$ctt->{reference}" + reference => "$reference" }; $preauth_request->{ip} = "$ctadr->{txt25}" if($ctadr->{txt25} && $ctadr->{txt25} =~ /\d+\.\d+\.\d+\.\d+/); my $request = { %$payone_conf, %$preauth_request}; @@ -265,14 +275,26 @@ sub preauthorizationCC_main { } } my $preauth_amount = 0; + my $reference = ""; #for testing payment-data if($ctt_rec->{c_id} && $ctt_rec->{c_id} == 1 && $ctt_rec->{reference}){ $ctt = $ctt_rec; $preauth_amount = $ctt->{int15};#int15 should only used for testing payment-data + $reference = $ctt_rec->{reference}; }else{ $preauth_amount = $ctt->{int01}; - $ctt->{reference} = $dbt->{operator}->{$varenv->{dbname}}->{oprefix} . "-C-" . $ctt->{ct_name}; + $reference = $dbt->{operator}->{$varenv->{dbname}}->{oprefix} . "-C-" . $ctt->{ct_name}; + } + #if reference still set then count + if($ctt->{txt25}){ + if($ctt->{txt25} =~ /\d-\d$/){ + my ($refbase,$sub) = split(/-/,$ctt->{txt25}); + $sub++; + $reference = "$refbase-$sub"; + }else{ + $reference = "$ctt->{txt25}-1"; + } } if($ctadr->{c_id} && $ctt->{c_id} && $preauth_amount > 0){ @@ -306,7 +328,7 @@ sub preauthorizationCC_main { country => "$ctadr->{txt10}", pseudocardpan => "$ctadr->{ct_name}", ecommercemode => "internet", # wird zu 3Dscheck, - reference => "$ctt->{reference}" + reference => "$reference" }; # https://docs.payone.com/display/public/PLATFORM/Special+remarks+-+Recurring+transactions+credit+card # https://docs.payone.com/display/public/INT/Best+Practices+for+PSD2#tab-3DS+2.0+Best+Case diff --git a/copri4/main/src/Tpl/Address3.pm b/copri4/main/src/Tpl/Address3.pm index 17b9ff1..8b5ded7 100755 --- a/copri4/main/src/Tpl/Address3.pm +++ b/copri4/main/src/Tpl/Address3.pm @@ -190,11 +190,13 @@ EOF print $q->start_table({-class=>'list', -height=>'10em',-border=>'0', -width=>'100%',-align=>'left', -cellpadding=>'0', -cellspacing=>'0'}),"\n"; ###Content #Edit Address --> template=Adressenliste $ctt->{txt01} = $q->unescapeHTML("$ctt->{txt01}"); + my $int05 = ""; + $int05 = "(manuell)" if($ctt->{int05}); + if($users_dms->{u_id} && ($R::trans2edit eq "client" || $R::ct_trans eq "add_transadr")){ my @_anrede = ("","Frau","Herr","Firma"); print $q->hidden(-name=>'c_id4trans', -override=>'1', -value=>"$ctx->{c_id}"),"\n";#c_id from contenttrans print $q->hidden(-name=>'int10', -override=>'1', -value=>"$c_idadr"),"\n"; - #print $q->hidden(-name=>'txt26', -override=>'1', -value=>"$mandat"),"\n"; print $q->hidden(-name=>'c_idadr', -override=>'1', -value=>"$c_idadr"),"\n"; print $q->hidden(-name=>'rel_id', -override=>'1', -value=>"$rel4tpl->{rel_id}"),"\n"; print $q->Tr(),"\n"; @@ -218,6 +220,14 @@ EOF print $q->Tr(),"\n"; print $q->td({-class=>'tdescr'},"eMail"),"\n"; print $q->td({-class=>'tdval',-colspan=>'2'}, $q->textfield(-class=>'etxt',-name=>'txt08', -default=>"$ctt->{txt08}", -size=>'34', maxlength=>'45')),"\n"; + print $q->Tr(),"\n"; + print $q->td({-class=>'tdescr'},"Telefon"),"\n"; + print $q->td({-class=>'tdval',-colspan=>'2'}, $q->textfield(-class=>'etxt',-name=>'txt07', -default=>"$ctt->{txt07}", -size=>'34', maxlength=>'40')),"\n"; + print $q->Tr(),"\n"; + print $q->td({-class=>'tdescr'},"Leistungsdatum"),"\n"; + print $q->td({-class=>'tdval',-colspan=>'2'}, $q->textfield(-class=>'etxt',-name=>'txt20', -default=>"$ctt->{txt20}", -size=>'34', maxlength=>'60'),$but->checkbox("1","int05","$ctt->{int05}"),"manuell"),"\n"; + print $q->hidden(-name=>"int05",-override=>1,-value=>""); + }elsif($users_dms->{u_id}){ print $q->Tr(),"\n"; if(!$ctx->{close_time}){ @@ -237,7 +247,6 @@ EOF if($c_idadr && $rel_adr->{rel_id}){ print $q->td({-class=>'tdval'},$q->span({-style=>"background-color:#dcd77f;"},$q->a({-class=>"linknav",-href=>"/DMS/Kunden?node2edit=editpart\&mode=manager\&rel_id=$rel_adr->{rel_id}\&tpl_id=202",-title=>"Kunden Stammdaten öffnen"}," Kunden ID $c_idadr ")), $q->span({-style=>"color:red;"}," $ctadr->{int12}")),"\n"; } - if($ctt->{txt01} || $ctt->{txt02} || $ctt->{txt07} || $ctt->{txt08}){ $ctt->{txt01} = $lb->newline($ctt->{txt01},"",""); print $q->Tr(),"\n"; $line_count1++; print $q->td({-class=>'tdtxt'}," "),"\n"; @@ -251,57 +260,24 @@ EOF print $q->Tr(),"\n"; $line_count1++; print $q->td({-class=>'tdtxt'}," "),"\n"; print $q->td({-class=>'tdval',-colspan=>2},"$ctt->{txt08}"),"\n"; - } + print $q->Tr(),"\n"; + print $q->td({-class=>'tdescr'}," "),"\n"; + print $q->td({-class=>'tdval',-colspan=>2},"$ctt->{txt07}"),"\n"; + print $q->Tr(),"\n";$line_count1++; + print $q->td({-class=>'tdescr'}," "),"\n"; + print $q->td({-class=>'tdval',-colspan=>2},"$ctt->{txt20} $int05"),"\n"; } print $q->end_table; print "\n"; - my $txt20 = $ctt->{txt20} || $ctf->{txt80}; - my $int05 = ""; - $int05 = "(manuell)" if($ctt->{int05}); - print "