Caleb Cushing

NAME

Business::CyberSource::Request - CyberSource Request factory

VERSION

version v0.1.6

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 library 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.

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:

ATTRIBUTES

password

Reader: password

Type: Str

Additional documentation: your SOAP transaction key

production

Reader: production

Type: Bool

Additional documentation: 0: test server. 1: production server

username

Reader: username

Type: Str

Additional documentation: your merchantID

METHODS

password

Method originates in Business::CyberSource::Request.

production

Method originates in Business::CyberSource::Request.

new

Method originates in Business::CyberSource::Request.

create

Method originates in MooseX::AbstractFactory::Role.

username

Method originates in Business::CyberSource::Request.

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)