mirror of
https://gitlab.com/t6353/sharee.bike.git
synced 2025-02-22 11:46:27 +01:00
payment_check and sequencenumber
This commit is contained in:
parent
435f6c1aa5
commit
9eec83fa3d
5 changed files with 69 additions and 33 deletions
|
@ -267,7 +267,14 @@ div#Oline {
|
||||||
.element5:hover {
|
.element5:hover {
|
||||||
background-color: #e6edf2;
|
background-color: #e6edf2;
|
||||||
}
|
}
|
||||||
|
.element6 {
|
||||||
|
margin:0.5em;
|
||||||
|
font-size:0.91em;
|
||||||
|
height: 1.7em;
|
||||||
|
padding:0.3em 0 0 0;
|
||||||
|
text-align:left;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
.elementwhite {
|
.elementwhite {
|
||||||
background-color:white;
|
background-color:white;
|
||||||
color:black;
|
color:black;
|
||||||
|
|
|
@ -132,9 +132,19 @@ sub preauthorizationSEPA_main {
|
||||||
$ctt->{ct_name} = "$ctt->{ct_name}-1";
|
$ctt->{ct_name} = "$ctt->{ct_name}-1";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$ctt->{reference} = $dbt->{operator}->{$varenv->{dbname}}->{oprefix} . "-S-" . $ctt->{ct_name};
|
my $preauth_amount = 0;
|
||||||
|
|
||||||
if($ctadr->{c_id} && $ctt->{c_id} && $ctt->{int01} > 0){
|
#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
|
||||||
|
}else{
|
||||||
|
$preauth_amount = $ctt->{int01};
|
||||||
|
$ctt->{reference} = $dbt->{operator}->{$varenv->{dbname}}->{oprefix} . "-S-" . $ctt->{ct_name};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if($ctadr->{c_id} && $ctt->{c_id} && $preauth_amount > 0){
|
||||||
|
|
||||||
my $lastname = $ctadr->{txt01};
|
my $lastname = $ctadr->{txt01};
|
||||||
(my $firstname,$lastname) = split(/\s+/,$ctadr->{txt01}) if($ctadr->{txt01} =~ /\w\s+\w/i);
|
(my $firstname,$lastname) = split(/\s+/,$ctadr->{txt01}) if($ctadr->{txt01} =~ /\w\s+\w/i);
|
||||||
|
@ -151,7 +161,7 @@ sub preauthorizationSEPA_main {
|
||||||
#$currency = "CHF" if($bcountry eq "CH");
|
#$currency = "CHF" if($bcountry eq "CH");
|
||||||
$ctadr->{txt23} =~ s/\s//g;
|
$ctadr->{txt23} =~ s/\s//g;
|
||||||
my $amount = 0;
|
my $amount = 0;
|
||||||
$amount = $ctt->{int01} * 100 if($ctt->{int01});
|
$amount = $preauth_amount * 100 if($preauth_amount);
|
||||||
my $preauth_request = {
|
my $preauth_request = {
|
||||||
request => 'preauthorization',
|
request => 'preauthorization',
|
||||||
clearingtype => 'elv',
|
clearingtype => 'elv',
|
||||||
|
@ -164,7 +174,6 @@ sub preauthorizationSEPA_main {
|
||||||
country => "$ctadr->{txt10}",
|
country => "$ctadr->{txt10}",
|
||||||
email => "$ctadr->{txt08}",
|
email => "$ctadr->{txt08}",
|
||||||
telephonenumber => "$ctadr->{txt07}",
|
telephonenumber => "$ctadr->{txt07}",
|
||||||
#sequencenumber => "0",
|
|
||||||
amount => "$amount",
|
amount => "$amount",
|
||||||
currency => "$currency",
|
currency => "$currency",
|
||||||
iban => uc($ctadr->{txt22}),
|
iban => uc($ctadr->{txt22}),
|
||||||
|
@ -176,7 +185,7 @@ sub preauthorizationSEPA_main {
|
||||||
$payoneret = $self->rpc("preauthorizationSEPA",$varenv,$request,$ctadr,$ctt,$owner) if($request);
|
$payoneret = $self->rpc("preauthorizationSEPA",$varenv,$request,$ctadr,$ctt,$owner) if($request);
|
||||||
}
|
}
|
||||||
return $payoneret;
|
return $payoneret;
|
||||||
}
|
}#end Request "preauthorizationSEPA"
|
||||||
|
|
||||||
|
|
||||||
#Request "captureSEPA"
|
#Request "captureSEPA"
|
||||||
|
@ -199,23 +208,30 @@ sub captureSEPA_main {
|
||||||
};
|
};
|
||||||
my $ctt = { c_id => 0 };
|
my $ctt = { c_id => 0 };
|
||||||
$ctt = $dbt->fetch_record($dbh,$pref);
|
$ctt = $dbt->fetch_record($dbh,$pref);
|
||||||
|
my $TXID = $ctt->{txt16} || "";
|
||||||
|
$TXID = $ctt_rec->{txid} if($ctt_rec->{txid});
|
||||||
|
my $sequence = 1;
|
||||||
|
$sequence = $ctt_rec->{sequence} if($ctt_rec->{sequence});
|
||||||
|
|
||||||
|
#print Dumper($ctt);
|
||||||
|
|
||||||
if($ctt->{c_id} && (!$ctt->{state} || $ctt->{int14})){
|
if($ctt->{c_id} && (!$ctt->{state} || $ctt->{int14})){
|
||||||
my $amount = 0;
|
my $amount = 0;
|
||||||
$amount = $ctt->{int01} * 100 if($ctt->{int01});
|
$amount = $ctt->{int01} * 100 if($ctt->{int01} != 0);
|
||||||
my $currency = "EUR";
|
my $currency = "EUR";
|
||||||
|
|
||||||
my $preauth_request = {
|
my $preauth_request = {
|
||||||
request => 'capture',
|
request => 'capture',
|
||||||
amount => "$amount",
|
amount => "$amount",
|
||||||
currency => "$currency",
|
currency => "$currency",
|
||||||
txid => "$ctt->{txt16}"
|
txid => "$TXID",
|
||||||
|
sequencenumber => "$sequence"
|
||||||
};
|
};
|
||||||
my $request = { %$payone_conf, %$preauth_request};
|
my $request = { %$payone_conf, %$preauth_request};
|
||||||
$payoneret = $self->rpc("captureSEPA",$varenv,$request,$ctadr,$ctt,$owner) if($request);
|
$payoneret = $self->rpc("captureSEPA",$varenv,$request,$ctadr,$ctt,$owner) if($request);
|
||||||
}
|
}
|
||||||
return $payoneret;
|
return $payoneret;
|
||||||
}
|
}#end Request "captureSEPA"
|
||||||
|
|
||||||
#CC
|
#CC
|
||||||
#Request "preauthorizationCC"
|
#Request "preauthorizationCC"
|
||||||
|
@ -248,9 +264,18 @@ sub preauthorizationCC_main {
|
||||||
$ctt->{ct_name} = "$ctt->{ct_name}-1";
|
$ctt->{ct_name} = "$ctt->{ct_name}-1";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$ctt->{reference} = $dbt->{operator}->{$varenv->{dbname}}->{oprefix} . "-C-" . $ctt->{ct_name};
|
my $preauth_amount = 0;
|
||||||
|
|
||||||
if($ctadr->{c_id} && $ctt->{c_id} && $ctt->{int01} > 0){
|
#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
|
||||||
|
}else{
|
||||||
|
$preauth_amount = $ctt->{int01};
|
||||||
|
$ctt->{reference} = $dbt->{operator}->{$varenv->{dbname}}->{oprefix} . "-C-" . $ctt->{ct_name};
|
||||||
|
}
|
||||||
|
|
||||||
|
if($ctadr->{c_id} && $ctt->{c_id} && $preauth_amount > 0){
|
||||||
my $lastname = $ctadr->{txt01};
|
my $lastname = $ctadr->{txt01};
|
||||||
(my $firstname,$lastname) = split(/\s+/,$ctadr->{txt01}) if($ctadr->{txt01} =~ /\w\s+\w/);
|
(my $firstname,$lastname) = split(/\s+/,$ctadr->{txt01}) if($ctadr->{txt01} =~ /\w\s+\w/);
|
||||||
chomp($firstname);
|
chomp($firstname);
|
||||||
|
@ -261,7 +286,7 @@ sub preauthorizationCC_main {
|
||||||
chomp($city);
|
chomp($city);
|
||||||
|
|
||||||
my $amount = 0;
|
my $amount = 0;
|
||||||
$amount = $ctt->{int01} * 100 if($ctt->{int01});
|
$amount = $preauth_amount * 100 if($preauth_amount);
|
||||||
my $preauth_request = {
|
my $preauth_request = {
|
||||||
request => 'preauthorization',
|
request => 'preauthorization',
|
||||||
clearingtype => 'cc',
|
clearingtype => 'cc',
|
||||||
|
@ -274,7 +299,6 @@ sub preauthorizationCC_main {
|
||||||
country => "$ctadr->{txt10}",
|
country => "$ctadr->{txt10}",
|
||||||
email => "$ctadr->{txt08}",
|
email => "$ctadr->{txt08}",
|
||||||
telephonenumber => "$ctadr->{txt07}",
|
telephonenumber => "$ctadr->{txt07}",
|
||||||
#sequencenumber => '0',
|
|
||||||
amount => "$amount",
|
amount => "$amount",
|
||||||
currency => 'EUR',
|
currency => 'EUR',
|
||||||
#Parameter ( personal data )
|
#Parameter ( personal data )
|
||||||
|
@ -291,7 +315,7 @@ sub preauthorizationCC_main {
|
||||||
$payoneret = $self->rpc("preauthorizationCC",$varenv,$request,$ctadr,$ctt,$owner) if($request);
|
$payoneret = $self->rpc("preauthorizationCC",$varenv,$request,$ctadr,$ctt,$owner) if($request);
|
||||||
}
|
}
|
||||||
return $payoneret;
|
return $payoneret;
|
||||||
}
|
}#end Request "preauthorizationCC"
|
||||||
|
|
||||||
#Request "captureCC"
|
#Request "captureCC"
|
||||||
sub captureCC_main {
|
sub captureCC_main {
|
||||||
|
@ -313,21 +337,26 @@ sub captureCC_main {
|
||||||
};
|
};
|
||||||
my $ctt = { c_id => 0 };
|
my $ctt = { c_id => 0 };
|
||||||
$ctt = $dbt->fetch_record($dbh,$pref);
|
$ctt = $dbt->fetch_record($dbh,$pref);
|
||||||
|
my $TXID = $ctt->{txt16};
|
||||||
|
$TXID = $ctt_rec->{txid} if($ctt_rec->{txid});
|
||||||
|
my $sequence = 1;
|
||||||
|
$sequence = $ctt_rec->{sequence} if($ctt_rec->{sequence});
|
||||||
|
|
||||||
if($ctt->{c_id} && (!$ctt->{state} || $ctt->{int14} || $ctt->{txt28})){
|
if($ctt->{c_id} && (!$ctt->{state} || $ctt->{int14} || $ctt->{txt28})){
|
||||||
my $amount = 0;
|
my $amount = 0;
|
||||||
$amount = $ctt->{int01} * 100 if($ctt->{int01});
|
$amount = $ctt->{int01} * 100 if($ctt->{int01} != 0);
|
||||||
my $preauth_request = {
|
my $preauth_request = {
|
||||||
request => 'capture',
|
request => 'capture',
|
||||||
amount => "$amount",
|
amount => "$amount",
|
||||||
currency => 'EUR',
|
currency => 'EUR',
|
||||||
txid => "$ctt->{txt16}"
|
txid => "$TXID",
|
||||||
|
sequencenumber => "$sequence"
|
||||||
};
|
};
|
||||||
my $request = { %$payone_conf, %$preauth_request};
|
my $request = { %$payone_conf, %$preauth_request};
|
||||||
$payoneret = $self->rpc("captureCC",$varenv,$request,$ctadr,$ctt,$owner) if($request);
|
$payoneret = $self->rpc("captureCC",$varenv,$request,$ctadr,$ctt,$owner) if($request);
|
||||||
}
|
}
|
||||||
return $payoneret;
|
return $payoneret;
|
||||||
}
|
}#end Request "captureCC"
|
||||||
|
|
||||||
#TODO
|
#TODO
|
||||||
#with previous preauthorization/ authorization and clearingtype=”elv”:
|
#with previous preauthorization/ authorization and clearingtype=”elv”:
|
||||||
|
@ -492,7 +521,7 @@ sub rpc {
|
||||||
print FILE "payone CAPTURE $now_dt\n $todo: txid=$txidval && ctt.c_id=$ctt->{c_id} && ctadr.c_id=$ctadr->{c_id}\n" if($debug);
|
print FILE "payone CAPTURE $now_dt\n $todo: txid=$txidval && ctt.c_id=$ctt->{c_id} && ctadr.c_id=$ctadr->{c_id}\n" if($debug);
|
||||||
|
|
||||||
if($txidval && $ctt->{c_id} && $ctadr->{c_id} && $res->content =~ /settleaccount=/){
|
if($txidval && $ctt->{c_id} && $ctadr->{c_id} && $res->content =~ /settleaccount=/){
|
||||||
#int01 and state will be set by "buchen" via Prelogic
|
#int01 and state will be set by "buchen" via Prelogic or via payone_cron/Payment payone_capture
|
||||||
$update_ctt->{int14} = "null";
|
$update_ctt->{int14} = "null";
|
||||||
$update_ctt->{txt28} = "";
|
$update_ctt->{txt28} = "";
|
||||||
$update_adr->{int12} = 0;
|
$update_adr->{int12} = 0;
|
||||||
|
|
|
@ -425,7 +425,7 @@ EOF
|
||||||
my $m= 1 + $k - $n;
|
my $m= 1 + $k - $n;
|
||||||
$m++;
|
$m++;
|
||||||
print "<tr>\n";
|
print "<tr>\n";
|
||||||
print "<td class='element' style='border:0;' colspan='$m'>$payment_text</td>\n";
|
print "<td class='element6' colspan='$m'>$payment_text</td>\n";
|
||||||
print "<td style='font-size:1em;' colspan='$n'>\n";
|
print "<td style='font-size:1em;' colspan='$n'>\n";
|
||||||
|
|
||||||
print $q->start_table({-class=>'list',-style=>'border-top:1px;border-style:solid;border-color:black;', -border=>'0', -width=>'100%',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'}),"\n";
|
print $q->start_table({-class=>'list',-style=>'border-top:1px;border-style:solid;border-color:black;', -border=>'0', -width=>'100%',-align=>'center', -cellpadding=>'3', -cellspacing=>'0'}),"\n";
|
||||||
|
@ -493,24 +493,16 @@ EOF
|
||||||
print $q->hidden(-name=>'printer_id', -value=>"PDF - Normalpapier", -override=>'1');
|
print $q->hidden(-name=>'printer_id', -value=>"PDF - Normalpapier", -override=>'1');
|
||||||
my $send_invoice_checkbox = 1;
|
my $send_invoice_checkbox = 1;
|
||||||
$send_invoice_checkbox = 0 if($ctt->{txt30});
|
$send_invoice_checkbox = 0 if($ctt->{txt30});
|
||||||
print $q->div({-class=>'element',-style=>'float:right;'},
|
print $q->div({-class=>'element6',-style=>'float:right;'},
|
||||||
"buchen incl. drucken ",$but->checkbox("print_pdf","ct_trans","1","PDF drucken",""),
|
"buchen incl. drucken ",$but->checkbox("print_pdf","ct_trans","1","PDF drucken",""),
|
||||||
" eMail Versand ",$but->checkbox("1","send_invoice","$send_invoice_checkbox","eMail Rechnung",""),
|
" eMail Versand ",$but->checkbox("1","send_invoice","$send_invoice_checkbox","eMail Rechnung",""),
|
||||||
$but->singlesubmit1("set_state","buchen"),
|
$but->singlesubmit1("set_state","buchen"),
|
||||||
$but->selector("state","150px",$kind_of_payment,@_paymentstate)),"\n";
|
$but->selector("state","250px",$kind_of_payment,@_paymentstate)),"\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my $praefix = "$ctt->{txt00}-$varenv{praefix}";
|
|
||||||
if($ctt->{state} && $ctt->{int01}){
|
|
||||||
|
|
||||||
$ctt->{int01} =~ s/\./,/;
|
|
||||||
my $style = "color:red;" if($ctt->{int01} ne $sum_paid);
|
|
||||||
my $opos = "";
|
|
||||||
$opos = "OPOS" if($ctt->{int14} eq "1");
|
|
||||||
print $q->div({-style=>"float:right;padding:0.71em;font-size:0.81em;$style"},"[<span style='color:red;'>$opos</span> $vibuchen_mtime Gebucht $ctt->{int01} € \"$ctt->{state}\"]") if($ctt->{state});
|
|
||||||
}
|
|
||||||
print $q->end_form;
|
print $q->end_form;
|
||||||
|
|
||||||
|
my $praefix = "$ctt->{txt00}-$varenv{praefix}";
|
||||||
print $q->div({-style=>"clear:both;height:0.1px;"},""),"\n";
|
print $q->div({-style=>"clear:both;height:0.1px;"},""),"\n";
|
||||||
if($ctt->{txt30}){
|
if($ctt->{txt30}){
|
||||||
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "$ctt->{txt30}"),"\n";
|
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "$ctt->{txt30}"),"\n";
|
||||||
|
@ -522,6 +514,13 @@ EOF
|
||||||
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "eMail wurde nicht versandt! Rechnung eMail ", $but->singlesubmit1("ct_trans","send_invoice_again","send_invoice_again")),"\n" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id});
|
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "eMail wurde nicht versandt! Rechnung eMail ", $but->singlesubmit1("ct_trans","send_invoice_again","send_invoice_again")),"\n" if($users_dms->{u_id} == $dbt->{copri_conf}->{superu_id});
|
||||||
print $q->end_form;
|
print $q->end_form;
|
||||||
}
|
}
|
||||||
|
if($ctt->{state} && $ctt->{int01}){
|
||||||
|
$ctt->{int01} =~ s/\./,/;
|
||||||
|
my $style = "color:red;" if($ctt->{int01} ne $sum_paid);
|
||||||
|
my $opos = "";
|
||||||
|
$opos = "OPOS" if($ctt->{int14} && $ctt->{int14} > 0);
|
||||||
|
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"},"[<span style='color:red;'>$opos</span> $vibuchen_mtime Gebucht $ctt->{int01} € \"$ctt->{state}\"]") if($ctt->{state});
|
||||||
|
}
|
||||||
|
|
||||||
if( -f "$varenv{pdf}/$praefix-$ctt->{ct_name}.pdf" && $varenv{metahost}){
|
if( -f "$varenv{pdf}/$praefix-$ctt->{ct_name}.pdf" && $varenv{metahost}){
|
||||||
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "Download: ", $q->a({-href=>"$varenv{metahost}/pdf/$praefix-$ctt->{ct_name}.pdf", -target=>'_blank'},"$praefix-$ctt->{ct_name}.pdf"));
|
print $q->div({-style=>"padding:0.5em;font-size:0.81em;width:98%;text-align:right;"}, "Download: ", $q->a({-href=>"$varenv{metahost}/pdf/$praefix-$ctt->{ct_name}.pdf", -target=>'_blank'},"$praefix-$ctt->{ct_name}.pdf"));
|
||||||
|
|
1
copri4/main/src/scripts/payone_post_Payment.pl
Symbolic link
1
copri4/main/src/scripts/payone_post_Payment.pl
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../../../sharee.bike/copri-bike/main/src/scripts/payone_post_Payment.pl
|
|
@ -47,8 +47,8 @@ sub tpl(){
|
||||||
|
|
||||||
if($users_sharee->{c_id} && $R::sharee_edit ne "delete_account2" && ($users_sharee->{c_id} eq $varenv->{superu_id} || $users_sharee->{c_id} eq "22262" || $dbt->{copri_conf}->{stage} eq "test")){
|
if($users_sharee->{c_id} && $R::sharee_edit ne "delete_account2" && ($users_sharee->{c_id} eq $varenv->{superu_id} || $users_sharee->{c_id} eq "22262" || $dbt->{copri_conf}->{stage} eq "test")){
|
||||||
my $coo = $q->cookie('domcookie') || $q->param('sessionid') || "";
|
my $coo = $q->cookie('domcookie') || $q->param('sessionid') || "";
|
||||||
my $api_test = "sharee_kn";
|
#my $api_test = "sharee_kn";
|
||||||
#my $api_test = "sharee_fr01";
|
my $api_test = "sharee_fr01";
|
||||||
print $q->div({-style=>'float:right;text-align:right;height:25px;padding:6px 15px;background-color:white'},$q->a({-style=>"color:#$bgcolor1;", -href=>"$varenv->{metahost}/src/scripts/tests/index.pl?sessionid=$coo\&api_test=$api_test", -target=>'_blank'}," [ $api_test ] ")),"\n";
|
print $q->div({-style=>'float:right;text-align:right;height:25px;padding:6px 15px;background-color:white'},$q->a({-style=>"color:#$bgcolor1;", -href=>"$varenv->{metahost}/src/scripts/tests/index.pl?sessionid=$coo\&api_test=$api_test", -target=>'_blank'}," [ $api_test ] ")),"\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue