breadfinance / magento-v2-bread
breadfinance/magento-v2-bread
Bread Pay Checkout for Magento 2
Helping retailers acquire and convert more customers.
Bread Pay Features
- Full Funnel. Your shoppers can discover, pre-qualify, and check out from anywhere - your homepage,
category page, product page, cart, or checkout. - Real-Time Decision. Pre-qualification is quick and easy. Let your customers learn
about their purchase power in seconds without ever leaving your site.
Installation
Install using Zip archive
-
Download repository as zip file
-
Unzip contents into
app/code/Bread/BreadCheckoutfolder -
Setup files ( For Canada Merchants )
- Copy file
app/code/Bread/BreadCheckout/etc/adminhtml/system.ca.xmltoapp/code/Bread/BreadCheckout/etc/adminhtml/system.xml - Copy file
app/code/Bread/BreadCheckout/view/adminhtml/web/js/validation.ca.jstoapp/code/Bread/BreadCheckout/view/adminhtml/web/js/validation.js
- Enable module
bin/magento module:enable Bread_BreadCheckout bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy
Install using composer.
-
Navigate to your Magento 2 root folder
-
Install the Bread Checkout module
composer require breadfinance/module-breadcheckout -
For Canada Merchants only
- Copy file
app/code/Bread/BreadCheckout/etc/adminhtml/system.ca.xmltoapp/code/Bread/BreadCheckout/etc/adminhtml/system.xml - Copy file
app/code/Bread/BreadCheckout/view/adminhtml/web/js/validation.ca.jstoapp/code/Bread/BreadCheckout/view/adminhtml/web/js/validation.js
- Enable module
bin/magento module:enable Bread_BreadCheckout bin/magento setup:upgrade bin/magento setup:di:compile bin/magento setup:static-content:deploy
Usage instructions:
For US Merchants
See documentation at https://platform-docs.breadpayments.com/bread-onboarding/docs/magento-2-integration-steps
Contact your Bread Pay representative for login credentials.
For Canada Merchants
See documentation at https://rbcpayplan.readme.io/rbc-onboarding/docs/magento-2-integration-steps
Contact your Payplan representative for login credentials.
Development Environment Setup
This guide sets up a local Magento environment using markshust/docker-magento. Refer to the repository for more details, configuration options, and available commands.
1. Create Project Directory & Download Docker Template
mkdir docker-magento
cd docker-magento
curl -s https://raw.githubusercontent.com/markshust/docker-magento/master/lib/template | bash
2. Configure environment and versions
Open the compose.yaml file and confirm the PHP and DB versions matches your target environment.
For PHP 8.2, ensure the following line is present:
phpfpm:
image: markoshust/magento-php:8.2-fpm-4
For MySQL, ensure compatible version is used. Magento currently (As of 6/2025) supports:
MySQL 8.0
MySQL 5.7
MariaDB 10.2 – 10.6
2a. Trust Internal Root CA (e.g. Netskope) in Container
If you're on a corporate network that intercepts HTTPS traffic (e.g., via Netskope), you may encounter SSL errors like:
curl: (60) SSL certificate problem: self-signed certificate in certificate chain
To fix this, you must import your organization's root certificate into the container.
-
Visit https://github.com in Chrome.
-
Click the padlock icon → "Certificate is valid".
-
In the Certification Path tab, select the top-level certificate (e.g., ca.alliancedata.goskope.com).
-
Click View Certificate → Details → Copy to File.
-
Save as Base-64 encoded X.509 (.CER) — name it netskope_root.cer.
-
Place the file in the project root.
-
Run these commands
docker cp <path-to-downloaded-certificate> phpfpm:/usr/local/share/ca-certificates/netskope_root.crt
docker exec -u 0 -it phpfpm bash
update-ca-certificates
-
This will copy the cert into the phpfpm container and update the container’s trusted certificate store.
-
You should now be able to run bin/download and composer install without SSL errors.
3. Download Magento
Download the Magento version you want (replace 2.4.8 with your desired version):
bin/download 2.4.8
4. Set Up Magento Environment
Run the following commands to complete setup and install sample data:
bin/setup magento.test
bin/magento sampledata:deploy
bin/magento setup:upgrade
Disable Two-Factor Authentication for local development:
bin/composer require markshust/magento2-module-disabletwofactorauth
bin/magento module:enable MarkShust_DisableTwoFactorAuth
bin/magento setup:upgrade
5. Install Bread Magento Extension
Clone the Bread extension into app/code and enable the module:
cd src/app/code
mkdir Bread
cd Bread
git clone [email protected]:getbread/magento-v2-bread.git BreadCheckout
cd ../../../../
bin/magento module:enable Bread_BreadCheckout
bin/magento setup:upgrade
bin/magento cache:flush
Resetting Your Local Magento Environment
To completely remove your local Magento installation and start fresh:
1. Navigate to the root of your Magento project:
cd /path/to/your/magento-docker-dev
2. Run the cleanup script and delete all files (including hidden ones):
bin/removeall
rm -rf .[^.]* *
⚠️ Warning: This will permanently delete all files and directories in the current folder. Make sure you’re in the correct location before running this command.
== Changelog ==
= 2.4.9
- Current release
- Fix checkout issue when payment method is selected first
= 2.4.8
- Add Hyva theme and Hyva Checkout compatibility
- Add CSP (Content Security Policy) whitelist for Bread SDK domains
- Fix SDK loading for stores with strict CSP policies
- Fix PHP 8.4 implicit nullable parameter deprecations
= 2.4.7
- Support PHP 8.4
= 2.4.6
- Support PHP 8.3
= 2.4.5
- Use base_grand_total instead of base_total
- Prevent repeated calls to settle endpoint
= 2.4.4
- Fix error with product custom options
= 2.4.3
- Fix checkout issue with RBC
= 2.4.2
- Allow Submit Order in admin when creating customer cart
= 2.4.1
- Add support for CAD and USD on the same store using currency switcher
= 2.3.11
- Fix discount error when creating Admin cart
= 2.3.10
- Add support for In-store delivery
= 2.3.9
- Add compatibility with Mageplaza OSC
= 2.3.8
- Show billing address in payment method when using Amasty One Step Checkout
= 2.3.7
- Fixed issue with configurable products
= 2.3.6
- Mageplaza One Step Checkout compatibility
= 2.3.5
- Bread platform admin carts support
= 2.3.4
- Category page slow load bug fix
= 2.3.3
- PHP 8.2 comaptibility updates
- Healthcare mode refactor, healthcare checks have been moved to the SDK
- Closed https://github.com/getbread/magento-v2-bread/issues/189
= 2.3.2
- Replaced Zend_Http_Client with Laminas_Http
- Minor bug fixes
= 2.3.1
- ALA button now shows correctly for Bundled products under the view category section
- Fixed the fetch Auth token API end-point
- Extension is now PHP 8.2 compatible
| Version | Stability | QA Status | Compatibility | Released |
|---|---|---|---|---|
| 2.4.9 | stable | Fail | Magento 2.4.7-2.4.8 Details | 2026-05-12 19:02:07 |
| 2.4.8 | stable | Not tested | Not yet tested Details | 2026-02-17 16:21:03 |
| 2.4.6 | stable | Not tested | Not yet tested Details | 2025-06-26 01:53:40 |
| 2.4.5 | stable | Not tested | Not yet tested Details | 2025-03-14 03:04:14 |
| 2.4.4 | stable | Not tested | Not yet tested Details | 2024-09-25 19:45:14 |
| 2.4.3 | stable | Not tested | Not yet tested Details | 2024-08-22 18:34:04 |
| 2.3.11 | stable | Not tested | Not yet tested Details | 2024-03-07 20:46:11 |
| 2.3.7 | stable | Not tested | Not yet tested Details | 2023-08-22 14:26:13 |
| 2.3.6 | stable | Not tested | Not yet tested Details | 2023-08-08 18:14:19 |
| 2.3.5 | stable | Not tested | Not yet tested Details | 2023-06-07 06:46:53 |
| 2.3.4 | stable | Not tested | Not yet tested Details | 2023-05-16 14:51:27 |
| 2.3.3 | stable | Not tested | Not yet tested Details | 2023-05-04 19:40:23 |
| 2.3.2 | stable | Not tested | Not yet tested Details | 2023-04-21 14:15:03 |
| 2.3.1 | stable | Not tested | Not yet tested Details | 2023-04-20 16:46:53 |
| 2.3.0 | stable | Not tested | Not yet tested Details | 2023-02-24 08:48:10 |
| 2.2.1 | stable | Not tested | Not yet tested Details | 2023-02-14 08:53:10 |
| 2.2.0 | stable | Not tested | Not yet tested Details | 2023-02-02 14:16:16 |
| 2.1.9 | stable | Not tested | Not yet tested Details | 2023-01-09 09:04:23 |
| 2.1.8 | stable | Not tested | Not yet tested Details | 2022-12-07 10:04:58 |
| 2.1.7 | stable | Not tested | Not yet tested Details | 2022-11-10 14:35:03 |
| 2.1.6 | stable | Not tested | Not yet tested Details | 2022-11-01 14:29:29 |
| 2.1.5 | stable | Not tested | Not yet tested Details | 2022-10-05 16:41:22 |
| 2.1.4 | stable | Not tested | Not yet tested Details | 2022-09-20 16:17:03 |
| 2.1.3 | stable | Not tested | Not yet tested Details | 2022-08-17 20:25:00 |
| 2.1.2 | stable | Not tested | Not yet tested Details | 2022-07-15 16:15:35 |
| 2.1.1 | stable | Not tested | Not yet tested Details | 2022-07-04 15:08:18 |
| 2.1.0 | stable | Not tested | Not yet tested Details | 2022-06-23 09:11:57 |
| 2.0.2 | stable | Not tested | Not yet tested Details | 2022-06-16 13:56:40 |
| 2.0.1 | stable | Not tested | Not yet tested Details | 2022-06-14 07:28:50 |
| 1.1.19 | stable | Not tested | Not yet tested Details | 2022-05-26 14:44:56 |
| 1.1.18 | stable | Not tested | Not yet tested Details | 2021-11-10 09:57:43 |
| 1.1.17 | stable | Not tested | Not yet tested Details | 2021-03-31 17:13:51 |
| 1.1.16 | stable | Not tested | Not yet tested Details | 2021-01-07 12:56:30 |
| 1.1.15 | stable | Not tested | Not yet tested Details | 2020-10-08 09:22:04 |
| 1.1.13 | stable | Not tested | Not yet tested Details | 2020-02-25 20:16:05 |
| 1.1.12 | stable | Not tested | Not yet tested Details | 2020-01-07 21:50:38 |
| 1.1.11 | stable | Not tested | Not yet tested Details | 2019-10-30 15:54:14 |
| 1.1.10 | stable | Not tested | Not yet tested Details | 2019-09-26 14:44:10 |
| 1.1.9 | stable | Not tested | Not yet tested Details | 2019-09-23 08:55:43 |
| 1.1.8 | stable | Not tested | Not yet tested Details | 2019-09-09 18:56:33 |
| 1.1.7 | stable | Not tested | Not yet tested Details | 2019-08-28 19:34:34 |
| 1.1.6 | stable | Not tested | Not yet tested Details | 2019-08-15 15:19:08 |
| 1.1.5 | stable | Not tested | Not yet tested Details | 2019-07-18 20:25:25 |
| 1.1.4 | stable | Not tested | Not yet tested Details | 2019-05-16 10:36:37 |
| 1.1.3 | stable | Not tested | Not yet tested Details | 2019-04-12 12:17:10 |
| 1.1.2 | stable | Not tested | Not yet tested Details | 2019-03-13 15:09:20 |
| 1.1.1 | stable | Not tested | Not yet tested Details | 2019-02-05 10:15:21 |
| 1.1.0 | stable | Not tested | Not yet tested Details | 2018-12-24 09:07:21 |
| 1.0.10 | stable | Not tested | Not yet tested Details | 2018-11-21 13:51:13 |
| 1.0.9 | stable | Not tested | Not yet tested Details | 2018-11-16 11:47:40 |
| 1.0.8 | stable | Not tested | Not yet tested Details | 2018-10-26 07:33:09 |
| 1.0.7 | stable | Not tested | Not yet tested Details | 2018-09-17 14:28:50 |
| v1.0.6 | stable | Not tested | Not yet tested Details | 2018-08-09 21:16:07 |
| v1.0.5 | stable | Not tested | Not yet tested Details | 2018-07-24 20:21:57 |
| v1.0.4 | stable | Not tested | Not yet tested Details | 2018-06-11 20:57:09 |
Requires 1
| Package | Constraint |
|---|---|
| php | ~8.1.0||~8.2.0||~8.3.0||~8.4.0 |
Suggests 2
| Package | Reason |
|---|---|
| hyva-themes/magento2-default-theme | Required for Hyva theme compatibility |
| hyva-themes/magento2-hyva-checkout | Required for Hyva Checkout integration |
Compatibility
Each Magento release line is installed on its supported PHP versions, then the module is built (DI compilation + static-content deploy) and its unit and integration suites are run. The matrix shows the lines and PHP versions the module is confirmed to install and run on. Code-quality results further down (phpstan, phpcs, …) are reported separately and never affect compatibility.
Code Quality - Static Tests
Checks run directly against the module's source code, independent of any Magento or PHP version: coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity, and a security audit of its declared dependencies. Each runs once.
| Tool | Status | Findings | Summary |
|---|---|---|---|
| PHPCS | Warning | 1015 | 1015 warnings (ruleset: Magento2) — 576 auto-fixable with phpcbf |
| PHPMD | Warning | 113 | 113 rule violations (MissingImport:36, ExcessiveParameterList:13, UndefinedVariable:11, ExcessiveClassComplexity:8, UnusedLocalVariable:8) |
| Cpd | Warning | 8 | 8 duplicated chunks spanning 580 total lines (min-lines=5, min-tokens=70) |
| Composer validate | Info | 1 | valid; 1 advisory note (composer validate --strict) |
| Composer audit | Pass | 0 |
Code Quality - PHPStan
PHPStan type-checks the module's PHP against a real Magento install (so framework and core-module symbols resolve) at the configured gate level. Because the available symbols differ between releases, it runs separately for each Magento and PHP version. The grid below shows the result for each pairing; select one to see its findings. This never affects compatibility.
Tests
Unit and integration suites, run for each applicable Magento and PHP version. A test failure speaks to the module's behaviour, not its compatibility with a Magento line, so it is reported here separately and never reddens the compatibility matrix.
Unit tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
Integration tests
| Magento | PHP 8.2 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
|---|---|---|---|---|
| 2.4.7 | N/A | N/A | ||
| 2.4.8 | N/A | N/A | ||
| 2.4.9 | N/A | N/A |
Turn an existing module into recurring revenue.
If you already maintain a Magento 2 module on GitHub or GitLab, listing it on Packagento takes about five minutes. We mirror your tags, handle distribution signing, and route paid licenses through Stripe Connect, so you can keep shipping the way you already do.