File Coverage

lib/eBay/API/XML/Call/IssueRefund/IssueRefundRequestType.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2              
3             package eBay::API::XML::Call::IssueRefund::IssueRefundRequestType;
4              
5 1     1   1336 use strict;
  1         2  
  1         26  
6 1     1   4 use warnings;
  1         2  
  1         25  
7              
8             ##########################################################################
9             #
10             # Module: ............... eBay/API/XML
11             # File: ................. IssueRefundRequestType.pm
12             # Generated by: ......... genEBayApiDataTypes.pl
13             # Last Generated: ....... 08/24/2008 16:44
14             # API Release Number: ... 579
15             #
16             ##########################################################################
17              
18             =head1 NAME
19              
20             eBay::API::XML::Call::IssueRefund::IssueRefundRequestType
21              
22             =head1 DESCRIPTION
23              
24             Issues a refund for a single Half.com transaction. This can only be
25             called by a seller. A refund may only be issued for a specific
26             transaction. Sellers do not have the ability to issue a general
27             refund (a refund not tied to a transaction) to a buyer.
28              
29              
30              
31             =head1 SYNOPSIS
32              
33             =cut
34              
35              
36             =head1 INHERITANCE
37              
38             eBay::API::XML::Call::IssueRefund::IssueRefundRequestType inherits from the L class
39              
40             =cut
41              
42 1     1   33 use eBay::API::XML::RequestDataType;
  0            
  0            
