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 SepaDirectDebitPaymentMethodSpecificOutput extends AbstractPaymentMethodSpecificOutput
14: {
15: /**
16: * @var FraudResults|null
17: */
18: public ?FraudResults $fraudResults = null;
19:
20: /**
21: * @var PaymentProduct771SpecificOutput|null
22: */
23: public ?PaymentProduct771SpecificOutput $paymentProduct771SpecificOutput = null;
24:
25: /**
26: * @var string|null
27: */
28: public ?string $token = null;
29:
30: /**
31: * @return object
32: */
33: public function toObject(): object
34: {
35: $object = parent::toObject();
36: if (!is_null($this->fraudResults)) {
37: $object->fraudResults = $this->fraudResults->toObject();
38: }
39: if (!is_null($this->paymentProduct771SpecificOutput)) {
40: $object->paymentProduct771SpecificOutput = $this->paymentProduct771SpecificOutput->toObject();
41: }
42: if (!is_null($this->token)) {
43: $object->token = $this->token;
44: }
45: return $object;
46: }
47:
48: /**
49: * @param object $object
50: *
51: * @return $this
52: * @throws UnexpectedValueException
53: */
54: public function fromObject(object $object): SepaDirectDebitPaymentMethodSpecificOutput
55: {
56: parent::fromObject($object);
57: if (property_exists($object, 'fraudResults')) {
58: if (!is_object($object->fraudResults)) {
59: throw new UnexpectedValueException('value \'' . print_r($object->fraudResults, true) . '\' is not an object');
60: }
61: $value = new FraudResults();
62: $this->fraudResults = $value->fromObject($object->fraudResults);
63: }
64: if (property_exists($object, 'paymentProduct771SpecificOutput')) {
65: if (!is_object($object->paymentProduct771SpecificOutput)) {
66: throw new UnexpectedValueException('value \'' . print_r($object->paymentProduct771SpecificOutput, true) . '\' is not an object');
67: }
68: $value = new PaymentProduct771SpecificOutput();
69: $this->paymentProduct771SpecificOutput = $value->fromObject($object->paymentProduct771SpecificOutput);
70: }
71: if (property_exists($object, 'token')) {
72: $this->token = $object->token;
73: }
74: return $this;
75: }
76: }
77: