NAME

Business::CyberSource::Request::DCC - CyberSource DCC Request Object

VERSION

version 0.004003

SYNOPSIS

        my $CYBS_ID = 'myMerchantID';
        my $CYBS_KEY = 'transaction key generated with cybersource';

        use Business::CyberSource::Request;

        my $factory
                = Business::CyberSource::Request->new({
                        username       => $CYBS_ID,
                        password       => $CYBS_KEY,
                        production     => 0,
                });

        my $dcc_req = $factory->create( 'DCC',
                {
                        reference_code => '1984',
                        currency       => 'USD',
                        credit_card    => '5100870000000004',
                        cc_exp_month   => '04',
                        cc_exp_year    => '2012',
                        total          => '1.00',
                        foreign_currency => 'EUR',
                });

        my $dcc_res = $dcc_req->submit;

        my $auth_req = $factory->create( 'Authorization',
                {
                        reference_code   => '1984',
                        first_name       => 'Caleb',
                        last_name        => 'Cushing',
                        street           => 'somewhere',
                        city             => 'Houston',
                        state            => 'TX',
                        zip              => '77064',
                        country          => 'US',
                        email            => 'xenoterracide@gmail.com',
                        credit_card      => '5100870000000004',
                        total            => '1.00',
                        currency         => 'USD',
                        foreign_currency => 'EUR',
                        foreign_amount   => $dcc_res->foreign_amount,
                        exchange_rate    => $dcc_res->exchange_rate,
                        cc_exp_month     => '04',
                        cc_exp_year      => '2012',
                        dcc_indicator    => 1,
                        exchange_rate_timestamp => $dcc_res->exchange_rate_timestamp,
                });

        my $auth_res = $auth_req->submit;

        my $cap_req = $factory->create( 'Capture',
                {
                        reference_code   => '1984',
                        total            => '1.00',
                        currency         => 'USD',
                        foreign_currency => 'EUR',
                        foreign_amount   => $dcc_res->foreign_amount,
                        exchange_rate    => $dcc_res->exchange_rate,
                        dcc_indicator    => 1,
                        request_id       => $auth_res->request_id,
                        exchange_rate_timestamp => $dcc_res->exchange_rate_timestamp,
                });

        my $cap_res = $cap_req->submit;

        my $cred_req = $factory->create( 'FollowOnCredit',
                {
                        reference_code   => '1984',
                        total            => '1.00',
                        currency         => 'USD',
                        foreign_currency => 'EUR',
                        foreign_currency => $dcc_res->foreign_currency,
                        foreign_amount   => $dcc_res->foreign_amount,
                        exchange_rate    => $dcc_res->exchange_rate,
                        dcc_indicator    => 1,
                        request_id       => $cap_res->request_id,
                        exchange_rate_timestamp => $dcc_res->exchange_rate_timestamp,
                });

DESCRIPTION

This object allows you to create a request for Direct Currency Conversion.

ATTRIBUTES

foreign_amount

Reader: foreign_amount

Type: MooseX::Types::Common::Numeric::PositiveOrZeroNum

client_env

Reader: client_env

Type: Str

Additional documentation: provided by the library

cybs_wsdl

Reader: cybs_wsdl

Type: MooseX::Types::Path::Class::File

Additional documentation: provided by the library

comments

Reader: comments

Type: Str

trace

Reader: trace

Writer: _trace

Type: XML::Compile::SOAP::Trace

password

Reader: password

Type: MooseX::Types::Common::String::NonEmptyStr

This attribute is required.

Additional documentation: your SOAP transaction key

cybs_api_version

Reader: cybs_api_version

Type: Str

Additional documentation: provided by the library

cvn

Reader: cvn

Type: MooseX::Types::CreditCard::CardSecurityCode

Additional documentation: Card Verification Numbers

cc_exp_month

Reader: cc_exp_month

Type: MooseX::Types::Varchar::Varchar[2]

This attribute is required.

Additional documentation: Two-digit month that the credit card expires in. Format: MM.

total

Reader: total

Type: MooseX::Types::Common::Numeric::PositiveOrZeroNum

Additional documentation: Grand total for the order. You must include either this field or item_#_unitPrice in your request

username

Reader: username

Type: MooseX::Types::Varchar::Varchar[30]

This attribute is required.

Additional documentation: Your CyberSource merchant ID. Use the same merchantID for evaluation, testing, and production

credit_card

Reader: credit_card

Type: MooseX::Types::CreditCard::CreditCard

This attribute is required.

Additional documentation: Customer's credit card number

card_type

Reader: card_type

Type: MooseX::Types::CyberSource::CardTypeCode

Additional documentation: Type of card to authorize

reference_code

Reader: reference_code

Type: MooseX::Types::Varchar::Varchar[50]

This attribute is required.

cv_indicator

Reader: cv_indicator

Type: MooseX::Types::CyberSource::CvIndicator

Additional documentation: Flag that indicates whether a CVN code was sent

currency

Reader: currency

Type: MooseX::Types::Locale::Currency::CurrencyCode

This attribute is required.

production

Reader: production

Type: Bool

This attribute is required.

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

exchange_rate

Reader: exchange_rate

Type: MooseX::Types::Common::Numeric::PositiveOrZeroNum

exchange_rate_timestamp

Reader: exchange_rate_timestamp

Type: Str

full_name

Reader: full_name

Type: MooseX::Types::Varchar::Varchar[60]

cc_exp_year

Reader: cc_exp_year

Type: MooseX::Types::Varchar::Varchar[4]

This attribute is required.

Additional documentation: Four-digit year that the credit card expires in. Format: YYYY.

cybs_xsd

Reader: cybs_xsd

Type: MooseX::Types::Path::Class::File

Additional documentation: provided by the library

foreign_currency

Reader: foreign_currency

Type: MooseX::Types::Locale::Currency::CurrencyCode

Additional documentation: Billing currency returned by the DCC service. For the possible values, see the ISO currency codes

client_name

Reader: client_name

Type: Str

Additional documentation: provided by the library

client_version

Reader: client_version

Type: Str

items

Reader: items

Type: ArrayRef[MooseX::Types::CyberSource::Item]

METHODS

new

Instantiates a DCC request object, see the attributes listed below for which ones are required and which are optional.

submit

Actually sends the required data to CyberSource for processing and returns a Business::CyberSource::Response object.

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)