1: <?php
2: /*
3: * This file was automatically generated.
4: */
5: namespace Worldline\Acquiring\Sdk\V1\Domain;
6:
7: use UnexpectedValueException;
8: use Worldline\Acquiring\Sdk\Domain\DataObject;
9:
10: /**
11: * @package Worldline\Acquiring\Sdk\V1\Domain
12: */
13: class CardPaymentData extends DataObject
14: {
15: /**
16: * @var bool|null
17: */
18: public ?bool $allowPartialApproval = null;
19:
20: /**
21: * @var string|null
22: */
23: public ?string $brand = null;
24:
25: /**
26: * @var string|null
27: */
28: public ?string $brandSelector = null;
29:
30: /**
31: * @var bool|null
32: */
33: public ?bool $captureImmediately = null;
34:
35: /**
36: * @var PlainCardData|null
37: */
38: public ?PlainCardData $cardData = null;
39:
40: /**
41: * @var string|null
42: */
43: public ?string $cardEntryMode = null;
44:
45: /**
46: * @var CardOnFileData|null
47: */
48: public ?CardOnFileData $cardOnFileData = null;
49:
50: /**
51: * @var string|null
52: */
53: public ?string $cardholderVerificationMethod = null;
54:
55: /**
56: * @var ECommerceData|null
57: */
58: public ?ECommerceData $ecommerceData = null;
59:
60: /**
61: * @var NetworkTokenData|null
62: */
63: public ?NetworkTokenData $networkTokenData = null;
64:
65: /**
66: * @var PointOfSaleData|null
67: */
68: public ?PointOfSaleData $pointOfSaleData = null;
69:
70: /**
71: * @var ServiceLocationData|null
72: */
73: public ?ServiceLocationData $serviceLocationData = null;
74:
75: /**
76: * @var string|null
77: */
78: public ?string $walletId = null;
79:
80: /**
81: * @return object
82: */
83: public function toObject(): object
84: {
85: $object = parent::toObject();
86: if (!is_null($this->allowPartialApproval)) {
87: $object->allowPartialApproval = $this->allowPartialApproval;
88: }
89: if (!is_null($this->brand)) {
90: $object->brand = $this->brand;
91: }
92: if (!is_null($this->brandSelector)) {
93: $object->brandSelector = $this->brandSelector;
94: }
95: if (!is_null($this->captureImmediately)) {
96: $object->captureImmediately = $this->captureImmediately;
97: }
98: if (!is_null($this->cardData)) {
99: $object->cardData = $this->cardData->toObject();
100: }
101: if (!is_null($this->cardEntryMode)) {
102: $object->cardEntryMode = $this->cardEntryMode;
103: }
104: if (!is_null($this->cardOnFileData)) {
105: $object->cardOnFileData = $this->cardOnFileData->toObject();
106: }
107: if (!is_null($this->cardholderVerificationMethod)) {
108: $object->cardholderVerificationMethod = $this->cardholderVerificationMethod;
109: }
110: if (!is_null($this->ecommerceData)) {
111: $object->ecommerceData = $this->ecommerceData->toObject();
112: }
113: if (!is_null($this->networkTokenData)) {
114: $object->networkTokenData = $this->networkTokenData->toObject();
115: }
116: if (!is_null($this->pointOfSaleData)) {
117: $object->pointOfSaleData = $this->pointOfSaleData->toObject();
118: }
119: if (!is_null($this->serviceLocationData)) {
120: $object->serviceLocationData = $this->serviceLocationData->toObject();
121: }
122: if (!is_null($this->walletId)) {
123: $object->walletId = $this->walletId;
124: }
125: return $object;
126: }
127:
128: /**
129: * @param object $object
130: *
131: * @return $this
132: * @throws UnexpectedValueException
133: */
134: public function fromObject(object $object): CardPaymentData
135: {
136: parent::fromObject($object);
137: if (property_exists($object, 'allowPartialApproval')) {
138: $this->allowPartialApproval = $object->allowPartialApproval;
139: }
140: if (property_exists($object, 'brand')) {
141: $this->brand = $object->brand;
142: }
143: if (property_exists($object, 'brandSelector')) {
144: $this->brandSelector = $object->brandSelector;
145: }
146: if (property_exists($object, 'captureImmediately')) {
147: $this->captureImmediately = $object->captureImmediately;
148: }
149: if (property_exists($object, 'cardData')) {
150: if (!is_object($object->cardData)) {
151: throw new UnexpectedValueException('value \'' . print_r($object->cardData, true) . '\' is not an object');
152: }
153: $value = new PlainCardData();
154: $this->cardData = $value->fromObject($object->cardData);
155: }
156: if (property_exists($object, 'cardEntryMode')) {
157: $this->cardEntryMode = $object->cardEntryMode;
158: }
159: if (property_exists($object, 'cardOnFileData')) {
160: if (!is_object($object->cardOnFileData)) {
161: throw new UnexpectedValueException('value \'' . print_r($object->cardOnFileData, true) . '\' is not an object');
162: }
163: $value = new CardOnFileData();
164: $this->cardOnFileData = $value->fromObject($object->cardOnFileData);
165: }
166: if (property_exists($object, 'cardholderVerificationMethod')) {
167: $this->cardholderVerificationMethod = $object->cardholderVerificationMethod;
168: }
169: if (property_exists($object, 'ecommerceData')) {
170: if (!is_object($object->ecommerceData)) {
171: throw new UnexpectedValueException('value \'' . print_r($object->ecommerceData, true) . '\' is not an object');
172: }
173: $value = new ECommerceData();
174: $this->ecommerceData = $value->fromObject($object->ecommerceData);
175: }
176: if (property_exists($object, 'networkTokenData')) {
177: if (!is_object($object->networkTokenData)) {
178: throw new UnexpectedValueException('value \'' . print_r($object->networkTokenData, true) . '\' is not an object');
179: }
180: $value = new NetworkTokenData();
181: $this->networkTokenData = $value->fromObject($object->networkTokenData);
182: }
183: if (property_exists($object, 'pointOfSaleData')) {
184: if (!is_object($object->pointOfSaleData)) {
185: throw new UnexpectedValueException('value \'' . print_r($object->pointOfSaleData, true) . '\' is not an object');
186: }
187: $value = new PointOfSaleData();
188: $this->pointOfSaleData = $value->fromObject($object->pointOfSaleData);
189: }
190: if (property_exists($object, 'serviceLocationData')) {
191: if (!is_object($object->serviceLocationData)) {
192: throw new UnexpectedValueException('value \'' . print_r($object->serviceLocationData, true) . '\' is not an object');
193: }
194: $value = new ServiceLocationData();
195: $this->serviceLocationData = $value->fromObject($object->serviceLocationData);
196: }
197: if (property_exists($object, 'walletId')) {
198: $this->walletId = $object->walletId;
199: }
200: return $this;
201: }
202: }
203: