From: ivan Date: Tue, 25 Sep 2001 15:55:48 +0000 (+0000) Subject: Business::OnlinePayment::BankOfAmerica X-Git-Tag: freeside_1_4_0pre11~315 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=aadba4ddbf1a821d5523fdce4500b59b529aeee3 Business::OnlinePayment::BankOfAmerica --- diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 8b9dedb26..d66d08cb9 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -1150,6 +1150,8 @@ sub collect { $paylast = $self->getfield('first'); $payname = "$payfirst $paylast"; } + + my( $action1, $action2 ) = split(/\s*\,\s*/, $bop_action ); my $transaction = new Business::OnlinePayment( $bop_processor, @bop_options ); @@ -1157,7 +1159,8 @@ sub collect { 'type' => 'CC', 'login' => $bop_login, 'password' => $bop_password, - 'action' => $bop_action, + 'action' => $action1, + 'description' => 'Internet Services', 'amount' => $amount, 'invoice_number' => $cust_bill->invnum, 'customer_id' => $self->custnum, @@ -1171,10 +1174,42 @@ sub collect { 'country' => $self->country, 'card_number' => $self->payinfo, 'expiration' => $exp, + 'referer' => 'http://cleanwhisker.420.am/', ); $transaction->submit(); - if ( $transaction->is_success()) { + if ( $transaction->is_success() && $action2 ) { + my $auth = $transaction->authorization; + my $ordernum = $transaction->order_number; + #warn "********* $auth ***********\n"; + #warn "********* $ordernum ***********\n"; + my $capture = + new Business::OnlinePayment( $bop_processor, @bop_options ); + + $capture->content( + action => $action2, + login => $bop_login, + password => $bop_password, + order_number => $ordernum, + amount => $amount, + authorization => $auth, + description => 'Internet Services', + ); + + $capture->submit(); + + unless ( $capture->is_success ) { + my $e = "Authorization sucessful but capture failed, invnum #". + $cust_bill->invnum. ': '. $capture->result_code. + ": ". $capture->error_message; + warn $e; + return $e; + } + + } + + if ( $transaction->is_success() ) { + my $cust_pay = new FS::cust_pay ( { 'invnum' => $cust_bill->invnum, 'paid' => $amount, @@ -1663,7 +1698,7 @@ sub append_fuzzyfiles { =head1 VERSION -$Id: cust_main.pm,v 1.34 2001-09-20 00:13:07 ivan Exp $ +$Id: cust_main.pm,v 1.35 2001-09-25 15:55:48 ivan Exp $ =head1 BUGS diff --git a/httemplate/docs/config.html b/httemplate/docs/config.html index 424985b7e..0e085b0fe 100644 --- a/httemplate/docs/config.html +++ b/httemplate/docs/config.html @@ -37,7 +37,7 @@ All further configuration files and directories are located in
  • apachemachines - Your Apache machines, one per line. This enables export of `/etc/apache/vhosts.conf', which can be included in your Apache configuration via the Include directive.
  • bindprimary - Your BIND primary nameserver. This enables export of /var/named/named.conf and zone files into /var/named
  • bindsecondaries - Your BIND secondary nameservers, one per line. This enables export of /var/named/named.conf -
  • business-onlinepayment - Business::OnlinePayment support, at least three lines: processor, login, and password. An optional fourth line specifies the action. Optional additional lines are passed to Business::OnlinePayment as %processor_options. +
  • business-onlinepayment - Business::OnlinePayment support, at least three lines: processor, login, and password. An optional fourth line specifies the action or actions (multiple actions are separated with `,': for example: `Authorization Only, Post Authorization'). Optional additional lines are passed to Business::OnlinePayment as %processor_options.
  • bsdshellmachines - Your BSD flavored shell (and mail) machines, one per line. This enables export of `/etc/passwd' and `/etc/master.passwd'.
  • countrydefault - Default two-letter country code (if not supplied, the default is `US')
  • cybercash3.2 - CyberCash v3.2 support. Two lines: the full path and name of your merchant_conf file, and the transaction type (`mauthonly' or `mauthcapture'). CCMckLib3_2.pm, CCMckDirectLib3_2.pm and CCMckErrno3_2 are required.