File Coverage

blib/lib/Business/CyberSource/Request/Authorization.pm
Criterion Covered Total %
statement 20 20 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 27 27 100.0


line stmt bran cond sub pod time code
1             package Business::CyberSource::Request::Authorization;
2 3     3   1668189 use strict;
  3         3  
  3         101  
3 3     3   14 use warnings;
  3         4  
  3         99  
4 3     3   796 use namespace::autoclean;
  3         24892  
  3         19  
5              
6             our $VERSION = '0.010008'; # VERSION
7              
8 3     3   1239 use Moose;
  3         632176  
  3         23  
9             extends 'Business::CyberSource::Request';
10             with qw(
11             Business::CyberSource::Request::Role::BillingInfo
12             Business::CyberSource::Request::Role::CreditCardInfo
13             Business::CyberSource::Request::Role::DCC
14             Business::CyberSource::Request::Role::TaxService
15             );
16              
17 3     3   17595 use MooseX::Types::CyberSource qw( BusinessRules AuthService );
  3         11  
  3         33  
18              
19 3     3   22992 use Module::Runtime qw( use_module );
  3         6  
  3         29  
20              
21             has '+service' => (
22             remote_name => 'ccAuthService',
23             isa => AuthService,
24             lazy_build => 0,
25             );
26              
27             sub _build_service {
28 4     4   3821 use_module('Business::CyberSource::RequestPart::Service::Auth');
29 4         287 return Business::CyberSource::RequestPart::Service::Auth->new;
30             }
31              
32             has business_rules => (
33             isa => BusinessRules,
34             remote_name => 'businessRules',
35             traits => ['SetOnce'],
36             is => 'rw',
37             coerce => 1,
38             );
39              
40             __PACKAGE__->meta->make_immutable;
41             1;
42              
43             # ABSTRACT: CyberSource Authorization Request object
44              
45             __END__
46              
47             =pod
48              
49             =encoding UTF-8
50              
51             =head1 NAME
52              
53             Business::CyberSource::Request::Authorization - CyberSource Authorization Request object
54              
55             =head1 VERSION
56              
57             version 0.010008
58              
59             =head1 SYNOPSIS
60              
61             use Business::CyberSource::Request::Authorization;
62              
63             Business::CyberSource::Request::Authorization->new({
64             reference_code => '42',
65             bill_to => {
66             first_name => 'Caleb',
67             last_name => 'Cushing',
68             street => '100 somewhere st',
69             city => 'Houston',
70             state => 'TX',
71             postal_code => '77064',
72             country => 'US',
73             email => 'xenoterracide@gmail.com',
74             },
75             purchase_totals => {
76             currency => 'USD',
77             total => 5.00,
78             discount => 0.50, # optional
79             duty => 0.03, # optional
80             },
81             card => {
82             account_number => '4111111111111111',
83             expiration => {
84             month => 9,
85             year => 2025,
86             },
87             },
88             # optional:
89             ship_to => {
90             country => 'US',
91             postal_code => '78701',
92             city => 'Austin',
93             state => 'TX',
94             street1 => '306 E 6th',
95             street2 => 'Dizzy Rooster',
96             },
97             });
98              
99             =head1 DESCRIPTION
100              
101             Offline authorization means that when you submit an order using a credit card,
102             you will not know if the funds are available until you capture the order and
103             receive confirmation of payment. You typically will not ship the goods until
104             you receive this payment confirmation. For offline credit cards, it will take
105             typically five days longer to receive payment confirmation than for online
106             cards.
107              
108             =head1 EXTENDS
109              
110             L<Business::CyberSource::Request>
111              
112             =head1 WITH
113              
114             =over
115              
116             =item L<Business::CyberSource::Request::Role::BillingInfo>
117              
118             =item L<Business::CyberSource::Request::Role::CreditCardInfo>
119              
120             =item L<Business::CyberSource::Request::Role::DCC>
121              
122             =item L<Business::CyberSource::Request::Role::TaxService>
123              
124             =back
125              
126             =head1 ATTRIBUTES
127              
128             =head2 references_code
129              
130             Merchant Reference Code
131              
132             =head2 bill_to
133              
134             L<Business::CyberSource::RequestPart::BillTo>
135              
136             =head2 ship_to
137              
138             L<Business::CyberSource::RequestPart::ShipTo>
139              
140             =head2 purchase_totals
141              
142             L<Business::CyberSource::RequestPart::PurchaseTotals>
143              
144             =head2 card
145              
146             L<Business::CyberSource::RequestPart::Card>
147              
148             =head2 business_rules
149              
150             L<Business::CyberSource::RequestPart::BusinessRules>
151              
152             =for Pod::Coverage BUILD
153              
154             =head1 BUGS
155              
156             Please report any bugs or feature requests on the bugtracker website
157             https://github.com/hostgator/business-cybersource/issues
158              
159             When submitting a bug or request, please include a test-file or a
160             patch to an existing test-file that illustrates the bug or desired
161             feature.
162              
163             =head1 AUTHOR
164              
165             Caleb Cushing <xenoterracide@gmail.com>
166              
167             =head1 COPYRIGHT AND LICENSE
168              
169             This software is Copyright (c) 2017 by Caleb Cushing <xenoterracide@gmail.com>.
170              
171             This is free software, licensed under:
172              
173             The Artistic License 2.0 (GPL Compatible)
174              
175             =cut