NAME
ICS::Simple - Simple interface to CyberSource ICS2
VERSION
Version 0.06
SYNOPSIS
Here is some basic code. Hopefully I'll come back through soon to document it properly.
use ICS::Simple;
my $ics = ICS::Simple->new(
  ICSPath                 => '/opt/ics',
  MerchantId              => 'v0123456789', # CyberSource supplies this number to you
  Mode                    => 'test',
  Currency                => 'USD',
  Grammar                 => 'UpperCamel', # defaults to raw ICS responses, so you might want to set this
  #ErrorsTo               => 'all-errors@some.fun.place.com',
  CriticalErrorsTo        => 'only-critical-errors@some.fun.place.com',
);
my $request = {
  OrderId                 => 'order19857219',
  FirstName               => 'Fred',
  LastName                => 'Smith',
  Email                   => 'fred.smith@buyer-of-stuff.com',
  CardNumber              => '4111111111111111',
  CardCVV                 => '123',
  CardExpYear             => '2008',
  CardExpMonth            => '12',
  BillingAddress          => '123 Main St',
  BillingCity             => 'Olympia',
  BillingRegion           => 'WA',
  BillingPostalCode       => '98501',
  BillingCountryCode      => 'US',
  ShippingAddress1        => '6789 Industrial Pl',
  ShippingAddress2        => 'Floor 83, Room 11415',
  ShippingCity            => 'Olympia',
  ShippingRegion          => 'WA',
  ShippingPostalCode      => '98506',
  ShippingCountryCode     => 'US',
  ShippingFee             => '25.05',
  HandlingFee             => '5.00',
  Items                   => [
                                { Description   => 'Mega Lizard Monster RC',
                                  Price         => '25.00',
                                  SKU           => 'prod15185' },
                                { Description   => 'Super Racer Parts Kit',
                                  Price         => '15.30',
                                  SKU           => 'prod23523' },
                                { Description   => 'Uber Space Jacket',
                                  Price         => '72.24',
                                  SKU           => 'prod18718' },
  ],
};
my $response = $ics->requestBill($request);
if ($response->{success}) {
  print "Woo!  Success!\n";
  $response = $response->{response};
  print "Thanks for your payment of \$$response->{BillAmount}.\n";
}
else {
  print "Boo!  Failure!\n";
  print "Error:  $response->{error}->{description}\n";
}
FUNCTIONS
new
set
requestIcs
_translateResponse
_resolveApp
_constructOffers
request
requestBill
requestAuth
requestAuthReversal
requestSettle
requestCredit
_handleError
_sendError
AUTHOR
Dusty Wilson, <cpan-ics-simple at dusty.hey.nu>
BUGS
The documentation needs to be finished. Or started. Sorry about that.
Please report any bugs or feature requests to bug-ics-simple at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=ICS-Simple. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc ICS::Simple
You can also look for information at:
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
RT: CPAN's request tracker
Search CPAN
ACKNOWLEDGEMENTS
COPYRIGHT & LICENSE
Copyright 2006 Dusty Wilson, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.