1: <?php
2: /*
3: * This class was auto-generated from the API references found at
4: * https://apireference.connect.worldline-solutions.com/
5: */
6: namespace Worldline\Connect\Sdk\V1\Domain;
7:
8: use UnexpectedValueException;
9:
10: /**
11: * @package Worldline\Connect\Sdk\V1\Domain
12: */
13: class PaymentOutput extends OrderOutput
14: {
15: /**
16: * @var int|null
17: */
18: public ?int $amountCaptureRequested = null;
19:
20: /**
21: * @var int|null
22: */
23: public ?int $amountCaptured = null;
24:
25: /**
26: * @var int|null
27: */
28: public ?int $amountPaid = null;
29:
30: /**
31: * @var int|null
32: */
33: public ?int $amountRefundRequested = null;
34:
35: /**
36: * @var int|null
37: */
38: public ?int $amountRefunded = null;
39:
40: /**
41: * @var int|null
42: */
43: public ?int $amountReversed = null;
44:
45: /**
46: * @var BankTransferPaymentMethodSpecificOutput|null
47: */
48: public ?BankTransferPaymentMethodSpecificOutput $bankTransferPaymentMethodSpecificOutput = null;
49:
50: /**
51: * @var CardPaymentMethodSpecificOutput|null
52: */
53: public ?CardPaymentMethodSpecificOutput $cardPaymentMethodSpecificOutput = null;
54:
55: /**
56: * @var CashPaymentMethodSpecificOutput|null
57: */
58: public ?CashPaymentMethodSpecificOutput $cashPaymentMethodSpecificOutput = null;
59:
60: /**
61: * @var NonSepaDirectDebitPaymentMethodSpecificOutput|null
62: */
63: public ?NonSepaDirectDebitPaymentMethodSpecificOutput $directDebitPaymentMethodSpecificOutput = null;
64:
65: /**
66: * @var EInvoicePaymentMethodSpecificOutput|null
67: */
68: public ?EInvoicePaymentMethodSpecificOutput $eInvoicePaymentMethodSpecificOutput = null;
69:
70: /**
71: * @var InvoicePaymentMethodSpecificOutput|null
72: */
73: public ?InvoicePaymentMethodSpecificOutput $invoicePaymentMethodSpecificOutput = null;
74:
75: /**
76: * @var MobilePaymentMethodSpecificOutput|null
77: */
78: public ?MobilePaymentMethodSpecificOutput $mobilePaymentMethodSpecificOutput = null;
79:
80: /**
81: * @var PaymentOperation[]|null
82: */
83: public ?array $operations = null;
84:
85: /**
86: * @var string|null
87: */
88: public ?string $paymentMethod = null;
89:
90: /**
91: * @var RedirectPaymentMethodSpecificOutput|null
92: */
93: public ?RedirectPaymentMethodSpecificOutput $redirectPaymentMethodSpecificOutput = null;
94:
95: /**
96: * @var string|null
97: */
98: public ?string $reversalReason = null;
99:
100: /**
101: * @var SepaDirectDebitPaymentMethodSpecificOutput|null
102: */
103: public ?SepaDirectDebitPaymentMethodSpecificOutput $sepaDirectDebitPaymentMethodSpecificOutput = null;
104:
105: /**
106: * @return object
107: */
108: public function toObject(): object
109: {
110: $object = parent::toObject();
111: if (!is_null($this->amountCaptureRequested)) {
112: $object->amountCaptureRequested = $this->amountCaptureRequested;
113: }
114: if (!is_null($this->amountCaptured)) {
115: $object->amountCaptured = $this->amountCaptured;
116: }
117: if (!is_null($this->amountPaid)) {
118: $object->amountPaid = $this->amountPaid;
119: }
120: if (!is_null($this->amountRefundRequested)) {
121: $object->amountRefundRequested = $this->amountRefundRequested;
122: }
123: if (!is_null($this->amountRefunded)) {
124: $object->amountRefunded = $this->amountRefunded;
125: }
126: if (!is_null($this->amountReversed)) {
127: $object->amountReversed = $this->amountReversed;
128: }
129: if (!is_null($this->bankTransferPaymentMethodSpecificOutput)) {
130: $object->bankTransferPaymentMethodSpecificOutput = $this->bankTransferPaymentMethodSpecificOutput->toObject();
131: }
132: if (!is_null($this->cardPaymentMethodSpecificOutput)) {
133: $object->cardPaymentMethodSpecificOutput = $this->cardPaymentMethodSpecificOutput->toObject();
134: }
135: if (!is_null($this->cashPaymentMethodSpecificOutput)) {
136: $object->cashPaymentMethodSpecificOutput = $this->cashPaymentMethodSpecificOutput->toObject();
137: }
138: if (!is_null($this->directDebitPaymentMethodSpecificOutput)) {
139: $object->directDebitPaymentMethodSpecificOutput = $this->directDebitPaymentMethodSpecificOutput->toObject();
140: }
141: if (!is_null($this->eInvoicePaymentMethodSpecificOutput)) {
142: $object->eInvoicePaymentMethodSpecificOutput = $this->eInvoicePaymentMethodSpecificOutput->toObject();
143: }
144: if (!is_null($this->invoicePaymentMethodSpecificOutput)) {
145: $object->invoicePaymentMethodSpecificOutput = $this->invoicePaymentMethodSpecificOutput->toObject();
146: }
147: if (!is_null($this->mobilePaymentMethodSpecificOutput)) {
148: $object->mobilePaymentMethodSpecificOutput = $this->mobilePaymentMethodSpecificOutput->toObject();
149: }
150: if (!is_null($this->operations)) {
151: $object->operations = [];
152: foreach ($this->operations as $element) {
153: if (!is_null($element)) {
154: $object->operations[] = $element->toObject();
155: }
156: }
157: }
158: if (!is_null($this->paymentMethod)) {
159: $object->paymentMethod = $this->paymentMethod;
160: }
161: if (!is_null($this->redirectPaymentMethodSpecificOutput)) {
162: $object->redirectPaymentMethodSpecificOutput = $this->redirectPaymentMethodSpecificOutput->toObject();
163: }
164: if (!is_null($this->reversalReason)) {
165: $object->reversalReason = $this->reversalReason;
166: }
167: if (!is_null($this->sepaDirectDebitPaymentMethodSpecificOutput)) {
168: $object->sepaDirectDebitPaymentMethodSpecificOutput = $this->sepaDirectDebitPaymentMethodSpecificOutput->toObject();
169: }
170: return $object;
171: }
172:
173: /**
174: * @param object $object
175: *
176: * @return $this
177: * @throws UnexpectedValueException
178: */
179: public function fromObject(object $object): PaymentOutput
180: {
181: parent::fromObject($object);
182: if (property_exists($object, 'amountCaptureRequested')) {
183: $this->amountCaptureRequested = $object->amountCaptureRequested;
184: }
185: if (property_exists($object, 'amountCaptured')) {
186: $this->amountCaptured = $object->amountCaptured;
187: }
188: if (property_exists($object, 'amountPaid')) {
189: $this->amountPaid = $object->amountPaid;
190: }
191: if (property_exists($object, 'amountRefundRequested')) {
192: $this->amountRefundRequested = $object->amountRefundRequested;
193: }
194: if (property_exists($object, 'amountRefunded')) {
195: $this->amountRefunded = $object->amountRefunded;
196: }
197: if (property_exists($object, 'amountReversed')) {
198: $this->amountReversed = $object->amountReversed;
199: }
200: if (property_exists($object, 'bankTransferPaymentMethodSpecificOutput')) {
201: if (!is_object($object->bankTransferPaymentMethodSpecificOutput)) {
202: throw new UnexpectedValueException('value \'' . print_r($object->bankTransferPaymentMethodSpecificOutput, true) . '\' is not an object');
203: }
204: $value = new BankTransferPaymentMethodSpecificOutput();
205: $this->bankTransferPaymentMethodSpecificOutput = $value->fromObject($object->bankTransferPaymentMethodSpecificOutput);
206: }
207: if (property_exists($object, 'cardPaymentMethodSpecificOutput')) {
208: if (!is_object($object->cardPaymentMethodSpecificOutput)) {
209: throw new UnexpectedValueException('value \'' . print_r($object->cardPaymentMethodSpecificOutput, true) . '\' is not an object');
210: }
211: $value = new CardPaymentMethodSpecificOutput();
212: $this->cardPaymentMethodSpecificOutput = $value->fromObject($object->cardPaymentMethodSpecificOutput);
213: }
214: if (property_exists($object, 'cashPaymentMethodSpecificOutput')) {
215: if (!is_object($object->cashPaymentMethodSpecificOutput)) {
216: throw new UnexpectedValueException('value \'' . print_r($object->cashPaymentMethodSpecificOutput, true) . '\' is not an object');
217: }
218: $value = new CashPaymentMethodSpecificOutput();
219: $this->cashPaymentMethodSpecificOutput = $value->fromObject($object->cashPaymentMethodSpecificOutput);
220: }
221: if (property_exists($object, 'directDebitPaymentMethodSpecificOutput')) {
222: if (!is_object($object->directDebitPaymentMethodSpecificOutput)) {
223: throw new UnexpectedValueException('value \'' . print_r($object->directDebitPaymentMethodSpecificOutput, true) . '\' is not an object');
224: }
225: $value = new NonSepaDirectDebitPaymentMethodSpecificOutput();
226: $this->directDebitPaymentMethodSpecificOutput = $value->fromObject($object->directDebitPaymentMethodSpecificOutput);
227: }
228: if (property_exists($object, 'eInvoicePaymentMethodSpecificOutput')) {
229: if (!is_object($object->eInvoicePaymentMethodSpecificOutput)) {
230: throw new UnexpectedValueException('value \'' . print_r($object->eInvoicePaymentMethodSpecificOutput, true) . '\' is not an object');
231: }
232: $value = new EInvoicePaymentMethodSpecificOutput();
233: $this->eInvoicePaymentMethodSpecificOutput = $value->fromObject($object->eInvoicePaymentMethodSpecificOutput);
234: }
235: if (property_exists($object, 'invoicePaymentMethodSpecificOutput')) {
236: if (!is_object($object->invoicePaymentMethodSpecificOutput)) {
237: throw new UnexpectedValueException('value \'' . print_r($object->invoicePaymentMethodSpecificOutput, true) . '\' is not an object');
238: }
239: $value = new InvoicePaymentMethodSpecificOutput();
240: $this->invoicePaymentMethodSpecificOutput = $value->fromObject($object->invoicePaymentMethodSpecificOutput);
241: }
242: if (property_exists($object, 'mobilePaymentMethodSpecificOutput')) {
243: if (!is_object($object->mobilePaymentMethodSpecificOutput)) {
244: throw new UnexpectedValueException('value \'' . print_r($object->mobilePaymentMethodSpecificOutput, true) . '\' is not an object');
245: }
246: $value = new MobilePaymentMethodSpecificOutput();
247: $this->mobilePaymentMethodSpecificOutput = $value->fromObject($object->mobilePaymentMethodSpecificOutput);
248: }
249: if (property_exists($object, 'operations')) {
250: if (!is_array($object->operations) && !is_object($object->operations)) {
251: throw new UnexpectedValueException('value \'' . print_r($object->operations, true) . '\' is not an array or object');
252: }
253: $this->operations = [];
254: foreach ($object->operations as $element) {
255: $value = new PaymentOperation();
256: $this->operations[] = $value->fromObject($element);
257: }
258: }
259: if (property_exists($object, 'paymentMethod')) {
260: $this->paymentMethod = $object->paymentMethod;
261: }
262: if (property_exists($object, 'redirectPaymentMethodSpecificOutput')) {
263: if (!is_object($object->redirectPaymentMethodSpecificOutput)) {
264: throw new UnexpectedValueException('value \'' . print_r($object->redirectPaymentMethodSpecificOutput, true) . '\' is not an object');
265: }
266: $value = new RedirectPaymentMethodSpecificOutput();
267: $this->redirectPaymentMethodSpecificOutput = $value->fromObject($object->redirectPaymentMethodSpecificOutput);
268: }
269: if (property_exists($object, 'reversalReason')) {
270: $this->reversalReason = $object->reversalReason;
271: }
272: if (property_exists($object, 'sepaDirectDebitPaymentMethodSpecificOutput')) {
273: if (!is_object($object->sepaDirectDebitPaymentMethodSpecificOutput)) {
274: throw new UnexpectedValueException('value \'' . print_r($object->sepaDirectDebitPaymentMethodSpecificOutput, true) . '\' is not an object');
275: }
276: $value = new SepaDirectDebitPaymentMethodSpecificOutput();
277: $this->sepaDirectDebitPaymentMethodSpecificOutput = $value->fromObject($object->sepaDirectDebitPaymentMethodSpecificOutput);
278: }
279: return $this;
280: }
281: }
282: