prestashop/prestashop-accounts-installer
Utility package to install `ps_accounts` module or present data to trigger manual install from psx configuration page.
Maintainers
Package info
github.com/PrestaShopCorp/prestashop-accounts-installer
pkg:composer/prestashop/prestashop-accounts-installer
Requires
- php: >=5.6
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- fzaninotto/faker: ^1.9
- phpunit/phpunit: ^5.7
- prestashop/php-dev-tools: 3.*
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT 0ad934bc540558db3944a9a1e5b08b852bb46e8b
This package is auto-updated.
Last update: 2026-05-24 11:47:01 UTC
README
Utility package to install ps_accounts module or present data to trigger manual install from psx configuration page.
This module also give you access to ps_accounts services through its module service container dealing with the installation status of the module.
Compatibility Matrix
We aims to follow partially the Prestashop compatibility charts
| ps_account version | Prestashop Version | PHP Version | Event Bus installation |
|---|---|---|---|
| 6.x | >=8.0.0 | ≥7.2 || ≤8.1 | Yes |
| 5.x | >=1.7.0 || <8.0.0 | ≥5.6 || ≤7.4 | Yes |
| 5.x | >=1.6.1 || <1.7.0 | ≥5.6 || ≤7.4 | No |
Installation
This package is available on Packagist, you can install it via Composer.
composer require prestashop/prestashop-accounts-installer
Register as a service in your PSx container (recommended)
Example :
services: <your_module>.ps_accounts_installer: class: 'PrestaShop\PsAccountsInstaller\Installer\Installer' arguments: - '5.0.0' <your_module>.ps_accounts_facade: class: 'PrestaShop\PsAccountsInstaller\Installer\Facade\PsAccounts' arguments: - '@<your_module>.ps_accounts_installer'
The name under which you register both services in your service container must be unique to avoid collision with other modules including it.
The 5.0.0 specified argument is the minimum required ps_account module version. You should modify it if you need another version.
How to use it
Installer
In your module main class install method. (Will only do something on PrestaShop 1.7 and above)
$this->getService('ps_accounts.installer')->install();
Presenter
For example in your main module's class getContent method.
Media::addJsDef([ 'contextPsAccounts' => $this->getService('ps_accounts.facade') ->getPsAccountsPresenter() ->present($this->name), ]);
This presenter will serve as default minimal presenter and switch to PsAccountsPresenter data when ps_accounts module is installed.
Accessing PsAccounts Services
Installer class includes accessors to get instances of services from PsAccounts Module :
- getPsAccountsService
- getPsBillingService
The methods above will throw an exception in case ps_accounts module is not installed or not in the required version.
Example :
use PrestaShop\PsAccountsInstaller\Installer\Exception\ModuleVersionException; use PrestaShop\PsAccountsInstaller\Installer\Exception\ModuleNotInstalledException; try { $psAccountsService = $this->getService('ps_accounts.facade')->getPsAccountsService(); $shopJwt = $psAccountsService->getOrRefreshToken(); $shopUuid = $psAccountsService->getShopUuid(); $apiUrl = $psAccountsService->getAdminAjaxUrl(); // Your code here } catch (ModuleNotInstalledException $e) { // You handle exception here } catch (ModuleVersionException $e) { // You handle exception here }
