The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Business::OnlinePayment::iAuthorizer - backend for Business::OnlinePayment


  use Business::OnlinePayment;

  my $tx = new Business::OnlinePayment("iAuthorizer");
  $tx->content('login'       => '...', # login, password, and serial for your account
               'password'    => '...',   
               'serial'      => '...',
               'action'      => 'Normal Authorization',
               'card_number' => '4012888888881',  # test card       
               'expiration'  => '05/05',
               'amount'      => '1.00',
               'address'     => '123 Anystreet',
               'zip'         => '12345',
               'cvv2'        => '1234',


  if($tx->is_success()) {
      print "Card processed successfully: ".$tx->authorization."\n";
  } else {
      print "Card was rejected: ".$tx->error_message."\n";


Credit Card transactions

All credit card transactions require the login, password, serial, action, amount, card_number and expiration fields.

The type field is never required, as the module does not support check transactions.

The action field may be filled out as follows:

Normal Authorization, Authorization Only, and Credit

   The API documentation calls these Purchase, Authorization Only and Return.

Post Authorization and Void

   Refered to as Force and Void transaction types in the API documentation, 
   you must also pass in the authorization code (in the authorization field) 
   that you recieved with the original transaction.

Check transactions

Check transactions are not supported by this module. It would not be difficult to add, but I will not be needing it, so I may not get to it. Feel free to submit a patch :).


For detailed information see Business::OnlinePayment.


This module implements's API, but does not support check transactions or the 'post back' response method.

This module has been certified by iAuthorizer.


Copyright (c) 2003 Daniel Brooks <>

Many thanks to Jason Kohles and Ivan Kohler, who wrote and maintain Business::OnlinePayment::AuthorizeNet, which I borrowed heavily from while building this module.

The service is required before this module will function, however the module itself is free software and may be redistributed and/or modified under the same terms as Perl itself.