+++ /dev/null
-#!/usr/bin/env perl
-use strict;
-use warnings;
-use Test::More;
-
-use lib 't';
-require 'TestFixtures.pm';
-use Business::OnlinePayment;
-
-my $merchant_id = $ENV{BAMBORA_MERCHANT_ID};
-my $api_key = $ENV{BAMBORA_API_KEY};
-
-SKIP: {
- skip 'Missing env vars BAMBORA_MERCHANT_ID and BAMBORA_API_KEY', 3
- unless $merchant_id && $api_key;
-
- my %content = (
- login => $merchant_id,
- password => $api_key,
- action => 'Authorization Only',
- amount => '9.99',
-
- owner => 'Freeside Internet Services',
- name => 'Mitch Jackson',
- address => '1407 Graymalkin Lane',
- city => 'Vancouver',
- state => 'BC',
- zip => '111 111',
- country => 'CA',
-
- invoice_number => time(),
- card_number => '4030000010001234',
- cvv2 => '123',
- expiration => '1122',
- phone => '251-300-1300',
- email => 'mitch@freeside.biz',
- );
-
- my $tr;
- ok( $tr = Business::OnlinePayment->new('Bambora'), 'Instantiatiate $tr' );
- ok( $tr->content( %content ), 'Set transaction content onto $tr' );
- {
- local $@;
- eval { $tr->submit };
- ok( !$@, "Submit pre-auth (expect approve)" );
- }
-
- my $response;
- my %expect = (
- amount => '9.99',
- approved => 1,
- auth_code => 'TEST',
- message => 'Approved',
- message_id => 1,
- payment_method => 'CC',
- type => 'PA',
- );
- my @expect = qw(
- card
- created
- order_number
- risk_score
- );
-
- ok( $response = $tr->response_decoded, 'response_decoded' );
-
- for my $k ( keys %expect ) {
- ok(
- $response->{$k} eq $expect{$k},
- sprintf '$tr->%s == %s', $k, $expect{$k}
- );
- }
-
- for my $k ( @expect ) {
- ok(
- defined $response->{$k},
- sprintf '$r->%s (%s)',
- $k, $response->{$k}
- );
- }
-
- %content = (
- %content,
- action => 'post authorization',
- order_number => $tr->order_number,
- );
-
- my $tr_pa;
- ok( $tr_pa = Business::OnlinePayment->new('Bambora'), 'Instantiate $tr_pa' );
- ok( $tr->content( %content ), 'Set transaction content onto $tr_pa' );
- {
- local $@;
- eval { $tr_pa->submit };
- ok( !$@, "Submit post-auth" );
- warn "Error: $@" if $@;
- }
-
- my $response_pa;
-
-
- ok( $response_pa = $tr_pa->response_decoded, 'response_decoded' );
-
- # for my $attr (qw/
- # message_id
- # authorization
- # order_number
- # txn_date
- # avs_code
- # is_success
- # /) {
- # ok(
- # defined $tr->$attr(),
- # sprintf '%s $tr->%s() = %s',
- # $name,
- # $attr,
- # $tr->$attr()
- # );
- # }
-
-}
-
-done_testing;
\ No newline at end of file