JT Smith > iTransact-Lite-0.0101 > iTransact::Lite

Download:
iTransact-Lite-0.0101.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Source  

NAME ^

iTransact::Lite - A simple interface to the iTransact payment gateway.

SYNOPSIS ^

 use iTransact::Lite;
 
 my $itransact = iTransact::Lite->new(
    gateway_id      => 99999,
    api_key         => 'xxxxxxx',
    api_username    => 'mycoolsite',
 );
 
 my $response = $itransact->submit({
        AuthTransaction => {
            CustomerData    => {
                Email           => 'user@example.com',
                BillingAddress  => {
                    Address1        => '123 Main St',
                    FirstName       => 'John',
                    LastName        => 'Doe',
                    City            => 'Anytown',
                    State           => 'WI',
                    Zip             => '00000',
                    Country         => 'US',
                    Phone           => '608-555-1212',
                },
                CustId          => $customer_id,
            },
            Total               => sprintf('%.2f', $amount),
            Description         => 'Space Sneakers',
            AccountInfo         => {
                CardAccount => {
                    AccountNumber   => $credit_card_number,
                    ExpirationMonth => '07',
                    ExpirationYear  => '2019',
                    CVVNumber       => '999',
                },
            },
            TransactionControl  => {
                SendCustomerEmail   => 'FALSE',
                SendMerchantEmail   => 'FALSE',
                TestMode            => 'TRUE',
            },
        },
 });

 if ($response->{GatewayInterface}{TransactionResponse}{TransactionResult}{Status} eq 'ok') {
     say "Success! Transaction ID: ". $response->{GatewayInterface}{TransactionResponse}{TransactionResult}{XID};
 }
 else {
     die $response->{GatewayInterface}{TransactionResponse}{TransactionResult}{ErrorMessage};
 }

DESCRIPTION ^

This module provides a simple wrapper around the iTransact XML Connection API (http://www.itransact.com/support/toolkit/xml-connection/api/). It does the hard work of signing, serializing, and submitting the request for you, but you still have to give it the data the web service API is expecting.

METHODS ^

new

Constructor.

gateway_id

The gateway id number supplied by iTransact for your account.

api_key

The API Key supplied by iTransact for your account after you enable web services.

api_username

The API Username suppplied by iTransact for your account after you enable web services.

submit

Use this method to submit your requests. You may use this method multipled times on the same object with new payloads each time.

payload

A hash reference of the data you wish to submit. This should not include the outer GatewayInterface wrapper or the APICredentials section as those will be auto generated.

EXCEPTIONS ^

If this module is unable to connect to iTransact for any reason it will throw an Ouch exception with the exception code of 504.

PREREQS ^

The following modules are required:

Ouch LWP LWP::Protocol::https XML::Hash::LX Digest::HMAC_SHA1 Any::Moose

TODO ^

Someday I should probably make a full featured version of this module that hides all of the web service's data structures, and does some more advanced response handling.

SUPPORT ^

Repository

http://github.com/rizen/iTransact-Lite

Bug Reports

http://github.com/rizen/iTransact-Lite/issues

AUTHOR ^

JT Smith <rizen@cpan.org>

LEGAL ^

iTransact::Lite is Copyright 2012 Plain Black Corporation (http://www.plainblack.com) and is licensed under the same terms as Perl itself.

syntax highlighting: