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', 78
15 unless $merchant_id && $api_key;
20 login => $merchant_id,
23 action => 'Normal Authorization',
26 # Test approved card numbers,
27 # ref: https://dev.na.bambora.com/docs/references/payment_APIs/test_cards/
28 my %approved_cards = (
29 visa => { card => '4030000010001234', cvv2 => '123' },
30 mastercard => { card => '5100000010001004', cvv2 => '123' },
31 mastercard2 => { card => '2223000048400011', cvv2 => '123' },
32 amex => { card => '371100001000131', cvv2 => '1234' },
33 visa => { card => '4030000010001234', cvv2 => '123' },
34 discover => { card => '6011500080009080', cvv2 => '123' },
37 for my $name ( keys %approved_cards ) {
38 $content{card_number} = $approved_cards{$name}->{card};
39 $content{cvv2} = $approved_cards{$name}->{cvv2};
41 my ( $tr, $response ) = make_api_request( \%content );
49 message => 'Approved',
51 payment_method => 'CC',
67 authorization => 'TEST',
79 # Test declined card numbers,
80 # ref: https://dev.na.bambora.com/docs/references/payment_APIs/test_cards/
82 visa => { card => '4003050500040005', cvv2 => '123' },
83 mastercard => { card => '5100000020002000', cvv2 => '123' },
84 amex => { card => '342400001000180', cvv2 => '1234' },
85 discover => { card => '6011000900901111', cvv2 => '123' },
87 for my $name ( keys %decline_cards ) {
88 $content{card_number} = $decline_cards{$name}->{card};
89 $content{cvv2} = $decline_cards{$name}->{cvv2};
91 my ( $tr, $response ) = make_api_request( \%content );
102 ok( $tr->result_code != 1, '$tr->result_code != 1' );