RefundTransactionRequestType   F
last analyzed

Complexity

Total Complexity 63

Size/Duplication

Total Lines 550
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 112
dl 0
loc 550
rs 3.36
c 1
b 0
f 0
wmc 63

33 Methods

Rating   Name   Duplication   Size   Complexity  
A setRetryUntil() 0 8 3
A getTaxAmount() 0 3 1
A setRefundSource() 0 8 3
A getAmount() 0 3 1
A setTransactionID() 0 8 3
A getMerchantData() 0 3 1
A getRefundType() 0 3 1
A addToRefundItemDetails() 0 8 4
B validateRefundItemDetailsForArrayConstraintsFromSetRefundItemDetails() 0 15 7
A __construct() 0 18 1
A getRetryUntil() 0 3 1
A getRefundAdvice() 0 3 1
A getMemo() 0 3 1
A setInvoiceID() 0 8 3
A setMerchantData() 0 4 1
A setAmount() 0 4 1
A setMemo() 0 8 3
A getMerchantStoreDetails() 0 3 1
A setRefundType() 0 8 3
A setPayerID() 0 12 5
A setShippingAmount() 0 4 1
A setMerchantStoreDetails() 0 4 1
A setRefundAdvice() 0 8 3
A getShippingAmount() 0 3 1
A getMsgSubID() 0 3 1
A getRefundItemDetails() 0 3 1
A setTaxAmount() 0 4 1
A getPayerID() 0 3 1
A setMsgSubID() 0 8 3
A getInvoiceID() 0 3 1
A getRefundSource() 0 3 1
A setRefundItemDetails() 0 8 2
A getTransactionID() 0 3 1

How to fix   Complexity   

Complex Class

Complex classes like RefundTransactionRequestType often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use RefundTransactionRequestType, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
namespace PayPal\StructType;
4
5
use \WsdlToPhp\PackageBase\AbstractStructBase;
6
7
/**
8
 * This class stands for RefundTransactionRequestType StructType
9
 * Meta information extracted from the WSDL
10
 * - documentation: This holds key-value pair which merchants wants to pass it to the open wallet-PLCC processorOptional | Information about the individual details of the items to be refunded.Optional | To pass the Merchant store informationOptional
11
 * @subpackage Structs
12
 * @author WsdlToPhp <[email protected]>
13
 */
14
class RefundTransactionRequestType extends AbstractRequestType
15
{
16
    /**
17
     * The TransactionID
18
     * Meta information extracted from the WSDL
19
     * - documentation: Unique identifier of the transaction you are refunding. Optional Character length and limitations: 17 single-byte alphanumeric characters | TransactionId - Type for a PayPal Transaction ID.
20
     * - base: xs:string
21
     * - maxOccurs: 1
22
     * - minOccurs: 0
23
     * @var string
24
     */
25
    public $TransactionID;
26
    /**
27
     * The PayerID
28
     * Meta information extracted from the WSDL
29
     * - documentation: Encrypted PayPal customer account identification number. Optional Character length and limitations: 127 single-byte alphanumeric characters
30
     * - base: xs:string
31
     * - maxLength: 127
32
     * - maxOccurs: 1
33
     * - minOccurs: 0
34
     * @var string
35
     */
36
    public $PayerID;
37
    /**
38
     * The InvoiceID
39
     * Meta information extracted from the WSDL
40
     * - documentation: Invoice number corresponding to transaction details for tracking the refund of a payment. This parameter is passed by the merchant or recipient while refunding the transaction. This parameter does not affect the business logic, it is
41
     * persisted in the DB for transaction reference Optional
42
     * - maxOccurs: 1
43
     * - minOccurs: 0
44
     * @var string
45
     */
46
    public $InvoiceID;
47
    /**
48
     * The RefundType
49
     * Meta information extracted from the WSDL
50
     * - documentation: Type of refund you are making Required
51
     * - maxOccurs: 1
52
     * - minOccurs: 0
53
     * @var string
54
     */
55
    public $RefundType;
56
    /**
57
     * The Amount
58
     * Meta information extracted from the WSDL
59
     * - documentation: Refund amount. Amount is required if RefundType is Partial. NOTE: If RefundType is Full, do not set Amount.
60
     * - maxOccurs: 1
61
     * - minOccurs: 0
62
     * @var \PayPal\StructType\BasicAmountType
63
     */
64
    public $Amount;
65
    /**
66
     * The ShippingAmount
67
     * Meta information extracted from the WSDL
68
     * - documentation: Shipping amount. Optional
69
     * - maxOccurs: 1
70
     * - minOccurs: 0
71
     * @var \PayPal\StructType\BasicAmountType
72
     */
73
    public $ShippingAmount;
74
    /**
75
     * The TaxAmount
76
     * Meta information extracted from the WSDL
77
     * - documentation: Tax amount. Optional
78
     * - maxOccurs: 1
79
     * - minOccurs: 0
80
     * @var \PayPal\StructType\BasicAmountType
81
     */
82
    public $TaxAmount;
83
    /**
84
     * The Memo
85
     * Meta information extracted from the WSDL
86
     * - documentation: Custom memo about the refund. Optional Character length and limitations: 255 single-byte alphanumeric characters
87
     * - maxOccurs: 1
88
     * - minOccurs: 0
89
     * @var string
90
     */
91
    public $Memo;
92
    /**
93
     * The RetryUntil
94
     * Meta information extracted from the WSDL
95
     * - documentation: The maximum time till which refund must be tried. Optional
96
     * - maxOccurs: 1
97
     * - minOccurs: 0
98
     * @var string
99
     */
100
    public $RetryUntil;
101
    /**
102
     * The RefundSource
103
     * Meta information extracted from the WSDL
104
     * - documentation: The type of funding source for refund. Optional
105
     * - maxOccurs: 1
106
     * - minOccurs: 0
107
     * @var string
108
     */
109
    public $RefundSource;
110
    /**
111
     * The RefundAdvice
112
     * Meta information extracted from the WSDL
113
     * - documentation: Flag to indicate that the customer was already given store credit for a given transaction. This will allow us to make sure we do not double refund. Optional
114
     * - maxOccurs: 1
115
     * - minOccurs: 0
116
     * @var bool
117
     */
118
    public $RefundAdvice;
119
    /**
120
     * The MerchantStoreDetails
121
     * Meta information extracted from the WSDL
122
     * - maxOccurs: 1
123
     * - minOccurs: 0
124
     * - ref: ebl:MerchantStoreDetails
125
     * @var \PayPal\StructType\MerchantStoreDetailsType
126
     */
127
    public $MerchantStoreDetails;
128
    /**
129
     * The RefundItemDetails
130
     * Meta information extracted from the WSDL
131
     * - maxOccurs: unbounded
132
     * - minOccurs: 0
133
     * - ref: ebl:RefundItemDetails
134
     * @var \PayPal\StructType\InvoiceItemType[]
135
     */
136
    public $RefundItemDetails;
137
    /**
138
     * The MsgSubID
139
     * Meta information extracted from the WSDL
140
     * - documentation: Unique id for each API request to prevent duplicate payments. Optional Character length and limits: 38 single-byte characters maximum.
141
     * - maxOccurs: 1
142
     * - minOccurs: 0
143
     * @var string
144
     */
145
    public $MsgSubID;
146
    /**
147
     * The MerchantData
148
     * Meta information extracted from the WSDL
149
     * - maxOccurs: 1
150
     * - minOccurs: 0
151
     * - ref: ebl:MerchantData
152
     * @var \PayPal\StructType\MerchantDataType
153
     */
154
    public $MerchantData;
155
    /**
156
     * Constructor method for RefundTransactionRequestType
157
     * @uses RefundTransactionRequestType::setTransactionID()
158
     * @uses RefundTransactionRequestType::setPayerID()
159
     * @uses RefundTransactionRequestType::setInvoiceID()
160
     * @uses RefundTransactionRequestType::setRefundType()
161
     * @uses RefundTransactionRequestType::setAmount()
162
     * @uses RefundTransactionRequestType::setShippingAmount()
163
     * @uses RefundTransactionRequestType::setTaxAmount()
164
     * @uses RefundTransactionRequestType::setMemo()
165
     * @uses RefundTransactionRequestType::setRetryUntil()
166
     * @uses RefundTransactionRequestType::setRefundSource()
167
     * @uses RefundTransactionRequestType::setRefundAdvice()
168
     * @uses RefundTransactionRequestType::setMerchantStoreDetails()
169
     * @uses RefundTransactionRequestType::setRefundItemDetails()
170
     * @uses RefundTransactionRequestType::setMsgSubID()
171
     * @uses RefundTransactionRequestType::setMerchantData()
172
     * @param string $transactionID
173
     * @param string $payerID
174
     * @param string $invoiceID
175
     * @param string $refundType
176
     * @param \PayPal\StructType\BasicAmountType $amount
177
     * @param \PayPal\StructType\BasicAmountType $shippingAmount
178
     * @param \PayPal\StructType\BasicAmountType $taxAmount
179
     * @param string $memo
180
     * @param string $retryUntil
181
     * @param string $refundSource
182
     * @param bool $refundAdvice
183
     * @param \PayPal\StructType\MerchantStoreDetailsType $merchantStoreDetails
184
     * @param \PayPal\StructType\InvoiceItemType[] $refundItemDetails
185
     * @param string $msgSubID
186
     * @param \PayPal\StructType\MerchantDataType $merchantData
187
     */
188
    public function __construct($transactionID = null, $payerID = null, $invoiceID = null, $refundType = null, \PayPal\StructType\BasicAmountType $amount = null, \PayPal\StructType\BasicAmountType $shippingAmount = null, \PayPal\StructType\BasicAmountType $taxAmount = null, $memo = null, $retryUntil = null, $refundSource = null, $refundAdvice = null, \PayPal\StructType\MerchantStoreDetailsType $merchantStoreDetails = null, array $refundItemDetails = array(), $msgSubID = null, \PayPal\StructType\MerchantDataType $merchantData = null)
189
    {
190
        $this
191
            ->setTransactionID($transactionID)
192
            ->setPayerID($payerID)
193
            ->setInvoiceID($invoiceID)
194
            ->setRefundType($refundType)
195
            ->setAmount($amount)
196
            ->setShippingAmount($shippingAmount)
197
            ->setTaxAmount($taxAmount)
198
            ->setMemo($memo)
199
            ->setRetryUntil($retryUntil)
200
            ->setRefundSource($refundSource)
201
            ->setRefundAdvice($refundAdvice)
202
            ->setMerchantStoreDetails($merchantStoreDetails)
203
            ->setRefundItemDetails($refundItemDetails)
204
            ->setMsgSubID($msgSubID)
205
            ->setMerchantData($merchantData);
206
    }
207
    /**
208
     * Get TransactionID value
209
     * @return string|null
210
     */
211
    public function getTransactionID()
212
    {
213
        return $this->TransactionID;
214
    }
215
    /**
216
     * Set TransactionID value
217
     * @param string $transactionID
218
     * @return \PayPal\StructType\RefundTransactionRequestType
219
     */
220
    public function setTransactionID($transactionID = null)
221
    {
222
        // validation for constraint: string
223
        if (!is_null($transactionID) && !is_string($transactionID)) {
0 ignored issues
show
introduced by
The condition is_string($transactionID) is always true.
Loading history...
224
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($transactionID, true), gettype($transactionID)), __LINE__);
225
        }
226
        $this->TransactionID = $transactionID;
227
        return $this;
228
    }
229
    /**
230
     * Get PayerID value
231
     * @return string|null
232
     */
233
    public function getPayerID()
234
    {
235
        return $this->PayerID;
236
    }
237
    /**
238
     * Set PayerID value
239
     * @param string $payerID
240
     * @return \PayPal\StructType\RefundTransactionRequestType
241
     */
242
    public function setPayerID($payerID = null)
243
    {
244
        // validation for constraint: string
245
        if (!is_null($payerID) && !is_string($payerID)) {
0 ignored issues
show
introduced by
The condition is_string($payerID) is always true.
Loading history...
246
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($payerID, true), gettype($payerID)), __LINE__);
247
        }
248
        // validation for constraint: maxLength(127)
249
        if (!is_null($payerID) && mb_strlen($payerID) > 127) {
250
            throw new \InvalidArgumentException(sprintf('Invalid length of %s, the number of characters/octets contained by the literal must be less than or equal to 127', mb_strlen($payerID)), __LINE__);
251
        }
252
        $this->PayerID = $payerID;
253
        return $this;
254
    }
255
    /**
256
     * Get InvoiceID value
257
     * @return string|null
258
     */
259
    public function getInvoiceID()
260
    {
261
        return $this->InvoiceID;
262
    }
263
    /**
264
     * Set InvoiceID value
265
     * @param string $invoiceID
266
     * @return \PayPal\StructType\RefundTransactionRequestType
267
     */
268
    public function setInvoiceID($invoiceID = null)
269
    {
270
        // validation for constraint: string
271
        if (!is_null($invoiceID) && !is_string($invoiceID)) {
0 ignored issues
show
introduced by
The condition is_string($invoiceID) is always true.
Loading history...
272
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($invoiceID, true), gettype($invoiceID)), __LINE__);
273
        }
274
        $this->InvoiceID = $invoiceID;
275
        return $this;
276
    }
277
    /**
278
     * Get RefundType value
279
     * @return string|null
280
     */
281
    public function getRefundType()
282
    {
283
        return $this->RefundType;
284
    }
285
    /**
286
     * Set RefundType value
287
     * @uses \PayPal\EnumType\RefundType::valueIsValid()
288
     * @uses \PayPal\EnumType\RefundType::getValidValues()
289
     * @throws \InvalidArgumentException
290
     * @param string $refundType
291
     * @return \PayPal\StructType\RefundTransactionRequestType
292
     */
293
    public function setRefundType($refundType = null)
294
    {
295
        // validation for constraint: enumeration
296
        if (!\PayPal\EnumType\RefundType::valueIsValid($refundType)) {
297
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \PayPal\EnumType\RefundType', is_array($refundType) ? implode(', ', $refundType) : var_export($refundType, true), implode(', ', \PayPal\EnumType\RefundType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($refundType) is always false.
Loading history...
298
        }
299
        $this->RefundType = $refundType;
300
        return $this;
301
    }
302
    /**
303
     * Get Amount value
304
     * @return \PayPal\StructType\BasicAmountType|null
305
     */
306
    public function getAmount()
307
    {
308
        return $this->Amount;
309
    }
310
    /**
311
     * Set Amount value
312
     * @param \PayPal\StructType\BasicAmountType $amount
313
     * @return \PayPal\StructType\RefundTransactionRequestType
314
     */
315
    public function setAmount(\PayPal\StructType\BasicAmountType $amount = null)
316
    {
317
        $this->Amount = $amount;
318
        return $this;
319
    }
320
    /**
321
     * Get ShippingAmount value
322
     * @return \PayPal\StructType\BasicAmountType|null
323
     */
324
    public function getShippingAmount()
325
    {
326
        return $this->ShippingAmount;
327
    }
328
    /**
329
     * Set ShippingAmount value
330
     * @param \PayPal\StructType\BasicAmountType $shippingAmount
331
     * @return \PayPal\StructType\RefundTransactionRequestType
332
     */
333
    public function setShippingAmount(\PayPal\StructType\BasicAmountType $shippingAmount = null)
334
    {
335
        $this->ShippingAmount = $shippingAmount;
336
        return $this;
337
    }
338
    /**
339
     * Get TaxAmount value
340
     * @return \PayPal\StructType\BasicAmountType|null
341
     */
342
    public function getTaxAmount()
343
    {
344
        return $this->TaxAmount;
345
    }
346
    /**
347
     * Set TaxAmount value
348
     * @param \PayPal\StructType\BasicAmountType $taxAmount
349
     * @return \PayPal\StructType\RefundTransactionRequestType
350
     */
351
    public function setTaxAmount(\PayPal\StructType\BasicAmountType $taxAmount = null)
352
    {
353
        $this->TaxAmount = $taxAmount;
354
        return $this;
355
    }
356
    /**
357
     * Get Memo value
358
     * @return string|null
359
     */
360
    public function getMemo()
361
    {
362
        return $this->Memo;
363
    }
364
    /**
365
     * Set Memo value
366
     * @param string $memo
367
     * @return \PayPal\StructType\RefundTransactionRequestType
368
     */
369
    public function setMemo($memo = null)
370
    {
371
        // validation for constraint: string
372
        if (!is_null($memo) && !is_string($memo)) {
0 ignored issues
show
introduced by
The condition is_string($memo) is always true.
Loading history...
373
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($memo, true), gettype($memo)), __LINE__);
374
        }
375
        $this->Memo = $memo;
376
        return $this;
377
    }
378
    /**
379
     * Get RetryUntil value
380
     * @return string|null
381
     */
382
    public function getRetryUntil()
383
    {
384
        return $this->RetryUntil;
385
    }
386
    /**
387
     * Set RetryUntil value
388
     * @param string $retryUntil
389
     * @return \PayPal\StructType\RefundTransactionRequestType
390
     */
391
    public function setRetryUntil($retryUntil = null)
392
    {
393
        // validation for constraint: string
394
        if (!is_null($retryUntil) && !is_string($retryUntil)) {
0 ignored issues
show
introduced by
The condition is_string($retryUntil) is always true.
Loading history...
395
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($retryUntil, true), gettype($retryUntil)), __LINE__);
396
        }
397
        $this->RetryUntil = $retryUntil;
398
        return $this;
399
    }
400
    /**
401
     * Get RefundSource value
402
     * @return string|null
403
     */
404
    public function getRefundSource()
405
    {
406
        return $this->RefundSource;
407
    }
408
    /**
409
     * Set RefundSource value
410
     * @uses \PayPal\EnumType\RefundSourceCodeType::valueIsValid()
411
     * @uses \PayPal\EnumType\RefundSourceCodeType::getValidValues()
412
     * @throws \InvalidArgumentException
413
     * @param string $refundSource
414
     * @return \PayPal\StructType\RefundTransactionRequestType
415
     */
416
    public function setRefundSource($refundSource = null)
417
    {
418
        // validation for constraint: enumeration
419
        if (!\PayPal\EnumType\RefundSourceCodeType::valueIsValid($refundSource)) {
420
            throw new \InvalidArgumentException(sprintf('Invalid value(s) %s, please use one of: %s from enumeration class \PayPal\EnumType\RefundSourceCodeType', is_array($refundSource) ? implode(', ', $refundSource) : var_export($refundSource, true), implode(', ', \PayPal\EnumType\RefundSourceCodeType::getValidValues())), __LINE__);
0 ignored issues
show
introduced by
The condition is_array($refundSource) is always false.
Loading history...
421
        }
422
        $this->RefundSource = $refundSource;
423
        return $this;
424
    }
425
    /**
426
     * Get RefundAdvice value
427
     * @return bool|null
428
     */
429
    public function getRefundAdvice()
430
    {
431
        return $this->RefundAdvice;
432
    }
433
    /**
434
     * Set RefundAdvice value
435
     * @param bool $refundAdvice
436
     * @return \PayPal\StructType\RefundTransactionRequestType
437
     */
438
    public function setRefundAdvice($refundAdvice = null)
439
    {
440
        // validation for constraint: boolean
441
        if (!is_null($refundAdvice) && !is_bool($refundAdvice)) {
0 ignored issues
show
introduced by
The condition is_bool($refundAdvice) is always true.
Loading history...
442
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($refundAdvice, true), gettype($refundAdvice)), __LINE__);
443
        }
444
        $this->RefundAdvice = $refundAdvice;
445
        return $this;
446
    }
447
    /**
448
     * Get MerchantStoreDetails value
449
     * @return \PayPal\StructType\MerchantStoreDetailsType|null
450
     */
451
    public function getMerchantStoreDetails()
452
    {
453
        return $this->MerchantStoreDetails;
454
    }
455
    /**
456
     * Set MerchantStoreDetails value
457
     * @param \PayPal\StructType\MerchantStoreDetailsType $merchantStoreDetails
458
     * @return \PayPal\StructType\RefundTransactionRequestType
459
     */
460
    public function setMerchantStoreDetails(\PayPal\StructType\MerchantStoreDetailsType $merchantStoreDetails = null)
461
    {
462
        $this->MerchantStoreDetails = $merchantStoreDetails;
463
        return $this;
464
    }
465
    /**
466
     * Get RefundItemDetails value
467
     * @return \PayPal\StructType\InvoiceItemType[]|null
468
     */
469
    public function getRefundItemDetails()
470
    {
471
        return $this->RefundItemDetails;
472
    }
473
    /**
474
     * This method is responsible for validating the values passed to the setRefundItemDetails method
475
     * This method is willingly generated in order to preserve the one-line inline validation within the setRefundItemDetails method
476
     * @param array $values
477
     * @return string A non-empty message if the values does not match the validation rules
478
     */
479
    public static function validateRefundItemDetailsForArrayConstraintsFromSetRefundItemDetails(array $values = array())
480
    {
481
        $message = '';
482
        $invalidValues = [];
483
        foreach ($values as $refundTransactionRequestTypeRefundItemDetailsItem) {
484
            // validation for constraint: itemType
485
            if (!$refundTransactionRequestTypeRefundItemDetailsItem instanceof \PayPal\StructType\InvoiceItemType) {
486
                $invalidValues[] = is_object($refundTransactionRequestTypeRefundItemDetailsItem) ? get_class($refundTransactionRequestTypeRefundItemDetailsItem) : sprintf('%s(%s)', gettype($refundTransactionRequestTypeRefundItemDetailsItem), var_export($refundTransactionRequestTypeRefundItemDetailsItem, true));
487
            }
488
        }
489
        if (!empty($invalidValues)) {
490
            $message = sprintf('The RefundItemDetails property can only contain items of type \PayPal\StructType\InvoiceItemType, %s given', is_object($invalidValues) ? get_class($invalidValues) : (is_array($invalidValues) ? implode(', ', $invalidValues) : gettype($invalidValues)));
0 ignored issues
show
introduced by
The condition is_array($invalidValues) is always true.
Loading history...
introduced by
The condition is_object($invalidValues) is always false.
Loading history...
491
        }
492
        unset($invalidValues);
493
        return $message;
494
    }
495
    /**
496
     * Set RefundItemDetails value
497
     * @throws \InvalidArgumentException
498
     * @param \PayPal\StructType\InvoiceItemType[] $refundItemDetails
499
     * @return \PayPal\StructType\RefundTransactionRequestType
500
     */
501
    public function setRefundItemDetails(array $refundItemDetails = array())
502
    {
503
        // validation for constraint: array
504
        if ('' !== ($refundItemDetailsArrayErrorMessage = self::validateRefundItemDetailsForArrayConstraintsFromSetRefundItemDetails($refundItemDetails))) {
505
            throw new \InvalidArgumentException($refundItemDetailsArrayErrorMessage, __LINE__);
506
        }
507
        $this->RefundItemDetails = $refundItemDetails;
508
        return $this;
509
    }
510
    /**
511
     * Add item to RefundItemDetails value
512
     * @throws \InvalidArgumentException
513
     * @param \PayPal\StructType\InvoiceItemType $item
514
     * @return \PayPal\StructType\RefundTransactionRequestType
515
     */
516
    public function addToRefundItemDetails(\PayPal\StructType\InvoiceItemType $item)
517
    {
518
        // validation for constraint: itemType
519
        if (!$item instanceof \PayPal\StructType\InvoiceItemType) {
0 ignored issues
show
introduced by
$item is always a sub-type of PayPal\StructType\InvoiceItemType.
Loading history...
520
            throw new \InvalidArgumentException(sprintf('The RefundItemDetails property can only contain items of type \PayPal\StructType\InvoiceItemType, %s given', is_object($item) ? get_class($item) : (is_array($item) ? implode(', ', $item) : gettype($item))), __LINE__);
521
        }
522
        $this->RefundItemDetails[] = $item;
523
        return $this;
524
    }
525
    /**
526
     * Get MsgSubID value
527
     * @return string|null
528
     */
529
    public function getMsgSubID()
530
    {
531
        return $this->MsgSubID;
532
    }
533
    /**
534
     * Set MsgSubID value
535
     * @param string $msgSubID
536
     * @return \PayPal\StructType\RefundTransactionRequestType
537
     */
538
    public function setMsgSubID($msgSubID = null)
539
    {
540
        // validation for constraint: string
541
        if (!is_null($msgSubID) && !is_string($msgSubID)) {
0 ignored issues
show
introduced by
The condition is_string($msgSubID) is always true.
Loading history...
542
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a string, %s given', var_export($msgSubID, true), gettype($msgSubID)), __LINE__);
543
        }
544
        $this->MsgSubID = $msgSubID;
545
        return $this;
546
    }
547
    /**
548
     * Get MerchantData value
549
     * @return \PayPal\StructType\MerchantDataType|null
550
     */
551
    public function getMerchantData()
552
    {
553
        return $this->MerchantData;
554
    }
555
    /**
556
     * Set MerchantData value
557
     * @param \PayPal\StructType\MerchantDataType $merchantData
558
     * @return \PayPal\StructType\RefundTransactionRequestType
559
     */
560
    public function setMerchantData(\PayPal\StructType\MerchantDataType $merchantData = null)
561
    {
562
        $this->MerchantData = $merchantData;
563
        return $this;
564
    }
565
}
566