3 # B:OP eSelectPlus USA Pre-Auth & Capture
4 # Portions loosely adapted from B:OP AuthorizeNet via B:OP Exact
9 use_ok 'Business::OnlinePayment';
14 #$order_id = 'B:OP' . time; # Generate inside B:OP; cf. capture_ca.t
16 my $tx = new Business::OnlinePayment("eSelectPlus");
20 action => 'Authorization Only',
21 # order_id => $order_id, # Generate inside B:OP
22 # description => 'Business::OnlinePayment visa test',
24 # name => 'eSelectPlus Tester',
25 card_number => '4242424242424242',
26 expiration => '12/12',
28 address => '1234 Tofu Lane',
30 # invoice_number => 'freeform',
33 $tx->test_transaction(1); # test, dont really charge
38 ok($tx->is_success(), 'Pre-Auth') or diag $tx->error_message;
44 my $auth = $tx->authorization; # TransID
45 my $order_number = $tx->order_number;
46 #$order_id = $tx->order_id;
47 like $auth, qr/\d+/, 'authorization';
48 like $order_number, qr/\d+/, 'order number';
49 #ok $order_id, 'order ID';
51 #warn "auth: $auth\n";
52 #warn "order_number: $order_number\n";
54 skip 'Need pre-auth success, in order to test capture', 1
57 my $settle_tx = new Business::OnlinePayment("eSelectPlus");
61 action => 'Post Authorization',
62 # description => 'Business::OnlinePayment visa test',
64 authorization => $auth,
65 # order_id => $order_id,
66 order_number => $order_number,
67 # name => 'eSelectPlus Tester',
68 # card_number => '4242424242424242', # not required
69 # expiration => '12/12',
72 $settle_tx->test_transaction(1); # test, dont really charge
75 ok($settle_tx->is_success(), 'Capture') || diag $settle_tx->error_message;