diff --git a/.gitignore b/.gitignore index f3d5c0075..431cc2e28 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .env +.env.* .idea .gitmodules prestashop @@ -15,3 +16,5 @@ vendor docker-compose.local.yml composer2.2.phar .claude.local.md +views +.history diff --git a/CLAUDE.md b/CLAUDE.md index aa7f2f78d..9f65054eb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -35,7 +35,8 @@ make phpstan-baseline # Regenerate PHPStan baseline for current $MODULE_VER make phpstan-baseline-all # Regenerate baselines for all versions make unit-test # All unit tests (api, utility, core, presentation) -make integration-test # All integration tests (module, core, infrastructure) +make create-test-db # Drop + recreate test_prestashop from prestashop (required before integration tests) +make integration-test # create-test-db + all integration tests (module, core, infrastructure) make test # Full test suite # Run a single test suite directly @@ -55,6 +56,7 @@ Module logs (inside project root, not container): `prestashop//v All `make` test commands run inside the Docker container using `$MODULE_VERSION` and `$PS_VERSION_TAG` from `.env`. `make phpstan` runs locally without Docker. All `make *-test` commands require a running Docker container (`make up`). +Integration tests additionally require the `test_prestashop` database; `make integration-test` creates it automatically via `make create-test-db`. Do not run `phpunit` directly from the host — cross-package autoloading (e.g., `api/` classes in `core/` tests) only resolves inside the Docker container via the module's `vendor/autoload.php`. Always use `make` commands for tests. diff --git a/Makefile b/Makefile index 57c62c17f..554512961 100644 --- a/Makefile +++ b/Makefile @@ -49,7 +49,11 @@ php-unit-presentation: unit-test: php-unit-api php-unit-utility php-unit-core php-unit-presentation -php-integration-core: +create-test-db: + docker exec -i $${MODULE_VERSION}-ps-mysql-$${PS_VERSION_TAG} bash -c "mysql -uroot -pprestashop -e \"DROP DATABASE IF EXISTS test_prestashop; CREATE DATABASE test_prestashop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;\"" + docker exec -i $${MODULE_VERSION}-ps-mysql-$${PS_VERSION_TAG} bash -c "mysqldump -uroot -pprestashop prestashop | mysql -uroot -pprestashop test_prestashop" + +php-integration-core: create-test-db docker exec -i $${MODULE_VERSION}-ps-prestashop-$${PS_VERSION_TAG} bash -c "php modules/ps_checkout/vendor/bin/phpunit --configuration=modules/ps_checkout/vendor/invertus/core/tests/phpunit-integration.xml --bootstrap=modules/ps_checkout/vendor/invertus/core/tests/bootstrap-integration.php" integration-test: php-integration-core diff --git a/README.md b/README.md index 2ba5f0a2e..3c2b2bb8a 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,16 @@ Run `make unit-test` in terminal. #### Integration tests -Run `make integration-test` in terminal. +Integration tests require a running Docker environment and a dedicated test database. + +```bash +make up # Start containers (required) +make integration-test # Creates test_prestashop DB, then runs tests +``` + +The `make integration-test` target automatically runs `make create-test-db` first, which drops and recreates a `test_prestashop` database from the current `prestashop` database. This ensures a consistent state before each run. + +> **Note:** If you only need to recreate the test database without running tests, use `make create-test-db` directly. ## Contributing diff --git a/api/src/Http/OrderHttpClient.php b/api/src/Http/OrderHttpClient.php index d4708f2b1..45fc8ac2a 100644 --- a/api/src/Http/OrderHttpClient.php +++ b/api/src/Http/OrderHttpClient.php @@ -1,4 +1,5 @@ getResponse(); $decodedBody = json_decode((string) $response->getBody(), true); + $message = $this->extractMessage(is_array($decodedBody) ? $decodedBody : []); + if ($message === 'SHOP_NOT_REGISTERED_IN_MDU') { + throw new PsCheckoutException( + 'Shop is not registered in the PrestaShop Checkout services.', + PsCheckoutException::SHOP_NOT_REGISTERED_IN_MDU, + $exception + ); + } + if ($message) { (new PayPalError($message))->throwException($exception); } diff --git a/changelog.md b/changelog.md new file mode 100644 index 000000000..1a847aba9 --- /dev/null +++ b/changelog.md @@ -0,0 +1,25 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + +--- + +## [Unreleased] + +### Added + +- **XO-3014** — Handle 422 MDU registration error on order creation + - Detect `SHOP_NOT_REGISTERED_IN_MDU` error code returned by `order-api` with HTTP 422 + - Display a polite, generic message to the buyer: *"This payment method is temporarily unavailable, please choose another one."* + - Log an explicit error message on the merchant side when the shop is not registered in the PrestaShop Checkout services + - Persist a `PS_CHECKOUT_SHOP_NOT_REGISTERED_IN_MDU` configuration flag when the error occurs + - Display a persistent danger alert on the module configuration page in the back-office when the flag is set + - Translations added for the admin alert in: English, French, German, Spanish, Italian, Dutch, Polish, Portuguese + - New `PsCheckoutException::SHOP_NOT_REGISTERED_IN_MDU` exception code (`82`) + +### Fixed + +- Integration tests: create a fresh `test_prestashop` database automatically before each run (`make create-test-db`) +- Integration tests: add `stderr="true"` to `phpunit-integration.xml` to prevent "headers already sent" errors caused by PHPUnit output conflicting with PHP session start diff --git a/core/src/Exception/PsCheckoutException.php b/core/src/Exception/PsCheckoutException.php index 63670321d..402ecbfc0 100644 --- a/core/src/Exception/PsCheckoutException.php +++ b/core/src/Exception/PsCheckoutException.php @@ -175,4 +175,6 @@ class PsCheckoutException extends \Exception const CART_CUSTOMER_EMAIL_INVALID = 80; const CART_CUSTOMER_PHONE_INVALID = 81; + + const SHOP_NOT_REGISTERED_IN_MDU = 82; } diff --git a/core/src/Order/Exception/Handler/OrderCreationExceptionHandler.php b/core/src/Order/Exception/Handler/OrderCreationExceptionHandler.php index 5549117f1..173dfe6ca 100644 --- a/core/src/Order/Exception/Handler/OrderCreationExceptionHandler.php +++ b/core/src/Order/Exception/Handler/OrderCreationExceptionHandler.php @@ -1,4 +1,5 @@ translator = $translator; $this->logger = $logger; $this->customerNotifyAction = $customerNotifyAction; + $this->configuration = $configuration; } /** @@ -341,7 +351,6 @@ public function handle(Exception $exception, string $paypalOrderId) $exceptionMessageForCustomer = $this->translator->trans('The currency you selected is not supported. Please try another payment method or contact support for assistance.'); break; - } } @@ -441,11 +450,22 @@ public function handleOrderCreateException(Exception $exception, ?string $fundin $isClientError = true; $exceptionMessageForCustomer = $this->translator->trans('Your date of birth is invalid or missing. Please check and try again.'); + break; + case PsCheckoutException::SHOP_NOT_REGISTERED_IN_MDU: + $exceptionMessageForCustomer = $this->translator->trans('This payment method is temporarily unavailable, please choose another one.'); + + $this->configuration->set(PayPalConfiguration::PS_CHECKOUT_SHOP_NOT_REGISTERED_IN_MDU, '1'); + break; } } - if ($isClientError) { + if ($exception instanceof PsCheckoutException && $exception->getCode() === PsCheckoutException::SHOP_NOT_REGISTERED_IN_MDU) { + $this->logger->error( + 'CreateOrder - Shop is not registered in the PrestaShop Checkout services: PayPal payments are blocked. Please re-onboard via the PrestaShop back office.', + ['exception' => $exception] + ); + } elseif ($isClientError) { $this->logger->notice('CreateOrder - Exception ' . $exception->getCode(), ['exception' => $exception]); } else { $this->logger->error('CreateOrder - Exception ' . $exception->getCode(), ['exception' => $exception]); diff --git a/core/src/Settings/Configuration/PayPalConfiguration.php b/core/src/Settings/Configuration/PayPalConfiguration.php index 27b147056..fecbcb5b6 100644 --- a/core/src/Settings/Configuration/PayPalConfiguration.php +++ b/core/src/Settings/Configuration/PayPalConfiguration.php @@ -76,6 +76,8 @@ class PayPalConfiguration const PS_CHECKOUT_PAYPAL_COUNTRY_MERCHANT = 'PS_CHECKOUT_PAYPAL_COUNTRY_MERCHANT'; + const PS_CHECKOUT_SHOP_NOT_REGISTERED_IN_MDU = 'PS_CHECKOUT_SHOP_NOT_REGISTERED_IN_MDU'; + // NOT CONFIGURATION const PS_CHECKOUT_CUSTOMER_INTENT_VAULT = 'VAULT'; diff --git a/core/tests/Unit/Order/Exception/Handler/OrderCreationExceptionHandlerTest.php b/core/tests/Unit/Order/Exception/Handler/OrderCreationExceptionHandlerTest.php index f7a7161e9..267baf51f 100644 --- a/core/tests/Unit/Order/Exception/Handler/OrderCreationExceptionHandlerTest.php +++ b/core/tests/Unit/Order/Exception/Handler/OrderCreationExceptionHandlerTest.php @@ -24,7 +24,9 @@ use PsCheckout\Api\Http\Exception\PayPalException; use PsCheckout\Core\Exception\PsCheckoutException; use PsCheckout\Core\Order\Exception\Handler\OrderCreationExceptionHandler; +use PsCheckout\Core\Settings\Configuration\PayPalConfiguration; use PsCheckout\Infrastructure\Action\CustomerNotifyActionInterface; +use PsCheckout\Infrastructure\Adapter\ConfigurationInterface; use PsCheckout\Presentation\TranslatorInterface; use Psr\Log\LoggerInterface; @@ -42,6 +44,9 @@ class OrderCreationExceptionHandlerTest extends TestCase /** @var CustomerNotifyActionInterface&\PHPUnit\Framework\MockObject\MockObject */ private $customerNotifyAction; + /** @var ConfigurationInterface&\PHPUnit\Framework\MockObject\MockObject */ + private $configuration; + protected function setUp(): void { parent::setUp(); @@ -53,11 +58,13 @@ protected function setUp(): void $this->logger = $this->createMock(LoggerInterface::class); $this->customerNotifyAction = $this->createMock(CustomerNotifyActionInterface::class); + $this->configuration = $this->createMock(ConfigurationInterface::class); $this->handler = new OrderCreationExceptionHandler( $this->translator, $this->logger, - $this->customerNotifyAction + $this->customerNotifyAction, + $this->configuration ); } @@ -338,4 +345,60 @@ public function testHandleOrderCreateExceptionReturns500ForUnknownException(): v $this->assertFalse($result['status']); $this->assertSame('Something went wrong', $result['body']['error']['message']); } + + public function testShopNotRegisteredInMduReturnsPoliteMessageAndLogsExplicitError(): void + { + $exception = new PsCheckoutException( + 'Shop is not registered in the PrestaShop Checkout services.', + PsCheckoutException::SHOP_NOT_REGISTERED_IN_MDU + ); + + $this->logger->expects($this->never())->method('notice'); + $this->logger->expects($this->once())->method('error')->with( + $this->stringContains('not registered in the PrestaShop Checkout services') + ); + $this->configuration->expects($this->once())->method('set')->with( + PayPalConfiguration::PS_CHECKOUT_SHOP_NOT_REGISTERED_IN_MDU, + '1' + ); + + /** @var array{httpCode: int, status: bool, body: array{error: array{message: string}}} $result */ + $result = $this->handler->handleOrderCreateException($exception, null); + + $this->assertSame(500, $result['httpCode']); + $this->assertFalse($result['status']); + $this->assertSame( + 'This payment method is temporarily unavailable, please choose another one.', + $result['body']['error']['message'] + ); + } + + public function testShopNotRegisteredInMduDoesNotNotifyCustomerService(): void + { + $exception = new PsCheckoutException( + 'Shop is not registered in the PrestaShop Checkout services.', + PsCheckoutException::SHOP_NOT_REGISTERED_IN_MDU + ); + + $this->customerNotifyAction->expects($this->never())->method('execute'); + $this->configuration->method('set')->willReturn(true); + + $this->handler->handleOrderCreateException($exception, null); + } + + public function testShopNotRegisteredInMduPersistsFlagRegardlessOfFundingSource(): void + { + $exception = new PsCheckoutException( + 'Shop is not registered in the PrestaShop Checkout services.', + PsCheckoutException::SHOP_NOT_REGISTERED_IN_MDU + ); + + $this->configuration->expects($this->once())->method('set')->with( + PayPalConfiguration::PS_CHECKOUT_SHOP_NOT_REGISTERED_IN_MDU, + '1' + )->willReturn(true); + $this->logger->method('error'); + + $this->handler->handleOrderCreateException($exception, 'paypal'); + } } diff --git a/core/tests/phpunit-integration.xml b/core/tests/phpunit-integration.xml index ed2fdf6d8..8b1a3e141 100644 --- a/core/tests/phpunit-integration.xml +++ b/core/tests/phpunit-integration.xml @@ -3,6 +3,7 @@ xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" bootstrap="bootstrap-integration.php" colors="true" + stderr="true" executionOrder="random" beStrictAboutChangesToGlobalState="true" beStrictAboutResourceUsageDuringSmallTests="true" diff --git a/ps17/config/front/handler.yml b/ps17/config/front/handler.yml index 0bc75c5fb..5315bd681 100644 --- a/ps17/config/front/handler.yml +++ b/ps17/config/front/handler.yml @@ -20,6 +20,7 @@ services: - '@PsCheckout\Module\Presentation\Translator' - '@Psr\Log\LoggerInterface' - '@PsCheckout\Infrastructure\Action\CustomerNotifyAction' + - '@PsCheckout\Infrastructure\Adapter\Configuration' PsCheckout\Core\PayPal\Refund\Exception\Handler\RefundExceptionHandler: class: PsCheckout\Core\PayPal\Refund\Exception\Handler\RefundExceptionHandler diff --git a/ps17/ps_checkout.php b/ps17/ps_checkout.php index c6b7b3589..9f00f8e9e 100644 --- a/ps17/ps_checkout.php +++ b/ps17/ps_checkout.php @@ -240,9 +240,14 @@ public function getContent() } } + /** @var Configuration $configuration */ + $configuration = $this->getService(Configuration::class); + $shopNotRegisteredInMdu = (bool) $configuration->get(PayPalConfiguration::PS_CHECKOUT_SHOP_NOT_REGISTERED_IN_MDU); + $this->context->smarty->assign([ 'requiredDependencies' => $requiredDependencies, 'hasRequiredDependencies' => $hasRequiredDependencies, + 'shopNotRegisteredInMdu' => $shopNotRegisteredInMdu, ]); return $this->display(__FILE__, 'views/templates/admin/configuration.tpl'); diff --git a/ps17/translations/de.php b/ps17/translations/de.php index 0c614454d..419ff1a52 100644 --- a/ps17/translations/de.php +++ b/ps17/translations/de.php @@ -315,3 +315,6 @@ $_MODULE['<{ps_checkout}prestashop>translator_d74dc4730c60108b5245dd5852ed20b8'] = 'Diese Zahlungsmethode ist für internationale Transaktionen nicht verfügbar. Bitte versuchen Sie eine andere Zahlungsmethode.'; $_MODULE['<{ps_checkout}prestashop>translator_6000b48fba6aa3541fef1b45dee3275f'] = 'Das Transaktionslimit wurde überschritten. Bitte versuchen Sie einen kleineren Betrag oder eine andere Zahlungsmethode.'; $_MODULE['<{ps_checkout}prestashop>translator_f04233142f9f1d876c8d2539ad65dade'] = 'Die Zahlung kann derzeit nicht verarbeitet werden. Bitte kontaktieren Sie unseren Kundenservice.'; +$_MODULE['<{ps_checkout}prestashop>configuration_a56b2a00cf5a5d064ba5cda91b756da5'] = 'PayPal-Zahlungen sind derzeit gesperrt.'; +$_MODULE['<{ps_checkout}prestashop>configuration_b4d2f434d0f642613efa63e50f079ffd'] = 'Dieser Shop ist nicht bei den PrestaShop Checkout-Diensten registriert. PayPal-Zahlungen können erst verarbeitet werden, wenn das Problem behoben ist. Bitte überprüfen Sie Ihre Modulkonfiguration und registrieren Sie sich gegebenenfalls neu.'; +$_MODULE['<{ps_checkout}prestashop>configuration_d3d2e617335f08df83599665eef8a418'] = 'Schließen'; diff --git a/ps17/translations/en.php b/ps17/translations/en.php index 60e700ccb..9b763df87 100644 --- a/ps17/translations/en.php +++ b/ps17/translations/en.php @@ -315,3 +315,6 @@ $_MODULE['<{ps_checkout}prestashop>translator_d74dc4730c60108b5245dd5852ed20b8'] = 'This payment method is not available for international transactions. Please try another payment method.'; $_MODULE['<{ps_checkout}prestashop>translator_6000b48fba6aa3541fef1b45dee3275f'] = 'The transaction limit has been exceeded. Please try a smaller amount or another payment method.'; $_MODULE['<{ps_checkout}prestashop>translator_f04233142f9f1d876c8d2539ad65dade'] = 'Payment cannot be processed at the moment. Please contact our customer service.'; +$_MODULE['<{ps_checkout}prestashop>configuration_a56b2a00cf5a5d064ba5cda91b756da5'] = 'PayPal payments are currently blocked.'; +$_MODULE['<{ps_checkout}prestashop>configuration_b4d2f434d0f642613efa63e50f079ffd'] = 'This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary.'; +$_MODULE['<{ps_checkout}prestashop>configuration_d3d2e617335f08df83599665eef8a418'] = 'Close'; diff --git a/ps17/translations/es.php b/ps17/translations/es.php index 150dab6aa..6919a161f 100644 --- a/ps17/translations/es.php +++ b/ps17/translations/es.php @@ -315,3 +315,6 @@ $_MODULE['<{ps_checkout}prestashop>translator_d74dc4730c60108b5245dd5852ed20b8'] = 'Este método de pago no está disponible para transacciones internacionales. Por favor, pruebe otro método de pago.'; $_MODULE['<{ps_checkout}prestashop>translator_6000b48fba6aa3541fef1b45dee3275f'] = 'Se ha superado el límite de transacción. Por favor, pruebe con un importe menor o con otro método de pago.'; $_MODULE['<{ps_checkout}prestashop>translator_f04233142f9f1d876c8d2539ad65dade'] = 'El pago no puede procesarse en este momento. Por favor, póngase en contacto con nuestro servicio de atención al cliente.'; +$_MODULE['<{ps_checkout}prestashop>configuration_a56b2a00cf5a5d064ba5cda91b756da5'] = 'Los pagos de PayPal están actualmente bloqueados.'; +$_MODULE['<{ps_checkout}prestashop>configuration_b4d2f434d0f642613efa63e50f079ffd'] = 'Esta tienda no está registrada en los servicios de PrestaShop Checkout. Los pagos de PayPal no se pueden procesar hasta que se resuelva el problema. Por favor, compruebe la configuración de su módulo y vuelva a incorporarse si es necesario.'; +$_MODULE['<{ps_checkout}prestashop>configuration_d3d2e617335f08df83599665eef8a418'] = 'Cerrar'; diff --git a/ps17/translations/fr.php b/ps17/translations/fr.php index f3d9c0afe..8f5f6fb62 100644 --- a/ps17/translations/fr.php +++ b/ps17/translations/fr.php @@ -315,3 +315,6 @@ $_MODULE['<{ps_checkout}prestashop>translator_d74dc4730c60108b5245dd5852ed20b8'] = 'Ce moyen de paiement n\'est pas disponible pour les transactions internationales. Veuillez essayer un autre moyen de paiement.'; $_MODULE['<{ps_checkout}prestashop>translator_6000b48fba6aa3541fef1b45dee3275f'] = 'La limite de transaction a été dépassée. Veuillez essayer un montant inférieur ou un autre moyen de paiement.'; $_MODULE['<{ps_checkout}prestashop>translator_f04233142f9f1d876c8d2539ad65dade'] = 'Le paiement ne peut pas être traité pour le moment. Veuillez contacter notre service client.'; +$_MODULE['<{ps_checkout}prestashop>configuration_a56b2a00cf5a5d064ba5cda91b756da5'] = 'Les paiements PayPal sont actuellement bloqués.'; +$_MODULE['<{ps_checkout}prestashop>configuration_b4d2f434d0f642613efa63e50f079ffd'] = 'Cette boutique n\'est pas enregistrée dans les services PrestaShop Checkout. Les paiements PayPal ne peuvent pas être traités jusqu\'à ce que le problème soit résolu. Veuillez vérifier la configuration de votre module et vous réintégrer si nécessaire.'; +$_MODULE['<{ps_checkout}prestashop>configuration_d3d2e617335f08df83599665eef8a418'] = 'Fermer'; diff --git a/ps17/translations/it.php b/ps17/translations/it.php index 82bb5866a..440d4132c 100644 --- a/ps17/translations/it.php +++ b/ps17/translations/it.php @@ -315,3 +315,6 @@ $_MODULE['<{ps_checkout}prestashop>translator_d74dc4730c60108b5245dd5852ed20b8'] = 'Questo metodo di pagamento non è disponibile per le transazioni internazionali. Provi un altro metodo di pagamento.'; $_MODULE['<{ps_checkout}prestashop>translator_6000b48fba6aa3541fef1b45dee3275f'] = 'Il limite di transazione è stato superato. Provi con un importo inferiore o un altro metodo di pagamento.'; $_MODULE['<{ps_checkout}prestashop>translator_f04233142f9f1d876c8d2539ad65dade'] = 'Il pagamento non può essere elaborato in questo momento. Contatti il nostro servizio clienti.'; +$_MODULE['<{ps_checkout}prestashop>configuration_a56b2a00cf5a5d064ba5cda91b756da5'] = 'I pagamenti PayPal sono attualmente bloccati.'; +$_MODULE['<{ps_checkout}prestashop>configuration_b4d2f434d0f642613efa63e50f079ffd'] = 'Questo negozio non è registrato nei servizi PrestaShop Checkout. I pagamenti PayPal non possono essere elaborati finché il problema non viene risolto. Si prega di controllare la configurazione del modulo e di effettuare nuovamente l\'onboarding se necessario.'; +$_MODULE['<{ps_checkout}prestashop>configuration_d3d2e617335f08df83599665eef8a418'] = 'Chiudi'; diff --git a/ps17/translations/nl.php b/ps17/translations/nl.php index 946ca0b6f..915fc5d3a 100644 --- a/ps17/translations/nl.php +++ b/ps17/translations/nl.php @@ -315,3 +315,6 @@ $_MODULE['<{ps_checkout}prestashop>translator_d74dc4730c60108b5245dd5852ed20b8'] = 'Deze betaalmethode is niet beschikbaar voor internationale transacties. Probeer een andere betaalmethode.'; $_MODULE['<{ps_checkout}prestashop>translator_6000b48fba6aa3541fef1b45dee3275f'] = 'De transactielimiet is overschreden. Probeer een kleiner bedrag of een andere betaalmethode.'; $_MODULE['<{ps_checkout}prestashop>translator_f04233142f9f1d876c8d2539ad65dade'] = 'De betaling kan momenteel niet worden verwerkt. Neem contact op met onze klantenservice.'; +$_MODULE['<{ps_checkout}prestashop>configuration_a56b2a00cf5a5d064ba5cda91b756da5'] = 'PayPal-betalingen zijn momenteel geblokkeerd.'; +$_MODULE['<{ps_checkout}prestashop>configuration_b4d2f434d0f642613efa63e50f079ffd'] = 'Deze winkel is niet geregistreerd bij de PrestaShop Checkout-services. PayPal-betalingen kunnen niet worden verwerkt totdat het probleem is opgelost. Controleer uw moduleconfiguratie en registreer opnieuw indien nodig.'; +$_MODULE['<{ps_checkout}prestashop>configuration_d3d2e617335f08df83599665eef8a418'] = 'Sluiten'; diff --git a/ps17/translations/pl.php b/ps17/translations/pl.php index a55e272d4..a3d30933b 100644 --- a/ps17/translations/pl.php +++ b/ps17/translations/pl.php @@ -315,3 +315,6 @@ $_MODULE['<{ps_checkout}prestashop>translator_d74dc4730c60108b5245dd5852ed20b8'] = 'Ta metoda płatności nie jest dostępna dla transakcji międzynarodowych. Spróbuj innej metody płatności.'; $_MODULE['<{ps_checkout}prestashop>translator_6000b48fba6aa3541fef1b45dee3275f'] = 'Limit transakcji został przekroczony. Spróbuj mniejszej kwoty lub innej metody płatności.'; $_MODULE['<{ps_checkout}prestashop>translator_f04233142f9f1d876c8d2539ad65dade'] = 'Płatność nie może być teraz przetworzona. Skontaktuj się z naszym działem obsługi klienta.'; +$_MODULE['<{ps_checkout}prestashop>configuration_a56b2a00cf5a5d064ba5cda91b756da5'] = 'Płatności PayPal są obecnie zablokowane.'; +$_MODULE['<{ps_checkout}prestashop>configuration_b4d2f434d0f642613efa63e50f079ffd'] = 'Ten sklep nie jest zarejestrowany w usługach PrestaShop Checkout. Płatności PayPal nie mogą być przetwarzane do czasu rozwiązania problemu. Sprawdź konfigurację modułu i w razie potrzeby przeprowadź ponowne wdrożenie.'; +$_MODULE['<{ps_checkout}prestashop>configuration_d3d2e617335f08df83599665eef8a418'] = 'Zamknij'; diff --git a/ps17/translations/pt.php b/ps17/translations/pt.php index 79c20c981..63085579a 100644 --- a/ps17/translations/pt.php +++ b/ps17/translations/pt.php @@ -315,3 +315,6 @@ $_MODULE['<{ps_checkout}prestashop>translator_d74dc4730c60108b5245dd5852ed20b8'] = 'Este método de pagamento não está disponível para transações internacionais. Por favor, tente outro método de pagamento.'; $_MODULE['<{ps_checkout}prestashop>translator_6000b48fba6aa3541fef1b45dee3275f'] = 'O limite de transação foi excedido. Por favor, tente um valor menor ou outro método de pagamento.'; $_MODULE['<{ps_checkout}prestashop>translator_f04233142f9f1d876c8d2539ad65dade'] = 'O pagamento não pode ser processado de momento. Por favor, contacte o nosso serviço de apoio ao cliente.'; +$_MODULE['<{ps_checkout}prestashop>configuration_a56b2a00cf5a5d064ba5cda91b756da5'] = 'Os pagamentos PayPal estão atualmente bloqueados.'; +$_MODULE['<{ps_checkout}prestashop>configuration_b4d2f434d0f642613efa63e50f079ffd'] = 'Esta loja não está registada nos serviços PrestaShop Checkout. Os pagamentos PayPal não podem ser processados até que o problema seja resolvido. Por favor, verifique a configuração do seu módulo e volte a integrar-se se necessário.'; +$_MODULE['<{ps_checkout}prestashop>configuration_d3d2e617335f08df83599665eef8a418'] = 'Fechar'; diff --git a/ps17/views/templates/admin/configuration.tpl b/ps17/views/templates/admin/configuration.tpl index 8f8915959..ca2c417cb 100644 --- a/ps17/views/templates/admin/configuration.tpl +++ b/ps17/views/templates/admin/configuration.tpl @@ -16,6 +16,16 @@ * @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 *} +{if isset($shopNotRegisteredInMdu) && $shopNotRegisteredInMdu} + +{/if} + {if isset($hasRequiredDependencies) && !$hasRequiredDependencies}
diff --git a/ps8/config/front/handler.yml b/ps8/config/front/handler.yml index 0bc75c5fb..5315bd681 100644 --- a/ps8/config/front/handler.yml +++ b/ps8/config/front/handler.yml @@ -20,6 +20,7 @@ services: - '@PsCheckout\Module\Presentation\Translator' - '@Psr\Log\LoggerInterface' - '@PsCheckout\Infrastructure\Action\CustomerNotifyAction' + - '@PsCheckout\Infrastructure\Adapter\Configuration' PsCheckout\Core\PayPal\Refund\Exception\Handler\RefundExceptionHandler: class: PsCheckout\Core\PayPal\Refund\Exception\Handler\RefundExceptionHandler diff --git a/ps8/ps_checkout.php b/ps8/ps_checkout.php index d3ea6d424..ccab80cea 100644 --- a/ps8/ps_checkout.php +++ b/ps8/ps_checkout.php @@ -238,9 +238,14 @@ public function getContent() } } + /** @var Configuration $configuration */ + $configuration = $this->getService(Configuration::class); + $shopNotRegisteredInMdu = (bool) $configuration->get(PayPalConfiguration::PS_CHECKOUT_SHOP_NOT_REGISTERED_IN_MDU); + $this->context->smarty->assign([ 'requiredDependencies' => $requiredDependencies, 'hasRequiredDependencies' => $hasRequiredDependencies, + 'shopNotRegisteredInMdu' => $shopNotRegisteredInMdu, ]); return $this->display(__FILE__, 'views/templates/admin/configuration.tpl'); diff --git a/ps8/translations/de-DE/ModulesCheckoutPscheckout.de-DE.xlf b/ps8/translations/de-DE/ModulesCheckoutPscheckout.de-DE.xlf index 712745457..b36bed102 100644 --- a/ps8/translations/de-DE/ModulesCheckoutPscheckout.de-DE.xlf +++ b/ps8/translations/de-DE/ModulesCheckoutPscheckout.de-DE.xlf @@ -2629,6 +2629,21 @@ Die Zahlung kann derzeit nicht verarbeitet werden. Bitte kontaktieren Sie unseren Kundenservice. Line: + + PayPal payments are currently blocked. + PayPal-Zahlungen sind derzeit gesperrt. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Dieser Shop ist nicht bei den PrestaShop Checkout-Diensten registriert. PayPal-Zahlungen können erst verarbeitet werden, wenn das Problem behoben ist. Bitte überprüfen Sie Ihre Modulkonfiguration und registrieren Sie sich gegebenenfalls neu. + Line: + + + Close + Schließen + Line: + diff --git a/ps8/translations/en-US/ModulesCheckoutPscheckout.en-US.xlf b/ps8/translations/en-US/ModulesCheckoutPscheckout.en-US.xlf index 2d86c3447..172d14fa8 100644 --- a/ps8/translations/en-US/ModulesCheckoutPscheckout.en-US.xlf +++ b/ps8/translations/en-US/ModulesCheckoutPscheckout.en-US.xlf @@ -2629,6 +2629,21 @@ Payment cannot be processed at the moment. Please contact our customer service. Line: + + PayPal payments are currently blocked. + PayPal payments are currently blocked. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Line: + + + Close + Close + Line: + diff --git a/ps8/translations/es-ES/ModulesCheckoutPscheckout.es-ES.xlf b/ps8/translations/es-ES/ModulesCheckoutPscheckout.es-ES.xlf index 86457f315..17784c7b0 100644 --- a/ps8/translations/es-ES/ModulesCheckoutPscheckout.es-ES.xlf +++ b/ps8/translations/es-ES/ModulesCheckoutPscheckout.es-ES.xlf @@ -2629,6 +2629,21 @@ El pago no puede procesarse en este momento. Por favor, póngase en contacto con nuestro servicio de atención al cliente. Line: + + PayPal payments are currently blocked. + Los pagos de PayPal están actualmente bloqueados. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Esta tienda no está registrada en los servicios de PrestaShop Checkout. Los pagos de PayPal no se pueden procesar hasta que se resuelva el problema. Por favor, compruebe la configuración de su módulo y vuelva a incorporarse si es necesario. + Line: + + + Close + Cerrar + Line: + diff --git a/ps8/translations/fr-FR/ModulesCheckoutPscheckout.fr-FR.xlf b/ps8/translations/fr-FR/ModulesCheckoutPscheckout.fr-FR.xlf index a94d264f0..bef8ab15a 100644 --- a/ps8/translations/fr-FR/ModulesCheckoutPscheckout.fr-FR.xlf +++ b/ps8/translations/fr-FR/ModulesCheckoutPscheckout.fr-FR.xlf @@ -2629,6 +2629,21 @@ Le paiement ne peut pas être traité pour le moment. Veuillez contacter notre service client. Line: + + PayPal payments are currently blocked. + Les paiements PayPal sont actuellement bloqués. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Cette boutique n'est pas enregistrée dans les services PrestaShop Checkout. Les paiements PayPal ne peuvent pas être traités jusqu'à ce que le problème soit résolu. Veuillez vérifier la configuration de votre module et vous réintégrer si nécessaire. + Line: + + + Close + Fermer + Line: + diff --git a/ps8/translations/it-IT/ModulesCheckoutPscheckout.it-IT.xlf b/ps8/translations/it-IT/ModulesCheckoutPscheckout.it-IT.xlf index f61bc7ab9..0551ca71b 100644 --- a/ps8/translations/it-IT/ModulesCheckoutPscheckout.it-IT.xlf +++ b/ps8/translations/it-IT/ModulesCheckoutPscheckout.it-IT.xlf @@ -2629,6 +2629,21 @@ Il pagamento non può essere elaborato in questo momento. Contatti il nostro servizio clienti. Line: + + PayPal payments are currently blocked. + I pagamenti PayPal sono attualmente bloccati. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Questo negozio non è registrato nei servizi PrestaShop Checkout. I pagamenti PayPal non possono essere elaborati finché il problema non viene risolto. Si prega di controllare la configurazione del modulo e di effettuare nuovamente l'onboarding se necessario. + Line: + + + Close + Chiudi + Line: + diff --git a/ps8/translations/nl-NL/ModulesCheckoutPscheckout.nl-NL.xlf b/ps8/translations/nl-NL/ModulesCheckoutPscheckout.nl-NL.xlf index 48073c1b6..bf61ab64f 100644 --- a/ps8/translations/nl-NL/ModulesCheckoutPscheckout.nl-NL.xlf +++ b/ps8/translations/nl-NL/ModulesCheckoutPscheckout.nl-NL.xlf @@ -2629,6 +2629,21 @@ De betaling kan momenteel niet worden verwerkt. Neem contact op met onze klantenservice. Line: + + PayPal payments are currently blocked. + PayPal-betalingen zijn momenteel geblokkeerd. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Deze winkel is niet geregistreerd bij de PrestaShop Checkout-services. PayPal-betalingen kunnen niet worden verwerkt totdat het probleem is opgelost. Controleer uw moduleconfiguratie en registreer opnieuw indien nodig. + Line: + + + Close + Sluiten + Line: + diff --git a/ps8/translations/pl-PL/ModulesCheckoutPscheckout.pl-PL.xlf b/ps8/translations/pl-PL/ModulesCheckoutPscheckout.pl-PL.xlf index 2e06fe145..ef3b28a1b 100644 --- a/ps8/translations/pl-PL/ModulesCheckoutPscheckout.pl-PL.xlf +++ b/ps8/translations/pl-PL/ModulesCheckoutPscheckout.pl-PL.xlf @@ -2629,6 +2629,21 @@ Płatność nie może być teraz przetworzona. Skontaktuj się z naszym działem obsługi klienta. Line: + + PayPal payments are currently blocked. + Płatności PayPal są obecnie zablokowane. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Ten sklep nie jest zarejestrowany w usługach PrestaShop Checkout. Płatności PayPal nie mogą być przetwarzane do czasu rozwiązania problemu. Sprawdź konfigurację modułu i w razie potrzeby przeprowadź ponowne wdrożenie. + Line: + + + Close + Zamknij + Line: + diff --git a/ps8/translations/pt-PT/ModulesCheckoutPscheckout.pt-PT.xlf b/ps8/translations/pt-PT/ModulesCheckoutPscheckout.pt-PT.xlf index 6226d7385..135d25f35 100644 --- a/ps8/translations/pt-PT/ModulesCheckoutPscheckout.pt-PT.xlf +++ b/ps8/translations/pt-PT/ModulesCheckoutPscheckout.pt-PT.xlf @@ -2629,6 +2629,21 @@ O pagamento não pode ser processado de momento. Por favor, contacte o nosso serviço de apoio ao cliente. Line: + + PayPal payments are currently blocked. + Os pagamentos PayPal estão atualmente bloqueados. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Esta loja não está registada nos serviços PrestaShop Checkout. Os pagamentos PayPal não podem ser processados até que o problema seja resolvido. Por favor, verifique a configuração do seu módulo e volte a integrar-se se necessário. + Line: + + + Close + Fechar + Line: + diff --git a/ps8/views/templates/admin/configuration.tpl b/ps8/views/templates/admin/configuration.tpl index 8f8915959..ca2c417cb 100644 --- a/ps8/views/templates/admin/configuration.tpl +++ b/ps8/views/templates/admin/configuration.tpl @@ -16,6 +16,16 @@ * @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 *} +{if isset($shopNotRegisteredInMdu) && $shopNotRegisteredInMdu} + +{/if} + {if isset($hasRequiredDependencies) && !$hasRequiredDependencies}
diff --git a/ps9/config/front/handler.yml b/ps9/config/front/handler.yml index 0bc75c5fb..5315bd681 100644 --- a/ps9/config/front/handler.yml +++ b/ps9/config/front/handler.yml @@ -20,6 +20,7 @@ services: - '@PsCheckout\Module\Presentation\Translator' - '@Psr\Log\LoggerInterface' - '@PsCheckout\Infrastructure\Action\CustomerNotifyAction' + - '@PsCheckout\Infrastructure\Adapter\Configuration' PsCheckout\Core\PayPal\Refund\Exception\Handler\RefundExceptionHandler: class: PsCheckout\Core\PayPal\Refund\Exception\Handler\RefundExceptionHandler diff --git a/ps9/ps_checkout.php b/ps9/ps_checkout.php index 1ee7d50d8..77322fcee 100644 --- a/ps9/ps_checkout.php +++ b/ps9/ps_checkout.php @@ -235,9 +235,14 @@ public function getContent() } } + /** @var Configuration $configuration */ + $configuration = $this->getService(Configuration::class); + $shopNotRegisteredInMdu = (bool) $configuration->get(PayPalConfiguration::PS_CHECKOUT_SHOP_NOT_REGISTERED_IN_MDU); + $this->context->smarty->assign([ 'requiredDependencies' => $requiredDependencies, 'hasRequiredDependencies' => $hasRequiredDependencies, + 'shopNotRegisteredInMdu' => $shopNotRegisteredInMdu, ]); return $this->display(__FILE__, 'views/templates/admin/configuration.tpl'); diff --git a/ps9/translations/de-DE/ModulesCheckoutPscheckout.de-DE.xlf b/ps9/translations/de-DE/ModulesCheckoutPscheckout.de-DE.xlf index 712745457..b36bed102 100644 --- a/ps9/translations/de-DE/ModulesCheckoutPscheckout.de-DE.xlf +++ b/ps9/translations/de-DE/ModulesCheckoutPscheckout.de-DE.xlf @@ -2629,6 +2629,21 @@ Die Zahlung kann derzeit nicht verarbeitet werden. Bitte kontaktieren Sie unseren Kundenservice. Line: + + PayPal payments are currently blocked. + PayPal-Zahlungen sind derzeit gesperrt. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Dieser Shop ist nicht bei den PrestaShop Checkout-Diensten registriert. PayPal-Zahlungen können erst verarbeitet werden, wenn das Problem behoben ist. Bitte überprüfen Sie Ihre Modulkonfiguration und registrieren Sie sich gegebenenfalls neu. + Line: + + + Close + Schließen + Line: + diff --git a/ps9/translations/en-US/ModulesCheckoutPscheckout.en-US.xlf b/ps9/translations/en-US/ModulesCheckoutPscheckout.en-US.xlf index 2d86c3447..172d14fa8 100644 --- a/ps9/translations/en-US/ModulesCheckoutPscheckout.en-US.xlf +++ b/ps9/translations/en-US/ModulesCheckoutPscheckout.en-US.xlf @@ -2629,6 +2629,21 @@ Payment cannot be processed at the moment. Please contact our customer service. Line: + + PayPal payments are currently blocked. + PayPal payments are currently blocked. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Line: + + + Close + Close + Line: + diff --git a/ps9/translations/es-ES/ModulesCheckoutPscheckout.es-ES.xlf b/ps9/translations/es-ES/ModulesCheckoutPscheckout.es-ES.xlf index 86457f315..17784c7b0 100644 --- a/ps9/translations/es-ES/ModulesCheckoutPscheckout.es-ES.xlf +++ b/ps9/translations/es-ES/ModulesCheckoutPscheckout.es-ES.xlf @@ -2629,6 +2629,21 @@ El pago no puede procesarse en este momento. Por favor, póngase en contacto con nuestro servicio de atención al cliente. Line: + + PayPal payments are currently blocked. + Los pagos de PayPal están actualmente bloqueados. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Esta tienda no está registrada en los servicios de PrestaShop Checkout. Los pagos de PayPal no se pueden procesar hasta que se resuelva el problema. Por favor, compruebe la configuración de su módulo y vuelva a incorporarse si es necesario. + Line: + + + Close + Cerrar + Line: + diff --git a/ps9/translations/fr-FR/ModulesCheckoutPscheckout.fr-FR.xlf b/ps9/translations/fr-FR/ModulesCheckoutPscheckout.fr-FR.xlf index a94d264f0..bef8ab15a 100644 --- a/ps9/translations/fr-FR/ModulesCheckoutPscheckout.fr-FR.xlf +++ b/ps9/translations/fr-FR/ModulesCheckoutPscheckout.fr-FR.xlf @@ -2629,6 +2629,21 @@ Le paiement ne peut pas être traité pour le moment. Veuillez contacter notre service client. Line: + + PayPal payments are currently blocked. + Les paiements PayPal sont actuellement bloqués. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Cette boutique n'est pas enregistrée dans les services PrestaShop Checkout. Les paiements PayPal ne peuvent pas être traités jusqu'à ce que le problème soit résolu. Veuillez vérifier la configuration de votre module et vous réintégrer si nécessaire. + Line: + + + Close + Fermer + Line: + diff --git a/ps9/translations/it-IT/ModulesCheckoutPscheckout.it-IT.xlf b/ps9/translations/it-IT/ModulesCheckoutPscheckout.it-IT.xlf index f61bc7ab9..0551ca71b 100644 --- a/ps9/translations/it-IT/ModulesCheckoutPscheckout.it-IT.xlf +++ b/ps9/translations/it-IT/ModulesCheckoutPscheckout.it-IT.xlf @@ -2629,6 +2629,21 @@ Il pagamento non può essere elaborato in questo momento. Contatti il nostro servizio clienti. Line: + + PayPal payments are currently blocked. + I pagamenti PayPal sono attualmente bloccati. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Questo negozio non è registrato nei servizi PrestaShop Checkout. I pagamenti PayPal non possono essere elaborati finché il problema non viene risolto. Si prega di controllare la configurazione del modulo e di effettuare nuovamente l'onboarding se necessario. + Line: + + + Close + Chiudi + Line: + diff --git a/ps9/translations/nl-NL/ModulesCheckoutPscheckout.nl-NL.xlf b/ps9/translations/nl-NL/ModulesCheckoutPscheckout.nl-NL.xlf index 48073c1b6..bf61ab64f 100644 --- a/ps9/translations/nl-NL/ModulesCheckoutPscheckout.nl-NL.xlf +++ b/ps9/translations/nl-NL/ModulesCheckoutPscheckout.nl-NL.xlf @@ -2629,6 +2629,21 @@ De betaling kan momenteel niet worden verwerkt. Neem contact op met onze klantenservice. Line: + + PayPal payments are currently blocked. + PayPal-betalingen zijn momenteel geblokkeerd. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Deze winkel is niet geregistreerd bij de PrestaShop Checkout-services. PayPal-betalingen kunnen niet worden verwerkt totdat het probleem is opgelost. Controleer uw moduleconfiguratie en registreer opnieuw indien nodig. + Line: + + + Close + Sluiten + Line: + diff --git a/ps9/translations/pl-PL/ModulesCheckoutPscheckout.pl-PL.xlf b/ps9/translations/pl-PL/ModulesCheckoutPscheckout.pl-PL.xlf index 2e06fe145..ef3b28a1b 100644 --- a/ps9/translations/pl-PL/ModulesCheckoutPscheckout.pl-PL.xlf +++ b/ps9/translations/pl-PL/ModulesCheckoutPscheckout.pl-PL.xlf @@ -2629,6 +2629,21 @@ Płatność nie może być teraz przetworzona. Skontaktuj się z naszym działem obsługi klienta. Line: + + PayPal payments are currently blocked. + Płatności PayPal są obecnie zablokowane. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Ten sklep nie jest zarejestrowany w usługach PrestaShop Checkout. Płatności PayPal nie mogą być przetwarzane do czasu rozwiązania problemu. Sprawdź konfigurację modułu i w razie potrzeby przeprowadź ponowne wdrożenie. + Line: + + + Close + Zamknij + Line: + diff --git a/ps9/translations/pt-PT/ModulesCheckoutPscheckout.pt-PT.xlf b/ps9/translations/pt-PT/ModulesCheckoutPscheckout.pt-PT.xlf index 6226d7385..135d25f35 100644 --- a/ps9/translations/pt-PT/ModulesCheckoutPscheckout.pt-PT.xlf +++ b/ps9/translations/pt-PT/ModulesCheckoutPscheckout.pt-PT.xlf @@ -2629,6 +2629,21 @@ O pagamento não pode ser processado de momento. Por favor, contacte o nosso serviço de apoio ao cliente. Line: + + PayPal payments are currently blocked. + Os pagamentos PayPal estão atualmente bloqueados. + Line: + + + This shop is not registered in the PrestaShop Checkout services. PayPal payments cannot be processed until the issue is resolved. Please check your module configuration and re-onboard if necessary. + Esta loja não está registada nos serviços PrestaShop Checkout. Os pagamentos PayPal não podem ser processados até que o problema seja resolvido. Por favor, verifique a configuração do seu módulo e volte a integrar-se se necessário. + Line: + + + Close + Fechar + Line: + diff --git a/ps9/views/templates/admin/configuration.tpl b/ps9/views/templates/admin/configuration.tpl index 8f8915959..ca2c417cb 100644 --- a/ps9/views/templates/admin/configuration.tpl +++ b/ps9/views/templates/admin/configuration.tpl @@ -16,6 +16,16 @@ * @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 *} +{if isset($shopNotRegisteredInMdu) && $shopNotRegisteredInMdu} + +{/if} + {if isset($hasRequiredDependencies) && !$hasRequiredDependencies}