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: use Worldline\Connect\Sdk\Domain\DataObject;
10:
11: /**
12: * @package Worldline\Connect\Sdk\V1\Domain
13: */
14: class CreatePaymentRequest extends DataObject
15: {
16: /**
17: * @var BankTransferPaymentMethodSpecificInput|null
18: */
19: public ?BankTransferPaymentMethodSpecificInput $bankTransferPaymentMethodSpecificInput = null;
20:
21: /**
22: * @var CardPaymentMethodSpecificInput|null
23: */
24: public ?CardPaymentMethodSpecificInput $cardPaymentMethodSpecificInput = null;
25:
26: /**
27: * @var CashPaymentMethodSpecificInput|null
28: */
29: public ?CashPaymentMethodSpecificInput $cashPaymentMethodSpecificInput = null;
30:
31: /**
32: * @var NonSepaDirectDebitPaymentMethodSpecificInput|null
33: */
34: public ?NonSepaDirectDebitPaymentMethodSpecificInput $directDebitPaymentMethodSpecificInput = null;
35:
36: /**
37: * @var EInvoicePaymentMethodSpecificInput|null
38: */
39: public ?EInvoicePaymentMethodSpecificInput $eInvoicePaymentMethodSpecificInput = null;
40:
41: /**
42: * @var string|null
43: */
44: public ?string $encryptedCustomerInput = null;
45:
46: /**
47: * @var FraudFields|null
48: */
49: public ?FraudFields $fraudFields = null;
50:
51: /**
52: * @var InvoicePaymentMethodSpecificInput|null
53: */
54: public ?InvoicePaymentMethodSpecificInput $invoicePaymentMethodSpecificInput = null;
55:
56: /**
57: * @var Merchant|null
58: */
59: public ?Merchant $merchant = null;
60:
61: /**
62: * @var MobilePaymentMethodSpecificInput|null
63: */
64: public ?MobilePaymentMethodSpecificInput $mobilePaymentMethodSpecificInput = null;
65:
66: /**
67: * @var Order|null
68: */
69: public ?Order $order = null;
70:
71: /**
72: * @var RedirectPaymentMethodSpecificInput|null
73: */
74: public ?RedirectPaymentMethodSpecificInput $redirectPaymentMethodSpecificInput = null;
75:
76: /**
77: * @var SepaDirectDebitPaymentMethodSpecificInput|null
78: */
79: public ?SepaDirectDebitPaymentMethodSpecificInput $sepaDirectDebitPaymentMethodSpecificInput = null;
80:
81: /**
82: * @return object
83: */
84: public function toObject(): object
85: {
86: $object = parent::toObject();
87: if (!is_null($this->bankTransferPaymentMethodSpecificInput)) {
88: $object->bankTransferPaymentMethodSpecificInput = $this->bankTransferPaymentMethodSpecificInput->toObject();
89: }
90: if (!is_null($this->cardPaymentMethodSpecificInput)) {
91: $object->cardPaymentMethodSpecificInput = $this->cardPaymentMethodSpecificInput->toObject();
92: }
93: if (!is_null($this->cashPaymentMethodSpecificInput)) {
94: $object->cashPaymentMethodSpecificInput = $this->cashPaymentMethodSpecificInput->toObject();
95: }
96: if (!is_null($this->directDebitPaymentMethodSpecificInput)) {
97: $object->directDebitPaymentMethodSpecificInput = $this->directDebitPaymentMethodSpecificInput->toObject();
98: }
99: if (!is_null($this->eInvoicePaymentMethodSpecificInput)) {
100: $object->eInvoicePaymentMethodSpecificInput = $this->eInvoicePaymentMethodSpecificInput->toObject();
101: }
102: if (!is_null($this->encryptedCustomerInput)) {
103: $object->encryptedCustomerInput = $this->encryptedCustomerInput;
104: }
105: if (!is_null($this->fraudFields)) {
106: $object->fraudFields = $this->fraudFields->toObject();
107: }
108: if (!is_null($this->invoicePaymentMethodSpecificInput)) {
109: $object->invoicePaymentMethodSpecificInput = $this->invoicePaymentMethodSpecificInput->toObject();
110: }
111: if (!is_null($this->merchant)) {
112: $object->merchant = $this->merchant->toObject();
113: }
114: if (!is_null($this->mobilePaymentMethodSpecificInput)) {
115: $object->mobilePaymentMethodSpecificInput = $this->mobilePaymentMethodSpecificInput->toObject();
116: }
117: if (!is_null($this->order)) {
118: $object->order = $this->order->toObject();
119: }
120: if (!is_null($this->redirectPaymentMethodSpecificInput)) {
121: $object->redirectPaymentMethodSpecificInput = $this->redirectPaymentMethodSpecificInput->toObject();
122: }
123: if (!is_null($this->sepaDirectDebitPaymentMethodSpecificInput)) {
124: $object->sepaDirectDebitPaymentMethodSpecificInput = $this->sepaDirectDebitPaymentMethodSpecificInput->toObject();
125: }
126: return $object;
127: }
128:
129: /**
130: * @param object $object
131: *
132: * @return $this
133: * @throws UnexpectedValueException
134: */
135: public function fromObject(object $object): CreatePaymentRequest
136: {
137: parent::fromObject($object);
138: if (property_exists($object, 'bankTransferPaymentMethodSpecificInput')) {
139: if (!is_object($object->bankTransferPaymentMethodSpecificInput)) {
140: throw new UnexpectedValueException('value \'' . print_r($object->bankTransferPaymentMethodSpecificInput, true) . '\' is not an object');
141: }
142: $value = new BankTransferPaymentMethodSpecificInput();
143: $this->bankTransferPaymentMethodSpecificInput = $value->fromObject($object->bankTransferPaymentMethodSpecificInput);
144: }
145: if (property_exists($object, 'cardPaymentMethodSpecificInput')) {
146: if (!is_object($object->cardPaymentMethodSpecificInput)) {
147: throw new UnexpectedValueException('value \'' . print_r($object->cardPaymentMethodSpecificInput, true) . '\' is not an object');
148: }
149: $value = new CardPaymentMethodSpecificInput();
150: $this->cardPaymentMethodSpecificInput = $value->fromObject($object->cardPaymentMethodSpecificInput);
151: }
152: if (property_exists($object, 'cashPaymentMethodSpecificInput')) {
153: if (!is_object($object->cashPaymentMethodSpecificInput)) {
154: throw new UnexpectedValueException('value \'' . print_r($object->cashPaymentMethodSpecificInput, true) . '\' is not an object');
155: }
156: $value = new CashPaymentMethodSpecificInput();
157: $this->cashPaymentMethodSpecificInput = $value->fromObject($object->cashPaymentMethodSpecificInput);
158: }
159: if (property_exists($object, 'directDebitPaymentMethodSpecificInput')) {
160: if (!is_object($object->directDebitPaymentMethodSpecificInput)) {
161: throw new UnexpectedValueException('value \'' . print_r($object->directDebitPaymentMethodSpecificInput, true) . '\' is not an object');
162: }
163: $value = new NonSepaDirectDebitPaymentMethodSpecificInput();
164: $this->directDebitPaymentMethodSpecificInput = $value->fromObject($object->directDebitPaymentMethodSpecificInput);
165: }
166: if (property_exists($object, 'eInvoicePaymentMethodSpecificInput')) {
167: if (!is_object($object->eInvoicePaymentMethodSpecificInput)) {
168: throw new UnexpectedValueException('value \'' . print_r($object->eInvoicePaymentMethodSpecificInput, true) . '\' is not an object');
169: }
170: $value = new EInvoicePaymentMethodSpecificInput();
171: $this->eInvoicePaymentMethodSpecificInput = $value->fromObject($object->eInvoicePaymentMethodSpecificInput);
172: }
173: if (property_exists($object, 'encryptedCustomerInput')) {
174: $this->encryptedCustomerInput = $object->encryptedCustomerInput;
175: }
176: if (property_exists($object, 'fraudFields')) {
177: if (!is_object($object->fraudFields)) {
178: throw new UnexpectedValueException('value \'' . print_r($object->fraudFields, true) . '\' is not an object');
179: }
180: $value = new FraudFields();
181: $this->fraudFields = $value->fromObject($object->fraudFields);
182: }
183: if (property_exists($object, 'invoicePaymentMethodSpecificInput')) {
184: if (!is_object($object->invoicePaymentMethodSpecificInput)) {
185: throw new UnexpectedValueException('value \'' . print_r($object->invoicePaymentMethodSpecificInput, true) . '\' is not an object');
186: }
187: $value = new InvoicePaymentMethodSpecificInput();
188: $this->invoicePaymentMethodSpecificInput = $value->fromObject($object->invoicePaymentMethodSpecificInput);
189: }
190: if (property_exists($object, 'merchant')) {
191: if (!is_object($object->merchant)) {
192: throw new UnexpectedValueException('value \'' . print_r($object->merchant, true) . '\' is not an object');
193: }
194: $value = new Merchant();
195: $this->merchant = $value->fromObject($object->merchant);
196: }
197: if (property_exists($object, 'mobilePaymentMethodSpecificInput')) {
198: if (!is_object($object->mobilePaymentMethodSpecificInput)) {
199: throw new UnexpectedValueException('value \'' . print_r($object->mobilePaymentMethodSpecificInput, true) . '\' is not an object');
200: }
201: $value = new MobilePaymentMethodSpecificInput();
202: $this->mobilePaymentMethodSpecificInput = $value->fromObject($object->mobilePaymentMethodSpecificInput);
203: }
204: if (property_exists($object, 'order')) {
205: if (!is_object($object->order)) {
206: throw new UnexpectedValueException('value \'' . print_r($object->order, true) . '\' is not an object');
207: }
208: $value = new Order();
209: $this->order = $value->fromObject($object->order);
210: }
211: if (property_exists($object, 'redirectPaymentMethodSpecificInput')) {
212: if (!is_object($object->redirectPaymentMethodSpecificInput)) {
213: throw new UnexpectedValueException('value \'' . print_r($object->redirectPaymentMethodSpecificInput, true) . '\' is not an object');
214: }
215: $value = new RedirectPaymentMethodSpecificInput();
216: $this->redirectPaymentMethodSpecificInput = $value->fromObject($object->redirectPaymentMethodSpecificInput);
217: }
218: if (property_exists($object, 'sepaDirectDebitPaymentMethodSpecificInput')) {
219: if (!is_object($object->sepaDirectDebitPaymentMethodSpecificInput)) {
220: throw new UnexpectedValueException('value \'' . print_r($object->sepaDirectDebitPaymentMethodSpecificInput, true) . '\' is not an object');
221: }
222: $value = new SepaDirectDebitPaymentMethodSpecificInput();
223: $this->sepaDirectDebitPaymentMethodSpecificInput = $value->fromObject($object->sepaDirectDebitPaymentMethodSpecificInput);
224: }
225: return $this;
226: }
227: }
228: