File Coverage

lib/eBay/API/XML/Call/SendInvoice/SendInvoiceRequestType.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::SendInvoice::SendInvoiceRequestType;
4              
5 1     1   1539 use strict;
  1         2  
  1         82  
6 1     1   6 use warnings;
  1         1  
  1         28  
7              
8             ##########################################################################
9             #
10             # Module: ............... eBay/API/XML
11             # File: ................. SendInvoiceRequestType.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::SendInvoice::SendInvoiceRequestType
21              
22             =head1 DESCRIPTION
23              
24             Enables a seller to send an invoice to a buyer involved in the transaction.
25              
26              
27              
28             =head1 SYNOPSIS
29              
30             =cut
31              
32              
33             =head1 INHERITANCE
34              
35             eBay::API::XML::Call::SendInvoice::SendInvoiceRequestType inherits from the L class
36              
37             =cut
38              
39 1     1   37 use eBay::API::XML::RequestDataType;
  0            
  0            
40             our @ISA = ("eBay::API::XML::RequestDataType");
41              
42             use eBay::API::XML::DataType::AmountType;
43             use eBay::API::XML::DataType::InternationalShippingServiceOptionsType;
44             use eBay::API::XML::DataType::ItemIDType;
45             use eBay::API::XML::DataType::OrderIDType;
46             use eBay::API::XML::DataType::SalesTaxType;
47             use eBay::API::XML::DataType::ShippingServiceOptionsType;
48             use eBay::API::XML::DataType::Enum::BuyerPaymentMethodCodeType;
49             use eBay::API::XML::DataType::Enum::InsuranceOptionCodeType;
50              
51              
52             my @gaProperties = ( [ 'CODCost', 'ns:AmountType', ''
53             ,'eBay::API::XML::DataType::AmountType', '1' ]
54             , [ 'CheckoutInstructions', 'xs:string', '', '', '' ]
55             , [ 'EmailCopyToSeller', 'xs:boolean', '', '', '' ]
56             , [ 'InsuranceFee', 'ns:AmountType', ''
57             ,'eBay::API::XML::DataType::AmountType', '1' ]
58             , [ 'InsuranceOption', 'ns:InsuranceOptionCodeType', ''
59             ,'eBay::API::XML::DataType::Enum::InsuranceOptionCodeType', '' ]
60             , [ 'InternationalShippingServiceOptions', 'ns:InternationalShippingServiceOptionsType', '1'
61             ,'eBay::API::XML::DataType::InternationalShippingServiceOptionsType', '1' ]
62             , [ 'ItemID', 'ns:ItemIDType', ''
63             ,'eBay::API::XML::DataType::ItemIDType', '1' ]
64             , [ 'OrderID', 'ns:OrderIDType', ''
65             ,'eBay::API::XML::DataType::OrderIDType', '1' ]
66             , [ 'PayPalEmailAddress', 'xs:string', '', '', '' ]
67             , [ 'PaymentMethods', 'ns:BuyerPaymentMethodCodeType', '1'
68             ,'eBay::API::XML::DataType::Enum::BuyerPaymentMethodCodeType', '' ]
69             , [ 'SalesTax', 'ns:SalesTaxType', ''
70             ,'eBay::API::XML::DataType::SalesTaxType', '1' ]
71             , [ 'ShippingServiceOptions', 'ns:ShippingServiceOptionsType', '1'
72             ,'eBay::API::XML::DataType::ShippingServiceOptionsType', '1' ]
73             , [ 'TransactionID', 'xs:string', '', '', '' ]
74             );
75             push @gaProperties, @{eBay::API::XML::RequestDataType::getPropertiesList()};
76              
77             my @gaAttributes = (
78             );
79             push @gaAttributes, @{eBay::API::XML::RequestDataType::getAttributesList()};
80              
81             =head1 Subroutines:
82              
83             =cut
84              
85             sub new {
86             my $classname = shift;
87             my %args = @_;
88             my $self = $classname->SUPER::new(%args);
89             return $self;
90             }
91              
92             sub isScalar {
93             return 0;
94             }
95              
96              
97              
98             =head2 setCODCost()
99              
100             Italy site (site ID 101) only.
101             Enables you to specify the cash-on-delivery (COD) cost, for COD shipping.
102              
103             SeeLink: URL: http://developer.ebay.com/DevZone/XML/docs/WebHelp/index.htm?context=eBay_XML_API&topic=CODInShippingDetails
104             Title: Specifying the Cash on Delivery Option in Shipping Details
105              
106             RequiredInput: No
107             # Argument: 'ns:AmountType'
108              
109             =cut
110              
111             sub setCODCost {
112             my $self = shift;
113             $self->{'CODCost'} = shift
114             }
115              
116             =head2 getCODCost()
117              
118             # Returns: 'ns:AmountType'
119              
120             =cut
121              
122             sub getCODCost {
123             my $self = shift;
124             return $self->_getDataTypeInstance( 'CODCost'
125             ,'eBay::API::XML::DataType::AmountType');
126             }
127              
128              
129             =head2 setCheckoutInstructions()
130              
131             Seller's Payment instructions/message to the buyer and return policy.
132             Default is null.
133              
134             MaxLength: 500
135              
136             RequiredInput: No
137             # Argument: 'xs:string'
138              
139             =cut
140              
141             sub setCheckoutInstructions {
142             my $self = shift;
143             $self->{'CheckoutInstructions'} = shift
144             }
145              
146             =head2 getCheckoutInstructions()
147              
148             # Returns: 'xs:string'
149              
150             =cut
151              
152             sub getCheckoutInstructions {
153             my $self = shift;
154             return $self->{'CheckoutInstructions'};
155             }
156              
157              
158             =head2 setEmailCopyToSeller()
159              
160             Specifies whether the seller wishes to be copied on the invoice email that
161             will be sent to the buyer. Default will be true.
162              
163             RequiredInput: No
164             # Argument: 'xs:boolean'
165              
166             =cut
167              
168             sub setEmailCopyToSeller {
169             my $self = shift;
170             $self->{'EmailCopyToSeller'} = shift
171             }
172              
173             =head2 isEmailCopyToSeller()
174              
175             # Returns: 'xs:boolean'
176              
177             =cut
178              
179             sub isEmailCopyToSeller {
180             my $self = shift;
181             return $self->{'EmailCopyToSeller'};
182             }
183              
184              
185             =head2 setInsuranceFee()
186              
187             Insurance cost, as set by seller, if ShippingType = 1.
188             Specify if InsuranceOption is optional or required. Must
189             be greater than zero value if a value of Optional or Required is passed in
190             InsuranceOption. Value specified should be the total cost of insuring the
191             item.
192            
193             Not applicable to invoices for digital listings.
194              
195             SeeLink: URL: http://developer.ebay.com/DevZone/XML/docs/WebHelp/index.htm?context=eBay_XML_API&topic=ShippingGettingCosts
196             Title: Determining Shipping Costs for a Listing
197             Default: 0.0
198              
199             RequiredInput: No
200             # Argument: 'ns:AmountType'
201              
202             =cut
203              
204             sub setInsuranceFee {
205             my $self = shift;
206             $self->{'InsuranceFee'} = shift
207             }
208              
209             =head2 getInsuranceFee()
210              
211             # Returns: 'ns:AmountType'
212              
213             =cut
214              
215             sub getInsuranceFee {
216             my $self = shift;
217             return $self->_getDataTypeInstance( 'InsuranceFee'
218             ,'eBay::API::XML::DataType::AmountType');
219             }
220              
221              
222             =head2 setInsuranceOption()
223              
224             Specifies whether insurance fee is required. An InsuranceOption value of
225             IncludedInShippingHandling cannot be used if the item will use calculated
226             shipping. Some shipping carriers automatically include shipping insurance
227             for qualifying items.
228            
229             Not applicable to invoices for digital listings.
230              
231             SeeLink: URL: http://developer.ebay.com/DevZone/XML/docs/WebHelp/index.htm?context=eBay_XML_API&topic=ShippingGettingCosts
232             Title: Determining Shipping Costs for a Listing
233              
234             RequiredInput: No
235             AllValuesExcept: NotOfferedOnSite
236             # Argument: 'ns:InsuranceOptionCodeType'
237              
238             =cut
239              
240             sub setInsuranceOption {
241             my $self = shift;
242             $self->{'InsuranceOption'} = shift
243             }
244              
245             =head2 getInsuranceOption()
246              
247             # Returns: 'ns:InsuranceOptionCodeType'
248              
249             =cut
250              
251             sub getInsuranceOption {
252             my $self = shift;
253             return $self->{'InsuranceOption'};
254             }
255              
256              
257             =head2 setInternationalShippingServiceOptions()
258              
259             If the buyer's shipping address is international, use this to offer up to
260             three shipping services, and omit all domestic ShippingServiceOptions. Any
261             shipping insurance cost specified should be the same for all services
262             offered.
263            

264             Not applicable to invoices for digital listings.
265              
266             RequiredInput: No
267             # Argument: reference to an array
268             of 'ns:InternationalShippingServiceOptionsType'
269              
270             =cut
271              
272             sub setInternationalShippingServiceOptions {
273             my $self = shift;
274             $self->{'InternationalShippingServiceOptions'} =
275             $self->convertArray_To_RefToArrayIfNeeded(@_);
276             }
277              
278             =head2 getInternationalShippingServiceOptions()
279              
280             # Returns: reference to an array
281             of 'ns:InternationalShippingServiceOptionsType'
282              
283             =cut
284              
285             sub getInternationalShippingServiceOptions {
286             my $self = shift;
287             return $self->_getDataTypeArray('InternationalShippingServiceOptions');
288             }
289              
290              
291             =head2 setItemID()
292              
293             Item ID. If OrderID is not provided, both ItemID and
294             TransactionID must be provided.
295              
296             MaxLength: 19 (Note: The eBay database specifies 38. Currently, Item IDs are usually 9 to 12 digits)
297              
298             RequiredInput: Conditionally
299             # Argument: 'ns:ItemIDType'
300              
301             =cut
302              
303             sub setItemID {
304             my $self = shift;
305             $self->{'ItemID'} = shift
306             }
307              
308             =head2 getItemID()
309              
310             # Returns: 'ns:ItemIDType'
311              
312             =cut
313              
314             sub getItemID {
315             my $self = shift;
316             return $self->_getDataTypeInstance( 'ItemID'
317             ,'eBay::API::XML::DataType::ItemIDType');
318             }
319              
320              
321             =head2 setOrderID()
322              
323             Unique ID for a multi-item order. Either this OrderID must
324             be specified or ItemID plus TransactionID must be specified.
325             If OrderID is specified, ItemID and
326             TransactionID are ignored if present in the same request. Changes to the
327             checkout status are applied to the specified order as a whole
328             (and thus to the child transactions associated with the order).
329              
330             RequiredInput: Conditionally
331             # Argument: 'ns:OrderIDType'
332              
333             =cut
334              
335             sub setOrderID {
336             my $self = shift;
337             $self->{'OrderID'} = shift
338             }
339              
340             =head2 getOrderID()
341              
342             # Returns: 'ns:OrderIDType'
343              
344             =cut
345              
346             sub getOrderID {
347             my $self = shift;
348             return $self->_getDataTypeInstance( 'OrderID'
349             ,'eBay::API::XML::DataType::OrderIDType');
350             }
351              
352              
353             =head2 setPayPalEmailAddress()
354              
355             Provide PayPal email address if the payment method added is PayPal.
356             For digital listings, this must be an email address associated with
357             a verified PayPal Premier or Business account.
358              
359             RequiredInput: No
360             # Argument: 'xs:string'
361              
362             =cut
363              
364             sub setPayPalEmailAddress {
365             my $self = shift;
366             $self->{'PayPalEmailAddress'} = shift
367             }
368              
369             =head2 getPayPalEmailAddress()
370              
371             # Returns: 'xs:string'
372              
373             =cut
374              
375             sub getPayPalEmailAddress {
376             my $self = shift;
377             return $self->{'PayPalEmailAddress'};
378             }
379              
380              
381             =head2 setPaymentMethods()
382              
383             Optional ability for the seller to add certain payment methods on
384             transaction if they were not originally specified on the item. Valid
385             values are PayPal in the US, and MoneyXferAcceptedInCheckout (CIP+) in
386             Germany.
387              
388             RequiredInput: No
389             # Argument: reference to an array
390             of 'ns:BuyerPaymentMethodCodeType'
391              
392             =cut
393              
394             sub setPaymentMethods {
395             my $self = shift;
396             $self->{'PaymentMethods'} =
397             $self->convertArray_To_RefToArrayIfNeeded(@_);
398             }
399              
400             =head2 getPaymentMethods()
401              
402             # Returns: reference to an array
403             of 'ns:BuyerPaymentMethodCodeType'
404              
405             =cut
406              
407             sub getPaymentMethods {
408             my $self = shift;
409             return $self->_getDataTypeArray('PaymentMethods');
410             }
411              
412              
413             =head2 setSalesTax()
414              
415             The details of the sales tax added to the invoice.
416              
417             RequiredInput: No
418             # Argument: 'ns:SalesTaxType'
419              
420             =cut
421              
422             sub setSalesTax {
423             my $self = shift;
424             $self->{'SalesTax'} = shift
425             }
426              
427             =head2 getSalesTax()
428              
429             # Returns: 'ns:SalesTaxType'
430              
431             =cut
432              
433             sub getSalesTax {
434             my $self = shift;
435             return $self->_getDataTypeInstance( 'SalesTax'
436             ,'eBay::API::XML::DataType::SalesTaxType');
437             }
438              
439              
440             =head2 setShippingServiceOptions()
441              
442             If the buyer's shipping address is domestic, use this to offer up to
443             three shipping services, and omit all InternationalShippingServiceOptions. Any
444             shipping insurance cost specified should be the same for all services
445             offered.
446            

447             Not applicable to invoices for digital listings.
448              
449             RequiredInput: No
450             # Argument: reference to an array
451             of 'ns:ShippingServiceOptionsType'
452              
453             =cut
454              
455             sub setShippingServiceOptions {
456             my $self = shift;
457             $self->{'ShippingServiceOptions'} =
458             $self->convertArray_To_RefToArrayIfNeeded(@_);
459             }
460              
461             =head2 getShippingServiceOptions()
462              
463             # Returns: reference to an array
464             of 'ns:ShippingServiceOptionsType'
465              
466             =cut
467              
468             sub getShippingServiceOptions {
469             my $self = shift;
470             return $self->_getDataTypeArray('ShippingServiceOptions');
471             }
472              
473              
474             =head2 setTransactionID()
475              
476             ID for the transaction with which the item was sold.
477             If OrderID is not provided, both ItemID and
478             TransactionID must be provided.
479             For Chinese auctions, the value passed in the TransactionId
480             argument must be 0 or the call will fail with an error.
481             Call GetItemTransactions or GetSellerTransactions to
482             determine the correct transaction ID.
483              
484             MaxLength: 19 (Note: The eBay database specifies 38. Currently, transaction IDs are usually 9 to 12 digits.)
485              
486             RequiredInput: Conditionally
487             # Argument: 'xs:string'
488              
489             =cut
490              
491             sub setTransactionID {
492             my $self = shift;
493             $self->{'TransactionID'} = shift
494             }
495              
496             =head2 getTransactionID()
497              
498             # Returns: 'xs:string'
499              
500             =cut
501              
502             sub getTransactionID {
503             my $self = shift;
504             return $self->{'TransactionID'};
505             }
506              
507              
508              
509              
510              
511             ## Attribute and Property lists
512             sub getPropertiesList {
513             my $self = shift;
514             return \@gaProperties;
515             }
516              
517             sub getAttributesList {
518             my $self = shift;
519             return \@gaAttributes;
520             }
521              
522              
523              
524             1;