NAME
Business::CyberSource::Request - CyberSource Request Factory Module
VERSION
version v0.4.1
SYNOPSIS
my $CYBS_ID = 'myMerchantID';
my $CYBS_KEY = 'transaction key generated with cybersource';
use Business::CyberSource::Request;
my $request_factory
= Business::CyberSource::Request->new({
username => $CYBS_ID,
password => $CYBS_KEY,
production => 0,
});
my $request_obj = $request_factory->create(
'Authorization',
{
reference_code => '42',
first_name => 'Caleb',
last_name => 'Cushing',
street => 'somewhere',
city => 'Houston',
state => 'TX',
zip => '77064',
country => 'US',
email => 'xenoterracide@gmail.com',
total => 5.00,
currency => 'USD',
credit_card => '4111111111111111',
cc_exp_month => '09',
cc_exp_year => '2013',
}
);
DESCRIPTION
This module provides a generic factory interface to creating request objects. It also allows us to not repeat ourselves when specifying attributes that are common to all requests such as authentication, and server destination.
ATTRIBUTES
password
Reader: password
Type: MooseX::Types::Common::String::NonEmptyStr
Additional documentation: your SOAP transaction key
production
Reader: production
Type: Bool
Additional documentation: 0: test server. 1: production server
username
Reader: username
Type: MooseX::Types::Varchar::Varchar[30]
Additional documentation: Your CyberSource merchant ID. Use the same merchantID for evaluation, testing, and production
METHODS
new([{ hashref }])
supports passing the attributes listed below as a hashref.
create( $implementation, { hashref for new } )
Create a new request object. create
takes a request implementation and a hashref to pass to the implementation's new
method. The implementation string accepts any implementation whose package name is prefixed by Business::CyberSource::Request::
.
my $req = $factory->create(
'Capture',
{
first_name => 'John',
last_name => 'Smith',
...
}
);
Please see the following Business::CyberSource::Request::
packages for implementation and required attributes:
note: You can use the Business:CyberSource::Request::Credit class but, it requires traits to be applied depending on the type of request you need, and thus does not currently work with the factory.
SEE ALSO
BUGS
Please report any bugs or feature requests on the bugtracker website https://github.com/xenoterracide/Business-CyberSource/issues
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
AUTHOR
Caleb Cushing <xenoterracide@gmail.com>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2011 by Caleb Cushing.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)