From 3beee8b44da85402c41958faf48809d1e27da072 Mon Sep 17 00:00:00 2001 From: Frederik Rommel Date: Mon, 17 Jun 2024 13:22:13 +0200 Subject: [PATCH] PAYOSWXP-132: always add order-line items if enabled --- .../requestParameter/builder.xml | 4 +- .../AuthorizeRequestParameterBuilder.php | 9 +- .../AuthorizeRequestParameterBuilder.php | 16 +-- .../OrderLinesRequestParameterBuilder.php | 94 +++++++++---- .../AuthorizeRequestParameterBuilder.php | 5 - .../AuthorizeRequestParameterBuilder.php | 4 - .../AuthorizeRequestParameterBuilder.php | 5 - .../Builder/RequestBuilderServiceAccessor.php | 4 +- .../AuthorizeRequestParameterBuilder.php | 14 +- .../AuthorizeRequestParameterBuilder.php | 4 - .../AuthorizeRequestParameterBuilder.php | 4 - .../AuthorizeRequestParameterBuilder.php | 4 - src/Resources/config/settings.xml | 8 ++ ...TransactionRequestParameterBuilderTest.php | 4 +- .../Builder/Klarna/AbstractKlarna.php | 13 -- .../AuthorizeRequestParameterBuilderTest.php | 2 - ...eateSessionRequestParameterBuilderTest.php | 13 ++ .../OrderLinesRequestParameterBuilderTest.php | 131 ++++++++++++++++-- .../AuthorizeRequestParameterBuilderTest.php | 2 - ...reAuthorizeRequestParameterBuilderTest.php | 2 - .../AuthorizeRequestParameterBuilderTest.php | 2 - ...reAuthorizeRequestParameterBuilderTest.php | 2 - .../AuthorizeRequestParameterBuilderTest.php | 2 - ...reAuthorizeRequestParameterBuilderTest.php | 2 - .../AuthorizeRequestParameterBuilderTest.php | 2 - ...reAuthorizeRequestParameterBuilderTest.php | 2 - .../AuthorizeRequestParameterBuilderTest.php | 2 - ...reAuthorizeRequestParameterBuilderTest.php | 2 - .../AuthorizeRequestParameterBuilderTest.php | 3 - ...reAuthorizeRequestParameterBuilderTest.php | 2 - 30 files changed, 215 insertions(+), 148 deletions(-) diff --git a/src/DependencyInjection/requestParameter/builder.xml b/src/DependencyInjection/requestParameter/builder.xml index 0beee6860..c9f2485d4 100644 --- a/src/DependencyInjection/requestParameter/builder.xml +++ b/src/DependencyInjection/requestParameter/builder.xml @@ -15,13 +15,11 @@ - + - - getRequestData(); - $parameter = [ + return [ 'request' => $arguments->getAction(), 'clearingtype' => self::CLEARING_TYPE_FINANCING, 'add_paydata[authorization_token]' => $dataBag->get('payoneKlarnaAuthorizationToken'), ]; - - $context = $arguments->getSalesChannelContext()->getContext(); - $order = $arguments->getPaymentTransaction()->getOrder(); - $currency = $this->getOrderCurrency($order, $context); - $lineItems = $this->serviceAccessor->lineItemHydrator->mapOrderLines($currency, $order, $context); - - return array_merge($parameter, $lineItems); } public function supports(AbstractRequestParameterStruct $arguments): bool diff --git a/src/Payone/RequestParameter/Builder/OpenInvoice/AuthorizeRequestParameterBuilder.php b/src/Payone/RequestParameter/Builder/OpenInvoice/AuthorizeRequestParameterBuilder.php index c7cde25c5..097d12031 100644 --- a/src/Payone/RequestParameter/Builder/OpenInvoice/AuthorizeRequestParameterBuilder.php +++ b/src/Payone/RequestParameter/Builder/OpenInvoice/AuthorizeRequestParameterBuilder.php @@ -16,22 +16,10 @@ class AuthorizeRequestParameterBuilder extends AbstractRequestParameterBuilder */ public function getRequestParameter(AbstractRequestParameterStruct $arguments): array { - $paymentTransaction = $arguments->getPaymentTransaction(); - $salesChannelContext = $arguments->getSalesChannelContext(); - $context = $salesChannelContext->getContext(); - $order = $paymentTransaction->getOrder(); - $currency = $this->getOrderCurrency($order, $salesChannelContext->getContext()); - - $parameters = [ + return [ 'clearingtype' => self::CLEARING_TYPE_INVOICE, - 'request' => self::REQUEST_ACTION_AUTHORIZE, + 'request' => $arguments->getAction(), ]; - - if ($order->getLineItems() !== null) { - $parameters = array_merge($parameters, $this->serviceAccessor->lineItemHydrator->mapOrderLines($currency, $order, $context)); - } - - return $parameters; } public function supports(AbstractRequestParameterStruct $arguments): bool diff --git a/src/Payone/RequestParameter/Builder/OrderLinesRequestParameterBuilder.php b/src/Payone/RequestParameter/Builder/OrderLinesRequestParameterBuilder.php index 6ad0e5959..7892287b6 100644 --- a/src/Payone/RequestParameter/Builder/OrderLinesRequestParameterBuilder.php +++ b/src/Payone/RequestParameter/Builder/OrderLinesRequestParameterBuilder.php @@ -4,6 +4,7 @@ namespace PayonePayment\Payone\RequestParameter\Builder; +use PayonePayment\PaymentHandler\AbstractKlarnaPaymentHandler; use PayonePayment\PaymentHandler\AbstractPostfinancePaymentHandler; use PayonePayment\PaymentHandler\PayoneAlipayPaymentHandler; use PayonePayment\PaymentHandler\PayoneBancontactPaymentHandler; @@ -22,6 +23,7 @@ use PayonePayment\PaymentHandler\PayoneWeChatPayPaymentHandler; use PayonePayment\Payone\RequestParameter\Struct\AbstractRequestParameterStruct; use PayonePayment\Payone\RequestParameter\Struct\FinancialTransactionStruct; +use PayonePayment\Payone\RequestParameter\Struct\PaymentTransactionStruct; class OrderLinesRequestParameterBuilder extends AbstractRequestParameterBuilder { @@ -41,12 +43,16 @@ public function getRequestParameter(AbstractRequestParameterStruct $arguments): return []; } - $parameters = $this->serviceAccessor->lineItemHydrator->mapPayoneOrderLinesByRequest( - $currency, - $paymentTransaction->getOrder(), - $orderLines, - $isCompleted ? true : $includeShippingCosts - ); + if ($arguments instanceof PaymentTransactionStruct && $this->isAuthorizeAction($arguments) && $orderLines === []) { + $parameters = $this->serviceAccessor->lineItemHydrator->mapOrderLines($currency, $paymentTransaction->getOrder(), $arguments->getSalesChannelContext()->getContext()); + } else { + $parameters = $this->serviceAccessor->lineItemHydrator->mapPayoneOrderLinesByRequest( + $currency, + $paymentTransaction->getOrder(), + $orderLines, + $isCompleted ? true : $includeShippingCosts + ); + } // For specific payment methods the "pr" parameter must be negative on refunds $paymentMethodsThatRequireNegativePriceForRefunds = [ @@ -68,35 +74,65 @@ public function getRequestParameter(AbstractRequestParameterStruct $arguments): public function supports(AbstractRequestParameterStruct $arguments): bool { - if (!($arguments instanceof FinancialTransactionStruct)) { - return false; - } + if ($arguments instanceof PaymentTransactionStruct) { + $config = $this->serviceAccessor->configReader->read($arguments->getPaymentTransaction()->getOrder()->getSalesChannelId()); + + if ($this->isAuthorizeAction($arguments) && $config->get('submitOrderLineItems', false)) { + return true; + } - $paymentMethod = $arguments->getPaymentMethod(); - - switch ($paymentMethod) { - case PayonePayolutionDebitPaymentHandler::class: - case PayonePayolutionInstallmentPaymentHandler::class: - case PayonePayolutionInvoicingPaymentHandler::class: - case PayoneSecureInvoicePaymentHandler::class: - case PayoneOpenInvoicePaymentHandler::class: - case PayoneBancontactPaymentHandler::class: - case PayoneRatepayDebitPaymentHandler::class: - case PayoneRatepayInstallmentPaymentHandler::class: - case PayoneRatepayInvoicingPaymentHandler::class: - case PayonePrzelewy24PaymentHandler::class: - case PayoneWeChatPayPaymentHandler::class: - case PayoneAlipayPaymentHandler::class: - case PayoneSecuredInvoicePaymentHandler::class: - case PayoneSecuredInstallmentPaymentHandler::class: - case PayoneSecuredDirectDebitPaymentHandler::class: + // for some methods the line items are always required + if (is_subclass_of($arguments->getPaymentMethod(), AbstractKlarnaPaymentHandler::class)) { return true; + } + + // for some methods the line items are always required + switch ($arguments->getPaymentMethod()) { + case PayoneOpenInvoicePaymentHandler::class: + case PayoneRatepayDebitPaymentHandler::class: + case PayoneRatepayInstallmentPaymentHandler::class: + case PayoneRatepayInvoicingPaymentHandler::class: + case PayoneSecuredDirectDebitPaymentHandler::class: + case PayoneSecuredInstallmentPaymentHandler::class: + case PayoneSecuredInvoicePaymentHandler::class: + case PayoneSecureInvoicePaymentHandler::class: + case PayonePayolutionDebitPaymentHandler::class: + case PayonePayolutionInstallmentPaymentHandler::class: + case PayonePayolutionInvoicingPaymentHandler::class: + return true; + } } - if (is_subclass_of($arguments->getPaymentMethod(), AbstractPostfinancePaymentHandler::class)) { - return true; + if ($arguments instanceof FinancialTransactionStruct) { + switch ($arguments->getPaymentMethod()) { + case PayonePayolutionDebitPaymentHandler::class: + case PayonePayolutionInstallmentPaymentHandler::class: + case PayonePayolutionInvoicingPaymentHandler::class: + case PayoneSecureInvoicePaymentHandler::class: + case PayoneOpenInvoicePaymentHandler::class: + case PayoneBancontactPaymentHandler::class: + case PayoneRatepayDebitPaymentHandler::class: + case PayoneRatepayInstallmentPaymentHandler::class: + case PayoneRatepayInvoicingPaymentHandler::class: + case PayonePrzelewy24PaymentHandler::class: + case PayoneWeChatPayPaymentHandler::class: + case PayoneAlipayPaymentHandler::class: + case PayoneSecuredInvoicePaymentHandler::class: + case PayoneSecuredInstallmentPaymentHandler::class: + case PayoneSecuredDirectDebitPaymentHandler::class: + return true; + } + + if (is_subclass_of($arguments->getPaymentMethod(), AbstractPostfinancePaymentHandler::class)) { + return true; + } } return false; } + + private function isAuthorizeAction(AbstractRequestParameterStruct $arguments): bool + { + return \in_array($arguments->getAction(), [self::REQUEST_ACTION_AUTHORIZE, self::REQUEST_ACTION_PREAUTHORIZE], true); + } } diff --git a/src/Payone/RequestParameter/Builder/RatepayDebit/AuthorizeRequestParameterBuilder.php b/src/Payone/RequestParameter/Builder/RatepayDebit/AuthorizeRequestParameterBuilder.php index 178041053..73c99847e 100644 --- a/src/Payone/RequestParameter/Builder/RatepayDebit/AuthorizeRequestParameterBuilder.php +++ b/src/Payone/RequestParameter/Builder/RatepayDebit/AuthorizeRequestParameterBuilder.php @@ -38,7 +38,6 @@ public function getRequestParameter(AbstractRequestParameterStruct $arguments): $context = $salesChannelContext->getContext(); $paymentTransaction = $arguments->getPaymentTransaction(); $order = $this->getOrder($paymentTransaction->getOrder()->getId(), $context); - $currency = $this->getOrderCurrency($order, $context); $profile = $this->getProfile($order, PayoneRatepayDebitPaymentHandler::class); $parameters = [ @@ -54,10 +53,6 @@ public function getRequestParameter(AbstractRequestParameterStruct $arguments): $this->applyPhoneParameter($order, $parameters, $dataBag, $context); $this->applyBirthdayParameter($order, $parameters, $dataBag, $context); - if ($order->getLineItems() !== null) { - $parameters = array_merge($parameters, $this->serviceAccessor->lineItemHydrator->mapOrderLines($currency, $order, $context)); - } - return $parameters; } diff --git a/src/Payone/RequestParameter/Builder/RatepayInstallment/AuthorizeRequestParameterBuilder.php b/src/Payone/RequestParameter/Builder/RatepayInstallment/AuthorizeRequestParameterBuilder.php index 5266fb784..8eeb52f23 100644 --- a/src/Payone/RequestParameter/Builder/RatepayInstallment/AuthorizeRequestParameterBuilder.php +++ b/src/Payone/RequestParameter/Builder/RatepayInstallment/AuthorizeRequestParameterBuilder.php @@ -49,10 +49,6 @@ public function getRequestParameter(AbstractRequestParameterStruct $arguments): $this->applyPhoneParameter($order, $parameters, $dataBag, $context); $this->applyBirthdayParameter($order, $parameters, $dataBag, $context); - if ($order->getLineItems() !== null) { - $parameters = array_merge($parameters, $this->serviceAccessor->lineItemHydrator->mapOrderLines($currency, $order, $context)); - } - return $parameters; } diff --git a/src/Payone/RequestParameter/Builder/RatepayInvoicing/AuthorizeRequestParameterBuilder.php b/src/Payone/RequestParameter/Builder/RatepayInvoicing/AuthorizeRequestParameterBuilder.php index a7dd61de9..04cec2849 100644 --- a/src/Payone/RequestParameter/Builder/RatepayInvoicing/AuthorizeRequestParameterBuilder.php +++ b/src/Payone/RequestParameter/Builder/RatepayInvoicing/AuthorizeRequestParameterBuilder.php @@ -22,7 +22,6 @@ public function getRequestParameter(AbstractRequestParameterStruct $arguments): $context = $salesChannelContext->getContext(); $paymentTransaction = $arguments->getPaymentTransaction(); $order = $this->getOrder($paymentTransaction->getOrder()->getId(), $context); - $currency = $this->getOrderCurrency($order, $context); $profile = $this->getProfile($order, PayoneRatepayInvoicingPaymentHandler::class); $parameters = [ @@ -37,10 +36,6 @@ public function getRequestParameter(AbstractRequestParameterStruct $arguments): $this->applyPhoneParameter($order, $parameters, $dataBag, $context); $this->applyBirthdayParameter($order, $parameters, $dataBag, $context); - if ($order->getLineItems() !== null) { - $parameters = array_merge($parameters, $this->serviceAccessor->lineItemHydrator->mapOrderLines($currency, $order, $context)); - } - return $parameters; } diff --git a/src/Payone/RequestParameter/Builder/RequestBuilderServiceAccessor.php b/src/Payone/RequestParameter/Builder/RequestBuilderServiceAccessor.php index b1579486b..3bed1adaa 100644 --- a/src/Payone/RequestParameter/Builder/RequestBuilderServiceAccessor.php +++ b/src/Payone/RequestParameter/Builder/RequestBuilderServiceAccessor.php @@ -4,6 +4,7 @@ namespace PayonePayment\Payone\RequestParameter\Builder; +use PayonePayment\Components\ConfigReader\ConfigReader; use PayonePayment\Components\Currency\CurrencyPrecisionInterface; use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydratorInterface; use Shopware\Core\Framework\DataAbstractionLayer\EntityRepository; @@ -16,7 +17,8 @@ public function __construct( public readonly EntityRepository $customerAddressRepository, public readonly EntityRepository $currencyRepository, public readonly CurrencyPrecisionInterface $currencyPrecision, - public readonly LineItemHydratorInterface $lineItemHydrator + public readonly LineItemHydratorInterface $lineItemHydrator, + public readonly ConfigReader $configReader ) { } } diff --git a/src/Payone/RequestParameter/Builder/SecureInvoice/AuthorizeRequestParameterBuilder.php b/src/Payone/RequestParameter/Builder/SecureInvoice/AuthorizeRequestParameterBuilder.php index 897ee928a..a2195efc4 100644 --- a/src/Payone/RequestParameter/Builder/SecureInvoice/AuthorizeRequestParameterBuilder.php +++ b/src/Payone/RequestParameter/Builder/SecureInvoice/AuthorizeRequestParameterBuilder.php @@ -16,23 +16,11 @@ class AuthorizeRequestParameterBuilder extends AbstractRequestParameterBuilder */ public function getRequestParameter(AbstractRequestParameterStruct $arguments): array { - $paymentTransaction = $arguments->getPaymentTransaction(); - $salesChannelContext = $arguments->getSalesChannelContext(); - $context = $salesChannelContext->getContext(); - $order = $paymentTransaction->getOrder(); - $currency = $this->getOrderCurrency($order, $context); - - $parameters = [ + return [ 'clearingtype' => self::CLEARING_TYPE_INVOICE, 'clearingsubtype' => 'POV', 'request' => self::REQUEST_ACTION_AUTHORIZE, ]; - - if ($order->getLineItems() !== null) { - $parameters = array_merge($parameters, $this->serviceAccessor->lineItemHydrator->mapOrderLines($currency, $order, $context)); - } - - return $parameters; } public function supports(AbstractRequestParameterStruct $arguments): bool diff --git a/src/Payone/RequestParameter/Builder/SecuredDirectDebit/AuthorizeRequestParameterBuilder.php b/src/Payone/RequestParameter/Builder/SecuredDirectDebit/AuthorizeRequestParameterBuilder.php index ff3e0a4ee..8568b92db 100644 --- a/src/Payone/RequestParameter/Builder/SecuredDirectDebit/AuthorizeRequestParameterBuilder.php +++ b/src/Payone/RequestParameter/Builder/SecuredDirectDebit/AuthorizeRequestParameterBuilder.php @@ -53,10 +53,6 @@ public function getRequestParameter(AbstractRequestParameterStruct $arguments): 'iban' => $dataBag->get('securedDirectDebitIban'), ]; - if ($order->getLineItems() !== null) { - $parameters = array_merge($parameters, $this->serviceAccessor->lineItemHydrator->mapOrderLines($currency, $order, $context)); - } - $this->applyPhoneParameter($order, $parameters, $dataBag, $context); $this->applyBirthdayParameter($order, $parameters, $dataBag, $context); diff --git a/src/Payone/RequestParameter/Builder/SecuredInstallment/AuthorizeRequestParameterBuilder.php b/src/Payone/RequestParameter/Builder/SecuredInstallment/AuthorizeRequestParameterBuilder.php index 22e0c2abf..f91c277a7 100644 --- a/src/Payone/RequestParameter/Builder/SecuredInstallment/AuthorizeRequestParameterBuilder.php +++ b/src/Payone/RequestParameter/Builder/SecuredInstallment/AuthorizeRequestParameterBuilder.php @@ -54,10 +54,6 @@ public function getRequestParameter(AbstractRequestParameterStruct $arguments): 'add_paydata[installment_option_id]' => $dataBag->get('securedInstallmentOptionId'), ]; - if ($order->getLineItems() !== null) { - $parameters = array_merge($parameters, $this->serviceAccessor->lineItemHydrator->mapOrderLines($currency, $order, $context)); - } - $this->applyPhoneParameter($order, $parameters, $dataBag, $context); $this->applyBirthdayParameter($order, $parameters, $dataBag, $context); diff --git a/src/Payone/RequestParameter/Builder/SecuredInvoice/AuthorizeRequestParameterBuilder.php b/src/Payone/RequestParameter/Builder/SecuredInvoice/AuthorizeRequestParameterBuilder.php index 76c8988d5..2d94708b3 100644 --- a/src/Payone/RequestParameter/Builder/SecuredInvoice/AuthorizeRequestParameterBuilder.php +++ b/src/Payone/RequestParameter/Builder/SecuredInvoice/AuthorizeRequestParameterBuilder.php @@ -46,10 +46,6 @@ public function getRequestParameter(AbstractRequestParameterStruct $arguments): 'currency' => $currency->getIsoCode(), ]; - if ($order->getLineItems() !== null) { - $parameters = array_merge($parameters, $this->serviceAccessor->lineItemHydrator->mapOrderLines($currency, $order, $context)); - } - $this->applyPhoneParameter($order, $parameters, $dataBag, $context); $this->applyBirthdayParameter($order, $parameters, $dataBag, $context); $this->applyB2bParameters($order, $parameters); diff --git a/src/Resources/config/settings.xml b/src/Resources/config/settings.xml index bcc345faa..25d8a0af3 100644 --- a/src/Resources/config/settings.xml +++ b/src/Resources/config/settings.xml @@ -58,6 +58,14 @@ When activated, the data entered by the customer into the fields provided by PAYONE will be saved in the customer account, allowing them to be directly reused for future orders. Wenn aktiviert, werden die Daten, welche der Kunde in die von PAYONE bereitgestellten Felder, eingibt, in den Kundenaccount gespeichert, sodass diese bei weiteren Bestellungen direkt wiederverwendet werden können. + + + submitOrderLineItems + + + If activated, all order line-items are submitted to the PAYONE gateway. This enables the generation of invoices through PAYONE. + Wenn aktiviert, werden alle Bestellpositionen an das PAYONE-Gateway übermittelt. Dadurch ist es möglich, Rechnungen direkt über PAYONE zu erstellen. + diff --git a/tests/Payone/RequestParameter/Builder/GeneralTransactionRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/GeneralTransactionRequestParameterBuilderTest.php index 6bd77ad8d..72eb16748 100644 --- a/tests/Payone/RequestParameter/Builder/GeneralTransactionRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/GeneralTransactionRequestParameterBuilderTest.php @@ -5,6 +5,7 @@ namespace PayonePayment\Payone\RequestParameter\Builder; use PayonePayment\Components\CartHasher\CartHasherInterface; +use PayonePayment\Components\ConfigReader\ConfigReader; use PayonePayment\Components\ConfigReader\ConfigReaderInterface; use PayonePayment\Components\Currency\CurrencyPrecisionInterface; use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydratorInterface; @@ -88,7 +89,8 @@ public function testItAddsCorrectAmountAndCurrency(): void $this->getContainer()->get('customer_address.repository'), $this->getContainer()->get('currency.repository'), $currencyPrecision, - $this->getContainer()->get(LineItemHydratorInterface::class) + $this->getContainer()->get(LineItemHydratorInterface::class), + $this->getContainer()->get(ConfigReader::class) ), $this->createMock(CartHasherInterface::class), $this->createMock(ConfigReaderInterface::class) diff --git a/tests/Payone/RequestParameter/Builder/Klarna/AbstractKlarna.php b/tests/Payone/RequestParameter/Builder/Klarna/AbstractKlarna.php index 937e0ad4c..03432d9f8 100644 --- a/tests/Payone/RequestParameter/Builder/Klarna/AbstractKlarna.php +++ b/tests/Payone/RequestParameter/Builder/Klarna/AbstractKlarna.php @@ -4,7 +4,6 @@ namespace PayonePayment\Payone\RequestParameter\Builder\Klarna; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\PayoneKlarnaDirectDebitPaymentHandler; use PayonePayment\PaymentHandler\PayoneKlarnaInstallmentPaymentHandler; use PayonePayment\PaymentHandler\PayoneKlarnaInvoicePaymentHandler; @@ -37,18 +36,6 @@ final public function testItSupportsOnlyKlarnaMethods(): void abstract protected function getStructForTestingSupportMethod(string $paymentHandler): AbstractRequestParameterStruct; - protected function assertLineItemHasBeenSet(array $parameters, int $index = 1): void - { - // just verify if the keys exists. Tests for the contents, will be performed by testing the line-item-hydrator - $indexStr = "[$index]"; - static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_NAME . $indexStr, $parameters); - static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_NUMBER . $indexStr, $parameters); - static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_PRICE . $indexStr, $parameters); - static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_QTY . $indexStr, $parameters); - static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_TAX_RATE . $indexStr, $parameters); - static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_TYPE . $indexStr, $parameters); - } - private function getClassToTest(): string { $class = preg_replace('/Test$/', '', static::class); diff --git a/tests/Payone/RequestParameter/Builder/Klarna/AuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/Klarna/AuthorizeRequestParameterBuilderTest.php index def1ac6a2..7dbf32a02 100644 --- a/tests/Payone/RequestParameter/Builder/Klarna/AuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/Klarna/AuthorizeRequestParameterBuilderTest.php @@ -47,8 +47,6 @@ public function testItAddsCorrectAuthorizeParameters(): void static::assertEquals('test-token', $parameters['add_paydata[authorization_token]']); static::assertArrayHasKey('clearingtype', $parameters); - - $this->assertLineItemHasBeenSet($parameters); } protected function getStructForTestingSupportMethod(string $paymentHandler): AbstractRequestParameterStruct diff --git a/tests/Payone/RequestParameter/Builder/Klarna/CreateSessionRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/Klarna/CreateSessionRequestParameterBuilderTest.php index 2fbb95fb0..b9cad57be 100644 --- a/tests/Payone/RequestParameter/Builder/Klarna/CreateSessionRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/Klarna/CreateSessionRequestParameterBuilderTest.php @@ -4,6 +4,7 @@ namespace PayonePayment\Payone\RequestParameter\Builder\Klarna; +use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\PayoneKlarnaInvoicePaymentHandler; use PayonePayment\Payone\RequestParameter\Struct\AbstractRequestParameterStruct; use PayonePayment\Payone\RequestParameter\Struct\KlarnaCreateSessionStruct; @@ -68,4 +69,16 @@ protected function getStructForTestingSupportMethod(string $paymentHandler): Abs return $mock; } + + protected function assertLineItemHasBeenSet(array $parameters, int $index = 1): void + { + // just verify if the keys exists. Tests for the contents, will be performed by testing the line-item-hydrator + $indexStr = "[$index]"; + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_NAME . $indexStr, $parameters); + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_NUMBER . $indexStr, $parameters); + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_PRICE . $indexStr, $parameters); + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_QTY . $indexStr, $parameters); + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_TAX_RATE . $indexStr, $parameters); + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_TYPE . $indexStr, $parameters); + } } diff --git a/tests/Payone/RequestParameter/Builder/OrderLinesRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/OrderLinesRequestParameterBuilderTest.php index 59e3456a0..c8d8d1952 100644 --- a/tests/Payone/RequestParameter/Builder/OrderLinesRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/OrderLinesRequestParameterBuilderTest.php @@ -5,6 +5,7 @@ namespace PayonePayment\Payone\RequestParameter\Builder; use DMS\PHPUnitExtensions\ArraySubset\Assert; +use PayonePayment\Components\ConfigReader\ConfigReader; use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\Constants; use PayonePayment\PaymentHandler\PayoneBancontactPaymentHandler; @@ -18,10 +19,15 @@ use PayonePayment\PaymentHandler\PayoneRatepayDebitPaymentHandler; use PayonePayment\PaymentHandler\PayoneRatepayInstallmentPaymentHandler; use PayonePayment\PaymentHandler\PayoneRatepayInvoicingPaymentHandler; +use PayonePayment\PaymentHandler\PayoneSecuredDirectDebitPaymentHandler; +use PayonePayment\PaymentHandler\PayoneSecuredInstallmentPaymentHandler; +use PayonePayment\PaymentHandler\PayoneSecuredInvoicePaymentHandler; use PayonePayment\PaymentHandler\PayoneSecureInvoicePaymentHandler; use PayonePayment\TestCaseBase\PayoneTestBehavior; use PHPUnit\Framework\TestCase; use Shopware\Core\Framework\Validation\DataBag\RequestDataBag; +use Shopware\Core\System\SystemConfig\SystemConfigService; +use stdClass; use Symfony\Component\HttpFoundation\ParameterBag; /** @@ -65,19 +71,6 @@ public function testItNotSupportsInvalidPaymentMethods($paymentHandler): void static::assertFalse($builder->supports($struct)); } - public function testItNotSupportsPaymentRequests(): void - { - $struct = $this->getPaymentTransactionStruct( - new RequestDataBag([]), - PayonePayolutionDebitPaymentHandler::class, - AbstractRequestParameterBuilder::REQUEST_ACTION_AUTHORIZE - ); - - $builder = $this->getContainer()->get(OrderLinesRequestParameterBuilder::class); - - static::assertFalse($builder->supports($struct)); - } - public function testItAddsCorrectOrderLineParametersForFullCapture(): void { $dataBag = new ParameterBag(); @@ -254,6 +247,106 @@ public function testItAddsCorrectOrderLineParametersForPartialRefund(): void static::assertArrayNotHasKey('it[2]', $parameters); } + public function testItNotSendItemsIfDisabledForOptionalMethods(): void + { + $configService = $this->getContainer()->get(SystemConfigService::class); + $builder = $this->getContainer()->get(OrderLinesRequestParameterBuilder::class); + + $struct = $this->getPaymentTransactionStruct( + new RequestDataBag(), + stdClass::class, + AbstractRequestParameterBuilder::REQUEST_ACTION_PREAUTHORIZE + ); + + $configService->set(ConfigReader::SYSTEM_CONFIG_DOMAIN . 'submitOrderLineItems', false, $struct->getPaymentTransaction()->getOrder()->getSalesChannelId()); + static::assertFalse($builder->supports($struct), 'builder should not supports stdclass if configuration (send order items) is disabled.'); + } + + public function testItSendItemsIfEnabledForOptionalMethods(): void + { + $configService = $this->getContainer()->get(SystemConfigService::class); + $builder = $this->getContainer()->get(OrderLinesRequestParameterBuilder::class); + + $allowedActions = [ + AbstractRequestParameterBuilder::REQUEST_ACTION_PREAUTHORIZE, + AbstractRequestParameterBuilder::REQUEST_ACTION_AUTHORIZE, + ]; + + foreach ($allowedActions as $allowedAction) { + $struct = $this->getPaymentTransactionStruct(new RequestDataBag(), stdClass::class, $allowedAction); + $configService->set(ConfigReader::SYSTEM_CONFIG_DOMAIN . 'submitOrderLineItems', true, $struct->getPaymentTransaction()->getOrder()->getSalesChannelId()); + + static::assertTrue($builder->supports($struct), sprintf('builder should supports stdclass if configuration (send order items) is enabled and action %s is given.', $allowedAction)); + $parameters = $builder->getRequestParameter($struct); + + foreach (array_values($struct->getPaymentTransaction()->getOrder()->getLineItems()->getElements()) as $index => $lineItem) { + static::assertLineItemHasBeenSet($parameters, $index + 1); + } + } + } + + /** + * @dataProvider dataProviderPaymentMethodsWithRequiredLineItems + */ + public function testIfSendItemIfOrderLineItemsAreRequired(string $paymentHandler): void + { + $configService = $this->getContainer()->get(SystemConfigService::class); + $builder = $this->getContainer()->get(OrderLinesRequestParameterBuilder::class); + + $allowedActions = [ + AbstractRequestParameterBuilder::REQUEST_ACTION_PREAUTHORIZE, + AbstractRequestParameterBuilder::REQUEST_ACTION_AUTHORIZE, + ]; + + foreach ($allowedActions as $allowedAction) { + $struct = $this->getPaymentTransactionStruct(new RequestDataBag(), $paymentHandler, $allowedAction); + $configService->set(ConfigReader::SYSTEM_CONFIG_DOMAIN . 'submitOrderLineItems', false, $struct->getPaymentTransaction()->getOrder()->getSalesChannelId()); + + static::assertTrue($builder->supports($struct), sprintf('builder should always supports %s. Also if configuration (send order items) is disabled.', $paymentHandler)); + $parameters = $builder->getRequestParameter($struct); + + foreach (array_values($struct->getPaymentTransaction()->getOrder()->getLineItems()->getElements()) as $index => $lineItem) { + static::assertLineItemHasBeenSet($parameters, $index + 1); + } + } + } + + public static function dataProviderPaymentMethodsWithRequiredLineItems(): array + { + return [ + [PayoneOpenInvoicePaymentHandler::class], + [PayoneRatepayDebitPaymentHandler::class], + [PayoneRatepayInstallmentPaymentHandler::class], + [PayoneRatepayInvoicingPaymentHandler::class], + [PayoneSecuredDirectDebitPaymentHandler::class], + [PayoneSecuredInstallmentPaymentHandler::class], + [PayoneSecuredInvoicePaymentHandler::class], + [PayoneSecureInvoicePaymentHandler::class], + [PayonePayolutionDebitPaymentHandler::class], + [PayonePayolutionInstallmentPaymentHandler::class], + [PayonePayolutionInvoicingPaymentHandler::class], + ]; + } + + public function testItNotSendItemsIfEnabledWithDisallowedActionForOptionalMethods(): void + { + $configService = $this->getContainer()->get(SystemConfigService::class); + $builder = $this->getContainer()->get(OrderLinesRequestParameterBuilder::class); + + $disallowedActions = [ + AbstractRequestParameterBuilder::REQUEST_ACTION_CAPTURE, + AbstractRequestParameterBuilder::REQUEST_ACTION_REFUND, + AbstractRequestParameterBuilder::REQUEST_ACTION_GENERIC_PAYMENT, + 'something-else', + ]; + + foreach ($disallowedActions as $disallowedAction) { + $struct = $this->getPaymentTransactionStruct(new RequestDataBag(), stdClass::class, $disallowedAction); + $configService->set(ConfigReader::SYSTEM_CONFIG_DOMAIN . 'submitOrderLineItems', true, $struct->getPaymentTransaction()->getOrder()->getSalesChannelId()); + static::assertFalse($builder->supports($struct), sprintf('builder should not supports stdclass if configuration (send order items) is enabled and not allowed action %s is given.', $disallowedAction)); + } + } + public function getValidPaymentHandler(): array { return [ @@ -278,4 +371,16 @@ public function getInvalidPaymentHandler(): array // ... ]; } + + protected function assertLineItemHasBeenSet(array $parameters, int $index): void + { + // just verify if the keys exists. Tests for the contents, will be performed by testing the line-item-hydrator + $indexStr = "[$index]"; + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_NAME . $indexStr, $parameters); + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_NUMBER . $indexStr, $parameters); + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_PRICE . $indexStr, $parameters); + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_QTY . $indexStr, $parameters); + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_TAX_RATE . $indexStr, $parameters); + static::assertArrayHasKey(LineItemHydrator::PAYONE_ARRAY_KEY_TYPE . $indexStr, $parameters); + } } diff --git a/tests/Payone/RequestParameter/Builder/RatepayDebit/AuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/RatepayDebit/AuthorizeRequestParameterBuilderTest.php index 0083a76ff..332276f9c 100644 --- a/tests/Payone/RequestParameter/Builder/RatepayDebit/AuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/RatepayDebit/AuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\RatepayDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneRatepayDebitPaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -60,7 +59,6 @@ public function testItAddsCorrectAuthorizeParameters(): void 'add_paydata[device_token]' => 'the-device-ident-token', 'telephonenumber' => '0123456789', 'birthday' => '20000101', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); diff --git a/tests/Payone/RequestParameter/Builder/RatepayDebit/PreAuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/RatepayDebit/PreAuthorizeRequestParameterBuilderTest.php index bba8b2315..c725de958 100644 --- a/tests/Payone/RequestParameter/Builder/RatepayDebit/PreAuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/RatepayDebit/PreAuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\RatepayDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneRatepayDebitPaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -60,7 +59,6 @@ public function testItAddsCorrectPreAuthorizeParameters(): void 'add_paydata[device_token]' => 'the-device-ident-token', 'telephonenumber' => '0123456789', 'birthday' => '20000101', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); diff --git a/tests/Payone/RequestParameter/Builder/RatepayInstallment/AuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/RatepayInstallment/AuthorizeRequestParameterBuilderTest.php index 01761e7e5..fe48a16f5 100644 --- a/tests/Payone/RequestParameter/Builder/RatepayInstallment/AuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/RatepayInstallment/AuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\RatepayDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneRatepayInstallmentPaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -77,7 +76,6 @@ public function testItAddsCorrectAuthorizeParametersWithIban(): void 'add_paydata[debit_paytype]' => 'DIRECT-DEBIT', 'telephonenumber' => '0123456789', 'birthday' => '20000101', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); diff --git a/tests/Payone/RequestParameter/Builder/RatepayInstallment/PreAuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/RatepayInstallment/PreAuthorizeRequestParameterBuilderTest.php index 7320102eb..f263759ee 100644 --- a/tests/Payone/RequestParameter/Builder/RatepayInstallment/PreAuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/RatepayInstallment/PreAuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\RatepayDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneRatepayInstallmentPaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -77,7 +76,6 @@ public function testItAddsCorrectPreAuthorizeParameters(): void 'add_paydata[debit_paytype]' => 'DIRECT-DEBIT', 'telephonenumber' => '0123456789', 'birthday' => '20000101', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); diff --git a/tests/Payone/RequestParameter/Builder/RatepayInvoicing/AuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/RatepayInvoicing/AuthorizeRequestParameterBuilderTest.php index b5c72d3cc..5da052bc2 100644 --- a/tests/Payone/RequestParameter/Builder/RatepayInvoicing/AuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/RatepayInvoicing/AuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\RatepayDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneRatepayInvoicingPaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -58,7 +57,6 @@ public function testItAddsCorrectAuthorizeParameters(): void 'add_paydata[device_token]' => 'the-device-ident-token', 'telephonenumber' => '0123456789', 'birthday' => '20000101', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); diff --git a/tests/Payone/RequestParameter/Builder/RatepayInvoicing/PreAuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/RatepayInvoicing/PreAuthorizeRequestParameterBuilderTest.php index 41da0134a..57a11799d 100644 --- a/tests/Payone/RequestParameter/Builder/RatepayInvoicing/PreAuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/RatepayInvoicing/PreAuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\RatepayDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneRatepayInvoicingPaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -58,7 +57,6 @@ public function testItAddsCorrectPreAuthorizeParameters(): void 'add_paydata[device_token]' => 'the-device-ident-token', 'telephonenumber' => '0123456789', 'birthday' => '20000101', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); diff --git a/tests/Payone/RequestParameter/Builder/SecuredDirectDebit/AuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/SecuredDirectDebit/AuthorizeRequestParameterBuilderTest.php index b85bafbe2..4614333ec 100644 --- a/tests/Payone/RequestParameter/Builder/SecuredDirectDebit/AuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/SecuredDirectDebit/AuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\PayoneBNPLDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneSecuredDirectDebitPaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -55,7 +54,6 @@ public function testItAddsCorrectAuthorizeParameters(): void 'birthday' => '20000101', 'bankaccountholder' => 'Max Mustermann', 'iban' => 'DE85500105173716329595', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); diff --git a/tests/Payone/RequestParameter/Builder/SecuredDirectDebit/PreAuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/SecuredDirectDebit/PreAuthorizeRequestParameterBuilderTest.php index 5516724b0..7d925c37b 100644 --- a/tests/Payone/RequestParameter/Builder/SecuredDirectDebit/PreAuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/SecuredDirectDebit/PreAuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\PayoneBNPLDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneSecuredDirectDebitPaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -55,7 +54,6 @@ public function testItAddsCorrectPreAuthorizeParameters(): void 'birthday' => '20000101', 'bankaccountholder' => 'Max Mustermann', 'iban' => 'DE85500105173716329595', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); diff --git a/tests/Payone/RequestParameter/Builder/SecuredInstallment/AuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/SecuredInstallment/AuthorizeRequestParameterBuilderTest.php index 644a34a43..7a3803202 100644 --- a/tests/Payone/RequestParameter/Builder/SecuredInstallment/AuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/SecuredInstallment/AuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\PayoneBNPLDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneSecuredInstallmentPaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -57,7 +56,6 @@ public function testItAddsCorrectAuthorizeParameters(): void 'bankaccountholder' => 'Max Mustermann', 'iban' => 'DE85500105173716329595', 'add_paydata[installment_option_id]' => 'the-option-id', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); diff --git a/tests/Payone/RequestParameter/Builder/SecuredInstallment/PreAuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/SecuredInstallment/PreAuthorizeRequestParameterBuilderTest.php index b38af8c06..60e40b1c7 100644 --- a/tests/Payone/RequestParameter/Builder/SecuredInstallment/PreAuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/SecuredInstallment/PreAuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\PayoneBNPLDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneSecuredInstallmentPaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -57,7 +56,6 @@ public function testItAddsCorrectPreAuthorizeParameters(): void 'bankaccountholder' => 'Max Mustermann', 'iban' => 'DE85500105173716329595', 'add_paydata[installment_option_id]' => 'the-option-id', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); diff --git a/tests/Payone/RequestParameter/Builder/SecuredInvoice/AuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/SecuredInvoice/AuthorizeRequestParameterBuilderTest.php index 2673eae04..4c6175169 100644 --- a/tests/Payone/RequestParameter/Builder/SecuredInvoice/AuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/SecuredInvoice/AuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\PayoneBNPLDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneSecuredInvoicePaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -52,7 +51,6 @@ public function testItAddsCorrectAuthorizeParameters(): void 'add_paydata[device_token]' => 'the-device-ident-token', 'telephonenumber' => '0123456789', 'birthday' => '20000101', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters ); @@ -149,7 +147,6 @@ public function testItAddsCorrectAuthorizeParametersForB2b(): void 'financingtype' => AbstractPayonePaymentHandler::PAYONE_FINANCING_PIV, 'telephonenumber' => '0123456789', 'birthday' => '20000101', - 'it[1]' => LineItemHydrator::TYPE_GOODS, 'businessrelation' => 'b2b', 'company' => 'The Company', 'vatid' => 'DE123456789', diff --git a/tests/Payone/RequestParameter/Builder/SecuredInvoice/PreAuthorizeRequestParameterBuilderTest.php b/tests/Payone/RequestParameter/Builder/SecuredInvoice/PreAuthorizeRequestParameterBuilderTest.php index 6b335ebe5..bddfad7b1 100644 --- a/tests/Payone/RequestParameter/Builder/SecuredInvoice/PreAuthorizeRequestParameterBuilderTest.php +++ b/tests/Payone/RequestParameter/Builder/SecuredInvoice/PreAuthorizeRequestParameterBuilderTest.php @@ -6,7 +6,6 @@ use DMS\PHPUnitExtensions\ArraySubset\Assert; use PayonePayment\Components\DeviceFingerprint\PayoneBNPLDeviceFingerprintService; -use PayonePayment\Components\Hydrator\LineItemHydrator\LineItemHydrator; use PayonePayment\PaymentHandler\AbstractPayonePaymentHandler; use PayonePayment\PaymentHandler\PayoneSecuredInvoicePaymentHandler; use PayonePayment\Payone\RequestParameter\Builder\AbstractRequestParameterBuilder; @@ -52,7 +51,6 @@ public function testItAddsCorrectPreAuthorizeParameters(): void 'add_paydata[device_token]' => 'the-device-ident-token', 'telephonenumber' => '0123456789', 'birthday' => '20000101', - 'it[1]' => LineItemHydrator::TYPE_GOODS, ], $parameters );