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 PaymentApprovalResponse extends DataObject
15: {
16: /**
17: * @var ApprovePaymentCardPaymentMethodSpecificOutput|null
18: */
19: public ?ApprovePaymentCardPaymentMethodSpecificOutput $cardPaymentMethodSpecificOutput = null;
20:
21: /**
22: * @var ApprovePaymentMobilePaymentMethodSpecificOutput|null
23: */
24: public ?ApprovePaymentMobilePaymentMethodSpecificOutput $mobilePaymentMethodSpecificOutput = null;
25:
26: /**
27: * @var Payment|null
28: */
29: public ?Payment $payment = null;
30:
31: /**
32: * @var ApprovePaymentCardPaymentMethodSpecificOutput|null
33: *
34: * @deprecated Use cardPaymentMethodSpecificOutput instead
35: */
36: public ?ApprovePaymentCardPaymentMethodSpecificOutput $paymentMethodSpecificOutput = null;
37:
38: /**
39: * @return object
40: */
41: public function toObject(): object
42: {
43: $object = parent::toObject();
44: if (!is_null($this->cardPaymentMethodSpecificOutput)) {
45: $object->cardPaymentMethodSpecificOutput = $this->cardPaymentMethodSpecificOutput->toObject();
46: }
47: if (!is_null($this->mobilePaymentMethodSpecificOutput)) {
48: $object->mobilePaymentMethodSpecificOutput = $this->mobilePaymentMethodSpecificOutput->toObject();
49: }
50: if (!is_null($this->payment)) {
51: $object->payment = $this->payment->toObject();
52: }
53: if (!is_null($this->paymentMethodSpecificOutput)) {
54: $object->paymentMethodSpecificOutput = $this->paymentMethodSpecificOutput->toObject();
55: }
56: return $object;
57: }
58:
59: /**
60: * @param object $object
61: *
62: * @return $this
63: * @throws UnexpectedValueException
64: */
65: public function fromObject(object $object): PaymentApprovalResponse
66: {
67: parent::fromObject($object);
68: if (property_exists($object, 'cardPaymentMethodSpecificOutput')) {
69: if (!is_object($object->cardPaymentMethodSpecificOutput)) {
70: throw new UnexpectedValueException('value \'' . print_r($object->cardPaymentMethodSpecificOutput, true) . '\' is not an object');
71: }
72: $value = new ApprovePaymentCardPaymentMethodSpecificOutput();
73: $this->cardPaymentMethodSpecificOutput = $value->fromObject($object->cardPaymentMethodSpecificOutput);
74: }
75: if (property_exists($object, 'mobilePaymentMethodSpecificOutput')) {
76: if (!is_object($object->mobilePaymentMethodSpecificOutput)) {
77: throw new UnexpectedValueException('value \'' . print_r($object->mobilePaymentMethodSpecificOutput, true) . '\' is not an object');
78: }
79: $value = new ApprovePaymentMobilePaymentMethodSpecificOutput();
80: $this->mobilePaymentMethodSpecificOutput = $value->fromObject($object->mobilePaymentMethodSpecificOutput);
81: }
82: if (property_exists($object, 'payment')) {
83: if (!is_object($object->payment)) {
84: throw new UnexpectedValueException('value \'' . print_r($object->payment, true) . '\' is not an object');
85: }
86: $value = new Payment();
87: $this->payment = $value->fromObject($object->payment);
88: }
89: if (property_exists($object, 'paymentMethodSpecificOutput')) {
90: if (!is_object($object->paymentMethodSpecificOutput)) {
91: throw new UnexpectedValueException('value \'' . print_r($object->paymentMethodSpecificOutput, true) . '\' is not an object');
92: }
93: $value = new ApprovePaymentCardPaymentMethodSpecificOutput();
94: $this->paymentMethodSpecificOutput = $value->fromObject($object->paymentMethodSpecificOutput);
95: }
96: return $this;
97: }
98: }
99: