From 04e28e837ef3baa7f19387e011dd98b019841d11 Mon Sep 17 00:00:00 2001 From: qestoppey Date: Wed, 26 Jun 2024 18:49:54 +0200 Subject: [PATCH 1/4] Add Inquire request --- .../Request/Transaction/InquireRequest.php | 54 +++++++++++++ .../Response/Transaction/InquireResponse.php | 77 +++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 lib/SaferpayJson/Request/Transaction/InquireRequest.php create mode 100644 lib/SaferpayJson/Response/Transaction/InquireResponse.php diff --git a/lib/SaferpayJson/Request/Transaction/InquireRequest.php b/lib/SaferpayJson/Request/Transaction/InquireRequest.php new file mode 100644 index 0000000..2b5d414 --- /dev/null +++ b/lib/SaferpayJson/Request/Transaction/InquireRequest.php @@ -0,0 +1,54 @@ +transactionReference = $transactionReference; + + parent::__construct($requestConfig); + } + + public function getTransactionReference(): TransactionReference + { + return $this->transactionReference; + } + + public function setTransactionReference(TransactionReference $transactionReference): self + { + $this->transactionReference = $transactionReference; + + return $this; + } + + public function execute(): InquireResponse + { + /** @var InquireResponse $response */ + $response = $this->doExecute(); + + return $response; + } +} diff --git a/lib/SaferpayJson/Response/Transaction/InquireResponse.php b/lib/SaferpayJson/Response/Transaction/InquireResponse.php new file mode 100644 index 0000000..083eb9b --- /dev/null +++ b/lib/SaferpayJson/Response/Transaction/InquireResponse.php @@ -0,0 +1,77 @@ +transaction; + } + + public function getPaymentMeans(): ?PaymentMeans + { + return $this->paymentMeans; + } + + public function getPayer(): ?Payer + { + return $this->payer; + } + + public function getLiability(): ?Liability + { + return $this->liability; + } + + public function getDcc(): ?Dcc + { + return $this->dcc; + } +} From ecbd41936ef8f3611f470650f578f3b23e1415f0 Mon Sep 17 00:00:00 2001 From: Manuel Reinhard Date: Thu, 27 Jun 2024 15:49:57 +0200 Subject: [PATCH 2/4] Cleanup transaction inquire code --- .../Request/Transaction/InquireRequest.php | 3 +-- .../Response/Transaction/InquireResponse.php | 21 +++++-------------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/lib/SaferpayJson/Request/Transaction/InquireRequest.php b/lib/SaferpayJson/Request/Transaction/InquireRequest.php index 2b5d414..fd5651a 100644 --- a/lib/SaferpayJson/Request/Transaction/InquireRequest.php +++ b/lib/SaferpayJson/Request/Transaction/InquireRequest.php @@ -18,10 +18,9 @@ final class InquireRequest extends Request public const RESPONSE_CLASS = InquireResponse::class; /** - * @var TransactionReference * @SerializedName("TransactionReference") */ - private $transactionReference; + private TransactionReference $transactionReference; public function __construct( RequestConfig $requestConfig, diff --git a/lib/SaferpayJson/Response/Transaction/InquireResponse.php b/lib/SaferpayJson/Response/Transaction/InquireResponse.php index 083eb9b..a4670bd 100644 --- a/lib/SaferpayJson/Response/Transaction/InquireResponse.php +++ b/lib/SaferpayJson/Response/Transaction/InquireResponse.php @@ -5,7 +5,6 @@ namespace Ticketpark\SaferpayJson\Response\Transaction; use JMS\Serializer\Annotation\SerializedName; -use JMS\Serializer\Annotation\Type; use Ticketpark\SaferpayJson\Response\Container\Dcc; use Ticketpark\SaferpayJson\Response\Container\Liability; use Ticketpark\SaferpayJson\Response\Container\Payer; @@ -16,39 +15,29 @@ final class InquireResponse extends Response { /** - * @var Transaction|null * @SerializedName("Transaction") - * @Type("Ticketpark\SaferpayJson\Response\Container\Transaction") */ - private $transaction; + private ?Transaction $transaction = null; /** - * @var PaymentMeans|null * @SerializedName("PaymentMeans") - * @Type("Ticketpark\SaferpayJson\Response\Container\PaymentMeans") */ - private $paymentMeans; + private ?PaymentMeans $paymentMeans = null; /** - * @var Payer|null * @SerializedName("Payer") - * @Type("Ticketpark\SaferpayJson\Response\Container\Payer") */ - private $payer; + private ?Payer $payer = null; /** - * @var Liability|null * @SerializedName("Liability") - * @Type("Ticketpark\SaferpayJson\Response\Container\Liability") */ - private $liability; + private ?Liability $liability = null; /** - * @var Dcc|null * @SerializedName("Dcc") - * @Type("Ticketpark\SaferpayJson\Response\Container\Dcc") */ - private $dcc; + private ?Dcc $dcc = null; public function getTransaction(): ?Transaction { From be6b5e79a2f12c0db5d152b619b53171f847fb88 Mon Sep 17 00:00:00 2001 From: Manuel Reinhard Date: Thu, 27 Jun 2024 15:50:14 +0200 Subject: [PATCH 3/4] Add InquireRequestTest.php --- .../Transaction/InquireRequestTest.php | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/SaferpayJson/Tests/Request/Transaction/InquireRequestTest.php diff --git a/tests/SaferpayJson/Tests/Request/Transaction/InquireRequestTest.php b/tests/SaferpayJson/Tests/Request/Transaction/InquireRequestTest.php new file mode 100644 index 0000000..4bb8632 --- /dev/null +++ b/tests/SaferpayJson/Tests/Request/Transaction/InquireRequestTest.php @@ -0,0 +1,26 @@ +getRequestConfig(), + new TransactionReference() + ); + } +} From e34552bcf13dadb75f8a4bfa1257707bf3664b01 Mon Sep 17 00:00:00 2001 From: Manuel Reinhard Date: Thu, 27 Jun 2024 15:50:23 +0200 Subject: [PATCH 4/4] Add example-inquire --- example/Transaction/example-inquire.php | 48 +++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 example/Transaction/example-inquire.php diff --git a/example/Transaction/example-inquire.php b/example/Transaction/example-inquire.php new file mode 100644 index 0000000..61e9bff --- /dev/null +++ b/example/Transaction/example-inquire.php @@ -0,0 +1,48 @@ +setTransactionId($transactionId); + +// ----------------------------- +// Step 2: +// Create the request with required data + +$captureRequest = new InquireRequest( + $requestConfig, + $transactionReference +); + +// ----------------------------- +// Step 3: +// Execute and check for successful response + +try { + $response = $captureRequest->execute(); +} catch (SaferpayErrorException $e) { + die ($e->getErrorResponse()->getErrorMessage()); +} + +echo 'The information of this transaction has been fetched. Transaction type: ' . $response->getTransaction()->getType()."\n";