prestashopcorp / module-lib-billing
Utility package to retrieve Built for PS context and more
Installs: 17 001
Dependents: 3
Suggesters: 0
Security: 0
Stars: 1
Watchers: 7
Forks: 3
Open Issues: 1
Requires
- php: >=5.6
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.19
- prestashop/php-dev-tools: >=3.0
This package is auto-updated.
Last update: 2025-02-20 15:06:27 UTC
README
Utility package to retrieve Built for PS context and more
Installation
This package is available on Packagist, you can install it via Composer.
composer require prestashopcorp/module-lib-billing
Version Guidance
Register as a service in your PSx container
Beforehand, you must have defined PS Account services
Example :
services: ##################### # PS Billing ps_billings.context_wrapper: class: 'PrestaShopCorp\Billing\Wrappers\BillingContextWrapper' arguments: - '@ps_accounts.facade' - '@builtfor_example.context' - true # if true you are in sandbox mode, if false or empty not in sandbox ps_billings.facade: class: 'PrestaShopCorp\Billing\Presenter\BillingPresenter' arguments: - '@ps_billings.context_wrapper' - '@builtfor_example.module'
How to use it
Presenter
For example in your main module's class getContent
method.
// Load context for PsBilling $billingFacade = $this->getService('ps_billings.facade'); // Remove this if you don't need to set an image $partnerLogo = $this->getLocalPath() . ' views/img/partnerLogo.png'; // Billing Media::addJsDef($billingFacade->present([ 'logo' => $partnerLogo, 'tosLink' => 'https://yoururl/', 'privacyLink' => 'https://yoururl/', 'emailSupport' => 'you@email', ]));
Contribute
Pre-commit Hook: Code Validation with PHP-CS-Fixer
This project uses a pre-commit hook to ensure the code follows the standards defined by PHP-CS-Fixer
. Before each commit, the hook automatically performs a check and blocks the commit if any style issues are detected.
Installation
The hook is automatically installed when you run one of the following commands:
# Install dependencies $ composer install # Update dependencies $ composer update
How It Works
During a commit (git commit), the hook runs:
PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer fix
Troubleshooting
-
Manually reinstall the hook: If the hook is not installed or was removed, you can reinstall it manually by running:
bash scripts/install-hooks.sh
-
Bypass the hook temporarily: If you need to bypass the hook for a specific commit, use the
--no-verify
option:git commit --no-verify
⚠️ Note: Use this option cautiously, as it skips all pre-commit checks.
Automatic tests
Install
Please follow theses steps to launch unit tests
# Needs to have wget, for OS without wget pleae see the official website (or just visit this link) PHP_VERSION=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") if [[ ${PHP_VERSION} -gt "72" ]]; then wget -O phpunit https://phar.phpunit.de/phpunit-9.phar else wget -O phpunit https://phar.phpunit.de/phpunit-8.phar fi chmod +x phpunit # Should display the version ./phpunit --version
Run
./phpunit tests
Introduce a breaking change in module-lib-billing
PrestaShop module system is not able to handle multiple version of the same library.
Here is an example:
- Module A requires the v1 of a libA
- Module B requires the v2 of this same libA
If someone install module A then module B, only the v1 of libA will be loaded for both Module A and Module B.
Workaround
When introducing a breaking change to a class or method signature, you should instead create a new class rather to changing the existing one.
By creating a new class it will force the autoloader to use the last version of the lib.