breadfinance / magento-v2-bread

breadfinance/magento-v2-bread

magento2-module Compatibility: 2.4.7-2.4.8 Code Quality: Fail Tests: N/A Security: Pass MIT

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

  1. Download repository as zip file

  2. Unzip contents into app/code/Bread/BreadCheckout folder

  3. Setup files ( For Canada Merchants )

  • Copy file app/code/Bread/BreadCheckout/etc/adminhtml/system.ca.xml to app/code/Bread/BreadCheckout/etc/adminhtml/system.xml
  • Copy file app/code/Bread/BreadCheckout/view/adminhtml/web/js/validation.ca.js to app/code/Bread/BreadCheckout/view/adminhtml/web/js/validation.js
  1. 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.

  1. Navigate to your Magento 2 root folder

  2. Install the Bread Checkout module

    composer require breadfinance/module-breadcheckout
    
  3. For Canada Merchants only

  • Copy file app/code/Bread/BreadCheckout/etc/adminhtml/system.ca.xml to app/code/Bread/BreadCheckout/etc/adminhtml/system.xml
  • Copy file app/code/Bread/BreadCheckout/view/adminhtml/web/js/validation.ca.js to app/code/Bread/BreadCheckout/view/adminhtml/web/js/validation.js
  1. 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

= 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
Versions
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.

Compatibility matrix (Magento × PHP)
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 Pass Pass
2.4.8 Pass Pass
2.4.9 Pass not tested

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.

Static code-quality results
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.

PHPStan results by Magento and PHP version
Magento PHP 8.2 PHP 8.3 PHP 8.4 PHP 8.5
2.4.7 392 392
2.4.8 393 393
2.4.9 393 N/A

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

Unit tests results by Magento and PHP version
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

Integration tests results by Magento and PHP version
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
License
MIT
Make it pay

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.