From 646c9e92de7a19c286d0b78a71edae4c017adceb Mon Sep 17 00:00:00 2001 From: Karol Wojciechowski Date: Tue, 14 Apr 2026 06:45:02 +0200 Subject: [PATCH 1/2] mising fields --- src/Model/Fields/Alias/RecommendedAuthLevel.php | 17 +++++++++++++++++ src/Model/Objects/Transactions/Alias.php | 5 +++++ 2 files changed, 22 insertions(+) create mode 100644 src/Model/Fields/Alias/RecommendedAuthLevel.php diff --git a/src/Model/Fields/Alias/RecommendedAuthLevel.php b/src/Model/Fields/Alias/RecommendedAuthLevel.php new file mode 100644 index 0000000..ecb8f5b --- /dev/null +++ b/src/Model/Fields/Alias/RecommendedAuthLevel.php @@ -0,0 +1,17 @@ + Type::class, 'label' => Label::class, 'key' => Key::class, + 'recommendedAuthLevel' => RecommendedAuthLevel::class, 'autopayment' => Autopayment::class, 'noDelay' => Boolean::class, ]; @@ -33,6 +35,9 @@ class Alias extends Objects /** @var Key */ public $key; + /** @var RecommendedAuthLevel */ + public $recommendedAuthLevel; + /** @var Autopayment */ public $autopayment; From 2f3e7579561939f2050600d5b9678a8d7b9af7a3 Mon Sep 17 00:00:00 2001 From: Karol Wojciechowski Date: Tue, 14 Apr 2026 10:03:43 +0200 Subject: [PATCH 2/2] Blik part of API support --- src/Api/Blik/BlikApi.php | 39 +++++++++++++++++++ src/Api/TpayApi.php | 20 ++++++++++ src/Model/Fields/CreateAlias/Description.php | 16 ++++++++ src/Model/Fields/CreateAlias/Lang.php | 24 ++++++++++++ src/Model/Objects/Blik/CreateAliasPay.php | 23 +++++++++++ src/Model/Objects/RequestBody/CreateAlias.php | 34 ++++++++++++++++ src/Model/Objects/RequestBody/DeleteAlias.php | 23 +++++++++++ 7 files changed, 179 insertions(+) create mode 100644 src/Api/Blik/BlikApi.php create mode 100644 src/Model/Fields/CreateAlias/Description.php create mode 100644 src/Model/Fields/CreateAlias/Lang.php create mode 100644 src/Model/Objects/Blik/CreateAliasPay.php create mode 100644 src/Model/Objects/RequestBody/CreateAlias.php create mode 100644 src/Model/Objects/RequestBody/DeleteAlias.php diff --git a/src/Api/Blik/BlikApi.php b/src/Api/Blik/BlikApi.php new file mode 100644 index 0000000..ae4e6b2 --- /dev/null +++ b/src/Api/Blik/BlikApi.php @@ -0,0 +1,39 @@ +run(static::POST, '/blik/alias', $fields, new CreateAlias()); + } + + /** + * @param string $aliasValue + * @param string $aliasType + */ + public function getAlias($aliasValue, $aliasType) + { + $requestUrl = $this->addQueryFields( + sprintf('/blik/alias/%s', $aliasValue), + ['aliasType' => $aliasType] + ); + + return $this->run(static::GET, $requestUrl); + } + + /** + * @param string $aliasValue + * @param array $fields + */ + public function deleteAlias($aliasValue, $fields) + { + return $this->run(static::DELETE, sprintf('/blik/alias/%s', $aliasValue), $fields, new DeleteAlias()); + } +} diff --git a/src/Api/TpayApi.php b/src/Api/TpayApi.php index 66ca600..0518459 100644 --- a/src/Api/TpayApi.php +++ b/src/Api/TpayApi.php @@ -5,6 +5,7 @@ use RuntimeException; use Tpay\OpenApi\Api\Accounts\AccountsApi; use Tpay\OpenApi\Api\Authorization\AuthorizationApi; +use Tpay\OpenApi\Api\Blik\BlikApi; use Tpay\OpenApi\Api\Collect\CollectApi; use Tpay\OpenApi\Api\Refunds\RefundsApi; use Tpay\OpenApi\Api\Reports\ReportsApi; @@ -15,6 +16,9 @@ class TpayApi { + /** @var null|BlikApi */ + private $blik; + /** @var null|AccountsApi */ private $accounts; @@ -93,6 +97,22 @@ public function getToken() return $this->token; } + /** @return BlikApi */ + public function blik() + { + $this->authorize(); + if (null === $this->blik) { + $this->blik = (new BlikApi($this->token, $this->productionMode)) + ->overrideApiUrl($this->apiUrl); + + if ($this->clientName) { + $this->blik->setClientName($this->clientName); + } + } + + return $this->blik; + } + /** @return AccountsApi */ public function accounts() { diff --git a/src/Model/Fields/CreateAlias/Description.php b/src/Model/Fields/CreateAlias/Description.php new file mode 100644 index 0000000..58e91c4 --- /dev/null +++ b/src/Model/Fields/CreateAlias/Description.php @@ -0,0 +1,16 @@ + BlikPaymentData::class, + ]; + + /** @var BlikPaymentData */ + public $blikPaymentData; + + public function getRequiredFields() + { + return [ + $this->blikPaymentData, + ]; + } +} diff --git a/src/Model/Objects/RequestBody/CreateAlias.php b/src/Model/Objects/RequestBody/CreateAlias.php new file mode 100644 index 0000000..7f6d82c --- /dev/null +++ b/src/Model/Objects/RequestBody/CreateAlias.php @@ -0,0 +1,34 @@ + Description::class, + 'lang' => Lang::class, + 'pay' => CreateAliasPay::class, + ]; + + /** @var Description */ + public $description; + + /** @var Lang */ + public $lang; + + /** @var CreateAliasPay */ + public $pay; + + public function getRequiredFields() + { + return [ + $this->description, + $this->pay, + ]; + } +} diff --git a/src/Model/Objects/RequestBody/DeleteAlias.php b/src/Model/Objects/RequestBody/DeleteAlias.php new file mode 100644 index 0000000..7a3553a --- /dev/null +++ b/src/Model/Objects/RequestBody/DeleteAlias.php @@ -0,0 +1,23 @@ + Type::class, + ]; + + /** @var Type */ + public $aliasType; + + public function getRequiredFields() + { + return [ + $this->aliasType, + ]; + } +}