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