|
8 | 8 |
|
9 | 9 | namespace UnzerSDK\Resources\TransactionTypes; |
10 | 10 |
|
| 11 | +use RuntimeException; |
| 12 | +use stdClass; |
11 | 13 | use UnzerSDK\Adapter\HttpAdapterInterface; |
12 | 14 | use UnzerSDK\Exceptions\UnzerApiException; |
13 | 15 | use UnzerSDK\Resources\AbstractUnzerResource; |
14 | 16 | use UnzerSDK\Resources\EmbeddedResources\CardTransactionData; |
15 | 17 | use UnzerSDK\Resources\EmbeddedResources\RiskData; |
16 | 18 | use UnzerSDK\Resources\EmbeddedResources\ShippingData; |
| 19 | +use UnzerSDK\Resources\EmbeddedResources\WeroTransactionData; |
17 | 20 | use UnzerSDK\Resources\Payment; |
18 | 21 | use UnzerSDK\Resources\PaymentTypes\BasePaymentType; |
19 | 22 | use UnzerSDK\Traits\HasAdditionalTransactionData; |
|
24 | 27 | use UnzerSDK\Traits\HasStates; |
25 | 28 | use UnzerSDK\Traits\HasTraceId; |
26 | 29 | use UnzerSDK\Traits\HasUniqueAndShortId; |
27 | | -use RuntimeException; |
28 | | -use stdClass; |
29 | 30 |
|
30 | 31 | abstract class AbstractTransactionType extends AbstractUnzerResource |
31 | 32 | { |
@@ -170,6 +171,7 @@ protected function handleAdditionalTransactionData(stdClass $response): void |
170 | 171 | $this->handleRiskData($additionalTransactionData); |
171 | 172 | $this->handleShipping($additionalTransactionData); |
172 | 173 | $this->handleCardTransactionData($additionalTransactionData); |
| 174 | + $this->handleWeroTransactionData($additionalTransactionData); |
173 | 175 | } |
174 | 176 | } |
175 | 177 |
|
@@ -223,4 +225,21 @@ protected function handleCardTransactionData(stdClass $additionalTransactionData |
223 | 225 | $this->setCardTransactionData($cardTransactionData); |
224 | 226 | } |
225 | 227 | } |
| 228 | + |
| 229 | + /** |
| 230 | + * Handle WeroTransactionData object contained in additional transaction data from API response. |
| 231 | + * |
| 232 | + * @param stdClass $additionalTransactionData |
| 233 | + * |
| 234 | + * @return void |
| 235 | + */ |
| 236 | + protected function handleWeroTransactionData(stdClass $additionalTransactionData): void |
| 237 | + { |
| 238 | + $wero = $additionalTransactionData->wero ?? null; |
| 239 | + if ($wero !== null) { |
| 240 | + $weroTransactionData = $this->getWeroTransactionData() ?? new WeroTransactionData(); |
| 241 | + $weroTransactionData->handleResponse($wero); |
| 242 | + $this->setWeroTransactionData($weroTransactionData); |
| 243 | + } |
| 244 | + } |
226 | 245 | } |
0 commit comments