payone sequence by form transaction

This commit is contained in:
Rainer Gümpelein 2022-02-19 13:20:23 +01:00
parent 9eec83fa3d
commit 32213a7b46
4 changed files with 27 additions and 26 deletions

View file

@ -74,7 +74,10 @@ sub mail_transport(){
my $boundary = 'frontier';
my $pdfpath = "$dbt->{copri_conf}->{basedir}/$sendref->{syshost}/pdf";
my $attachBinaryFile = "";
my $filesize = 0;
if(-f "$pdfpath/$sendref->{attachment}"){
$filesize = -s "$pdfpath/$sendref->{attachment}";
$attachBinaryFile = "$sendref->{attachment}";
}
@ -84,6 +87,7 @@ sub mail_transport(){
}
print EMA "\n$now_dt, start mailing to: $mail_to | subject: $subject\n";
print EMA "attachment: $pdfpath/$sendref->{attachment} | filesize: $filesize\n";
my $html = "<html><head><title>$subject</title></head><body style='text-align:left;border:0px solid silver;padding:15px;margin:2%;width:90%;'>\n";
$html .= "<div>$sendref->{message}</div>\n";

View file

@ -542,7 +542,7 @@ sub rpc {
#errormessage=Amount no longer available --> disabled
if($res->content !~ /errorcode=911/){
my $payone_message = "$now_dt\n" . $res->content . "\nAufgrund der payone Ablehnung wurde der Verleih gesperrt. Die Bankdaten müssen überarbeitet werden\n";
my $payone_message = "$now_dt\n" . $res->content . "\nAufgrund der payone Ablehnung wurde der Verleih gesperrt.\n";
if($payoneLive == 1 && $ctadr->{c_id}){
$update_ctt->{txt28} = $payone_message;
$update_adr->{txt28} = $payone_message;
@ -659,7 +659,7 @@ sub payone_capture(){
$db->updater("contenttrans","c_id",$ctt->{c_id},"int14","2","","","","","");#must be to capture
#in cron we set OPOS anyway. If payone captured, it will be set int14=null
if(!$state || $state !~ /payone/){
$db->updater("contenttrans","c_id",$ctt->{c_id},"txt22","cronjob fail","","","","","");
#$db->updater("contenttrans","c_id",$ctt->{c_id},"txt22","cronjob fail","","","","","");
$return_text = "Payment.pm can not preauthorization because of absent payment-data in ctadr.c_id:$ctadr->{c_id}, SEPA/CC:$ctadr->{int03}, $ctadr->{ct_name}, we exit\n";
return $return_text;
}
@ -694,11 +694,16 @@ sub payone_capture(){
my $praefix = "$ctt->{txt00}-$varenv->{praefix}";#like Rechnung-sharee_operator
my $wc_line= $ctt->{int04};#Adresse.Tabelle
my $topdf = "$varenv->{basedir}/src/wkhtmltopdf-amd64";
my $print_return = `$topdf --page-size A4 "$varenv->{wwwhost}/Printpreview?printer_id=PDF\&mandant_main_id=$mandant_id\&main_id=$main_id\&ct_name2print=$ctt->{ct_name}\&c_id4trans=$ctt->{c_id}\&u_id=$owner\&wc=$wc_line" $varenv->{pdf}/$praefix-$ctt->{ct_name}.pdf 2>&1`;
my $exit_code = 1;
my $print_return = "";
$print_return = `$topdf --page-size A4 "$varenv->{wwwhost}/Printpreview?printer_id=PDF\&mandant_main_id=$mandant_id\&main_id=$main_id\&ct_name2print=$ctt->{ct_name}\&c_id4trans=$ctt->{c_id}\&u_id=$owner\&wc=$wc_line" $varenv->{pdf}/$praefix-$ctt->{ct_name}.pdf 2>&1`;
$exit_code = $?;
sleep 2;
my $now_dt = strftime "%Y-%m-%d %H:%M:%S", localtime;
my $filesize = -s "$varenv->{pdf}/$praefix-$ctt->{ct_name}.pdf";
open(EMA, ">> $varenv->{logdir}/copri-print.log");
print EMA "$now_dt\n$topdf --page-size A4 \"$varenv->{wwwhost}/Printpreview?printer_id=PDF\&mandant_main_id=$mandant_id\&main_id=$main_id\&ct_name2print=$ctt->{ct_name}\&c_id4trans=$ctt->{c_id}\&u_id=$owner\&wc=$wc_line\" $varenv->{pdf}/$praefix-$ctt->{ct_name}.pdf\n";
print EMA "\n$now_dt\n$topdf --page-size A4 \"$varenv->{wwwhost}/Printpreview?printer_id=PDF\&mandant_main_id=$mandant_id\&main_id=$main_id\&ct_name2print=$ctt->{ct_name}\&c_id4trans=$ctt->{c_id}\&u_id=$owner\&wc=$wc_line\" $varenv->{pdf}/$praefix-$ctt->{ct_name}.pdf\nreturn: $print_return\nfilesize: $filesize\nexit_code: $exit_code\n";
#send_invoice infomail
if(-f "$varenv->{pdf}/$praefix-$ctt->{ct_name}.pdf"){

View file

@ -775,8 +775,9 @@ sub preinit(){
}
#Payone managemandate (txt16=txid means payment process ID)
#2022-02-19, disabled Formular trigger at all because trying payone sequence numbering
my $subset_state = $R::set_state || $ctt->{state};
if($R::c_idadr && $subset_state =~ /payone/){
if(1==2 && $R::c_idadr && $subset_state =~ /payone/){
my $ctadr = $db->get_content1("contentadr",$R::c_idadr);
#SEPA
@ -812,21 +813,6 @@ sub preinit(){
if(($R::ct_trans =~ /print_pdf|print/i) || ("$R::set_main_id" != "$rel->{main_id}")){
my $table = "contenttrans";
#zum Angebot den Warenbestand hochsetzen!
if(($ctt->{txt00} !~ /Angebot|Kostenvoranschlag|Auftrag|Storno/) && ($node->{node_name} =~ /Angebot|Kostenvoranschlag|Auftrag/) && ("$ctb->{txt02}" ne "aus")){
my ($cttpos,$rows) = $db->collect_contentpos("$table",$users_dms->{c_id4trans});
foreach my $id (sort { lc($cttpos->{$a}->{sort}) cmp lc($cttpos->{$b}->{sort}) } keys(%$cttpos)){
$u_rows += $db->update_content4comp("content",$cttpos->{$id}->{ct_name},"$cttpos->{$id}->{cc_id}","+","$cttpos->{$id}->{int03}","$users_dms->{kind_of_trans}","$cttpos->{$id}->{txt12}");
}
}
#vom Angebot zur Rechnung usw. den Warenbestand runtersetzen!
if(($ctt->{txt00} =~ /Angebot|Kostenvoranschlag|Auftrag/) && ($node->{node_name} !~ /Angebot|Kostenvoranschlag|Auftrag/) && ("$ctb->{txt02}" ne "aus")){
my ($cttpos,$rows) = $db->collect_contentpos("$table",$users_dms->{c_id4trans});
foreach my $id (sort { lc($cttpos->{$a}->{sort}) cmp lc($cttpos->{$b}->{sort}) } keys(%$cttpos)){
$u_rows += $db->update_content4comp("content",$cttpos->{$id}->{ct_name},"$cttpos->{$id}->{cc_id}","-","$cttpos->{$id}->{int03}","$users_dms->{kind_of_trans}","$cttpos->{$id}->{txt12}");
}
}
$u_rows += $db->update_content4change($table,$c_id,"",$R::set_main_id,"int12");#zusätzl. Formtyp
$db->update_content4change($table,$c_id,"",$node->{node_name},"txt00");#node_name
$db->update_content4change($table,$c_id,"",$ctb->{txt06},"txt13") if($ctb->{txt06});#vendor name
@ -866,8 +852,9 @@ sub preinit(){
my $payoneret = $payone->preauthorizationCC_main(\%varenv,$ctadr,$ctt,$users_dms->{u_id});
sleep 2;
}
#2018-10-18, check if preauth is done with txid (txt16)
$ctt = $db->get_content1("contenttrans",$c_id);
$ctt->{sequence} = $R::payone_sequence || 1;
#SEPA capture
if($ctt->{int03} == 1 && $ctt->{txt16} && $R::state =~ /SEPA/ && $state !~ /Zahlungseingang/){#SEPA