- 'payby' => \&payby,
- 'payinfo' => sub { my $hash = shift;
- my $payby = payby($hash);
- my $cc =
- $hash->{'credit_card_number_1'}.
- $hash->{'credit_card_number_2'}.
- $hash->{'credit_card_number_3'}.
- $hash->{'credit_card_number_4'};
- my $bank =
- $hash->{'bank_account_number'}.
- '@'.
- $hash->{'bank_transit_number'};
- if ($payby eq 'CARD') {
- $cc;
- }elsif ($payby eq 'CHEK') {
- $bank;
- }elsif ($payby eq 'BILL') {
- my $info = $hash->{'blanket_purchase_order_number'};
- $bank =~ s/[^\d\@]//g;
- $cc =~ s/\D//g;
- $info = $bank
- if $bank =~ /^\d+\@\d{9}/;
- $info = $cc
- if $cc =~ /^\d{13,16}/;
- $info;
- }else{
- die "unexpected payby";
- }
- },
- 'paycvv' => sub { my $hash = shift;
- my $payby = payby($hash);
- if ($payby eq 'CARD') {
- $hash->{'credit_card_cvv_number'};
- }else{
- '';
- }
- },
- 'paydate' => sub { my $hash = shift;
- my $payby = payby($hash);
- if ($payby eq 'CARD') {
- '20'.
- $hash->{'credit_card_exp_date_2'}.
- '-'.
- substr(
- $hash->{'credit_card_exp_date_1'},
- 0,
- 2,
- ).
- '-01';
- }else{
- '2037-12-01';
- }
- },
- 'payname' => sub { my $hash = shift;
- my $payby = payby($hash);
- if ($payby eq 'CARD') {
- $hash->{'credit_card_name'};
- }elsif ($payby eq 'CHEK') {
- $hash->{'bank_name'};
- }else{
- '';
- }
- },
- 'paytype' => sub { my $hash = shift;
- my $payby = payby($hash);
- if ($payby eq 'CHEK') {
- $hash->{'bank_account_to_debit'}
- ? 'Personal '.
- $hash->{bank_account_to_debit}
- : '';
- }else{
- '';
- }
- },