43             our @ISA = ("eBay::API::XML::RequestDataType");
44              
45             use eBay::API::XML::DataType::AmountType;
46             use eBay::API::XML::DataType::ItemIDType;
47             use eBay::API::XML::DataType::Enum::RefundReasonCodeType;
48             use eBay::API::XML::DataType::Enum::RefundTypeCodeType;
49              
50              
51             my @gaProperties = ( [ 'ItemID', 'ns:ItemIDType', ''
52             ,'eBay::API::XML::DataType::ItemIDType', '1' ]
53             , [ 'RefundAmount', 'ns:AmountType', ''
54             ,'eBay::API::XML::DataType::AmountType', '1' ]
55             , [ 'RefundMessage', 'xs:string', '', '', '' ]
56             , [ 'RefundReason', 'ns:RefundReasonCodeType', ''
57             ,'eBay::API::XML::DataType::Enum::RefundReasonCodeType', '' ]
58             , [ 'RefundType', 'ns:RefundTypeCodeType', ''
59             ,'eBay::API::XML::DataType::Enum::RefundTypeCodeType', '' ]
60             , [ 'TransactionID', 'xs:string', '', '', '' ]
61             );
62             push @gaProperties, @{eBay::API::XML::RequestDataType::getPropertiesList()};
63              
64             my @gaAttributes = (
65             );
66             push @gaAttributes, @{eBay::API::XML::RequestDataType::getAttributesList()};
67              
68             =head1 Subroutines:
69              
70             =cut
71              
72             sub new {
73             my $classname = shift;
74             my %args = @_;
75             my $self = $classname->SUPER::new(%args);
76             return $self;
77             }
78              
79             sub isScalar {
80             return 0;
81             }
82              
83              
84              
85             =head2 setItemID()
86              
87             ID of the Half.com item associated with the refund payment to the buyer.
88             To uniquely identify a transaction, you need to specify both ItemID
89             and TransactionID. Use GetSellerPayments to determine the item ID
90             and transaction ID associated with the original sale payment.
91              
92             MaxLength: 19 (Note: The eBay database specifies 38. Currently, Item IDs are usually 9 to 12 digits)
93              
94             RequiredInput: Yes
95             # Argument: 'ns:ItemIDType'
96              
97             =cut
98              
99             sub setItemID {
100             my $self = shift;
101             $self->{'ItemID'} = shift
102             }
103              
104             =head2 getItemID()
105              
106             # Returns: 'ns:ItemIDType'
107              
108             =cut
109              
110             sub getItemID {
111             my $self = shift;
112             return $self->_getDataTypeInstance( 'ItemID'
113             ,'eBay::API::XML::DataType::ItemIDType');
114             }
115              
116              
117             =head2 setRefundAmount()
118              
119             The amount the seller wants to refund to the buyer, in US Dollars (USD).
120             Must be greater than 0.00. Half.com allows a maximum of the original item
121             sale price (transaction price plus original shipping reimbursement) plus
122             return shipping costs (the amount the buyer paid to return the item).
123             Typically, the return shipping cost is based on the current cost of
124             shipping the individual item (not the discounted cost calculated during
125             the original checkout for a multi-item order). You can also issue a
126             partial refund for the amount you want the buyer to receive. If
127             RefundType=Full or RefundType=FullPlusShipping and you do not pass
128             RefundAmount in the request, Half.com will calculate the refund amount for
129             you. If you pass RefundAmount in the request, the amount you specify will
130             override Half.com's calculated value. Required if RefundType=
131             CustomOrPartial.
132              
133             RequiredInput: Conditionally
134             # Argument: 'ns:AmountType'
135              
136             =cut
137              
138             sub setRefundAmount {
139             my $self = shift;
140             $self->{'RefundAmount'} = shift
141             }
142              
143             =head2 getRefundAmount()
144              
145             # Returns: 'ns:AmountType'
146              
147             =cut
148              
149             sub getRefundAmount {
150             my $self = shift;
151             return $self->_getDataTypeInstance( 'RefundAmount'
152             ,'eBay::API::XML::DataType::AmountType');
153             }
154              
155              
156             =head2 setRefundMessage()
157              
158             Note to the buyer. Cannot include HTML.
159              
160             MaxLength: 400
161              
162             RequiredInput: No
163             # Argument: 'xs:string'
164              
165             =cut
166              
167             sub setRefundMessage {
168             my $self = shift;
169             $self->{'RefundMessage'} = shift
170             }
171              
172             =head2 getRefundMessage()
173              
174             # Returns: 'xs:string'
175              
176             =cut
177              
178             sub getRefundMessage {
179             my $self = shift;
180             return $self->{'RefundMessage'};
181             }
182              
183              
184             =head2 setRefundReason()
185              
186             Explanation of the reason that the refund is being issued.
187              
188             RequiredInput: Yes
189             # Argument: 'ns:RefundReasonCodeType'
190              
191             =cut
192              
193             sub setRefundReason {
194             my $self = shift;
195             $self->{'RefundReason'} = shift
196             }
197              
198             =head2 getRefundReason()
199              
200             # Returns: 'ns:RefundReasonCodeType'
201              
202             =cut
203              
204             sub getRefundReason {
205             my $self = shift;
206             return $self->{'RefundReason'};
207             }
208              
209              
210             =head2 setRefundType()
211              
212             Explanation of the costs that the refund amount covers.
213              
214             RequiredInput: Yes
215             # Argument: 'ns:RefundTypeCodeType'
216              
217             =cut
218              
219             sub setRefundType {
220             my $self = shift;
221             $self->{'RefundType'} = shift
222             }
223              
224             =head2 getRefundType()
225              
226             # Returns: 'ns:RefundTypeCodeType'
227              
228             =cut
229              
230             sub getRefundType {
231             my $self = shift;
232             return $self->{'RefundType'};
233             }
234              
235              
236             =head2 setTransactionID()
237              
238             ID of the Half.com transaction associated with the refund payment.
239             To uniquely identify a transaction, you need to specify both ItemID
240             and TransactionID. Use GetSellerPayments to determine the item ID
241             and transaction ID associated with the original sale payment.
242              
243             MaxLength: 19 (Note: The eBay database specifies 38. Currently, transaction IDs are usually 9 to 12 digits.)
244              
245             RequiredInput: Yes
246             # Argument: 'xs:string'
247              
248             =cut
249              
250             sub setTransactionID {
251             my $self = shift;
252             $self->{'TransactionID'} = shift
253             }
254              
255             =head2 getTransactionID()
256              
257             # Returns: 'xs:string'
258              
259             =cut
260              
261             sub getTransactionID {
262             my $self = shift;
263             return $self->{'TransactionID'};
264             }
265              
266              
267              
268              
269              
270             ## Attribute and Property lists
271             sub getPropertiesList {
272             my $self = shift;
273             return \@gaProperties;
274             }
275              
276             sub getAttributesList {
277             my $self = shift;
278             return \@gaAttributes;
279             }
280              
281              
282              
283             1;