D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
tattooscyy
/
test
/
app
/
Libs
/
OnlinePayments
/
Sdk
/
Filename :
DeclinedPaymentException.php
back
Copy
<?php /* * This file was automatically generated. */ namespace App\Libs\OnlinePayments\Sdk; use App\Libs\OnlinePayments\Sdk\Domain\CreatePaymentResponse; use App\Libs\OnlinePayments\Sdk\Domain\PaymentErrorResponse; use App\Libs\Sdk\Domain\DataObject; /** * Class DeclinedPaymentException * * @package OnlinePayments\Sdk */ class DeclinedPaymentException extends ResponseException { /** * @param int $httpStatusCode * @param DataObject $response * @param string|null $message */ public function __construct(int $httpStatusCode, DataObject $response, ?string $message = null) { if (is_null($message)) { $message = DeclinedPaymentException::buildMessage($response); } parent::__construct($httpStatusCode, $response, $message); } private static function buildMessage(DataObject $response): string { if ($response instanceof PaymentErrorResponse && $response->paymentResult != null && $response->paymentResult->payment != null) { $payment = $response->paymentResult->payment; return "declined payment '$payment->id' with status '$payment->status'"; } return 'the payment platform returned a declined payment response'; } /** * @return CreatePaymentResponse */ public function getCreatePaymentResponse() { $responseVariables = get_object_vars($this->getResponse()); if (!array_key_exists('paymentResult', $responseVariables)) { return new CreatePaymentResponse(); } $paymentResult = $responseVariables['paymentResult']; if (!($paymentResult instanceof CreatePaymentResponse)) { return new CreatePaymentResponse(); } return $paymentResult; } }