7 require 'TestFixtures.pm';
8 use Business::OnlinePayment;
10 my $merchant_id = $ENV{BAMBORA_MERCHANT_ID};
11 my $api_key = $ENV{BAMBORA_API_KEY};
14 skip 'Missing env vars BAMBORA_MERCHANT_ID and BAMBORA_API_KEY', 32
15 unless $merchant_id && $api_key;
18 login => $merchant_id,
23 owner => 'Freeside Internet',
24 name => 'Mitch Jackson',
25 address => '1407 Graymalkin Lane',
31 invoice_number => time(),
32 card_number => '4030000010001234',
35 phone => '251-300-1300',
36 email => 'mitch@freeside.biz',
40 ok( $tr = Business::OnlinePayment->new('Bambora'), 'Instantiatiate $tr' );
41 ok( $tr->content( %content ), 'Set transaction content onto $tr' );
45 ok( !$@, "Submit request to create Payment Profile (tokenize)" );
52 message => 'Operation Successful',
58 ok( $response = $tr->response_decoded, 'response_decoded' );
60 for my $k ( keys %expect ) {
62 $response->{$k} eq $expect{$k},
63 sprintf '$tr->%s == %s', $k, $expect{$k}
67 for my $k ( @expect ) {
69 defined $response->{$k},
70 sprintf '$r->%s (%s)',
76 $response->{customer_code} eq $tr->card_token,
77 '$tr->card_token eq $response->{customer_code}'