From e49cd7108ba483a00bf0172186676df638ceb4cf Mon Sep 17 00:00:00 2001 From: Konrad Date: Wed, 8 May 2024 15:58:55 +0200 Subject: [PATCH 1/2] support mit payment --- src/Action/CaptureAction.php | 3 ++- src/Enum/CardOnFileEnum.php | 11 +++++++++++ src/Enum/ModelFields.php | 1 + src/Model/Model.php | 11 +++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/Enum/CardOnFileEnum.php diff --git a/src/Action/CaptureAction.php b/src/Action/CaptureAction.php index b1f3133..6940ca1 100644 --- a/src/Action/CaptureAction.php +++ b/src/Action/CaptureAction.php @@ -152,7 +152,8 @@ private function prepareOrderRequest(Capture $request, TokenInterface $token, Mo $payMethod, $model->additionalDescription(), $model->visibleDescription(), - $model->statementDescription() + $model->statementDescription(), + $model->cardOnFile()?->value ); } diff --git a/src/Enum/CardOnFileEnum.php b/src/Enum/CardOnFileEnum.php new file mode 100644 index 0000000..9c1c269 --- /dev/null +++ b/src/Enum/CardOnFileEnum.php @@ -0,0 +1,11 @@ +value; + } + public function setPayUResponse(Response\OrderCreatedResponse $orderCreatedResponse): void { $this[ModelFields::PAYU_RESPONSE] = $orderCreatedResponse->toArray(); From 4f82750833586cf49e835be61dc64f90c593ba87 Mon Sep 17 00:00:00 2001 From: Konrad Date: Fri, 10 May 2024 12:30:32 +0200 Subject: [PATCH 2/2] refactor code, update readme --- README.md | 2 +- src/Action/CaptureAction.php | 2 +- src/ValueObject/Request/OrderRequest.php | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2c074f4..cab9258 100644 --- a/README.md +++ b/README.md @@ -62,5 +62,5 @@ $gateway->execute($captureRequest); ### Missing features -* `OrderRequest` params `cardOnFile`, `recurring`, `mcpData`, `threeDsAuthentication`, `credit` +* `OrderRequest` params `recurring`, `mcpData`, `threeDsAuthentication`, `credit` * ... diff --git a/src/Action/CaptureAction.php b/src/Action/CaptureAction.php index 6940ca1..8bab9b8 100644 --- a/src/Action/CaptureAction.php +++ b/src/Action/CaptureAction.php @@ -153,7 +153,7 @@ private function prepareOrderRequest(Capture $request, TokenInterface $token, Mo $model->additionalDescription(), $model->visibleDescription(), $model->statementDescription(), - $model->cardOnFile()?->value + $model->cardOnFile() ); } diff --git a/src/ValueObject/Request/OrderRequest.php b/src/ValueObject/Request/OrderRequest.php index 6e18016..b9c9c07 100644 --- a/src/ValueObject/Request/OrderRequest.php +++ b/src/ValueObject/Request/OrderRequest.php @@ -5,6 +5,7 @@ namespace Answear\Payum\PayU\ValueObject\Request; use Answear\Payum\PayU\Enum\AuthType; +use Answear\Payum\PayU\Enum\CardOnFileEnum; use Answear\Payum\PayU\Enum\RecurringEnum; use Answear\Payum\PayU\ValueObject\Buyer; use Answear\Payum\PayU\ValueObject\Product; @@ -35,7 +36,7 @@ public function __construct( public readonly ?string $additionalDescription = null, public readonly ?string $visibleDescription = null, public readonly ?string $statementDescription = null, - public ?string $cardOnFile = null, + public ?CardOnFileEnum $cardOnFile = null, public ?string $recurring = null, ) { Assert::notEmpty($this->products); @@ -63,7 +64,7 @@ public function toArray(string $merchantPosId): array 'buyer' => $this->buyer?->toArray(), 'products' => array_map(static fn(Product $product) => $product->toArray(), $this->products), 'payMethods' => null === $this->payMethod ? null : ['payMethod' => $this->payMethod->toArray()], - 'cardOnFile' => $this->cardOnFile, + 'cardOnFile' => $this->cardOnFile?->value, 'recurring' => $this->recurring, ]; }