vipps / module-payment
Vipps MobilePay Payment Module for Magento 2
Payment module for Adobe Commerce / Magento
[image: Support and development by bluemint — module owned by Vipps MobilePay]
This plugin is built and maintained by bluemint and is hosted on GitHub.
For support, email us at [email protected]
💥 Please use the plugin pages on https://developer.vippsmobilepay.com. 💥
Vipps MobilePay offers a familiar and convenient buying experience that can help your customers spend more time shopping and less time checking out.
Vipps and MobilePay are used by large and small companies. From years of shopping safely with Vipps/MobilePay, customers trust their personal information will remain secure. Businesses have the reassurance of our advanced fraud protection and payment protection policy.
About Adobe Commerce (previously called Magento).
This plugin is available for download at
https://github.com/vippsas/vipps-magento/releases.
Documentation
The user guide contains:
See also Frequently asked questions.
Support
Vipps/MobilePay Payment Module for Adobe Commerce is developed by bluemint, and the same developers who made
the Vipps/MobilePay Payment module also help with improvements, maintenance and developer assistance.
If you are having a problem, please make sure that you are using the latest version:
https://github.com/vippsas/vipps-magento/releases
The best way to report a problem (or ask a question) is to use GitHub's built-in "issue" functionality:
Issues or email us at [email protected]
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
3.0.4 - 2026-09-30
Fixed
- Express payments are no longer cancelled while the shopper might still be completing them. The cart
restore was cancelling the monitoring quote whenever the store was visited after leaving for the
payment gateway, which on mobile happens by itself when the browser reloads the site during the
handoff to the app. That took the payment out of the order fetch cron's queue, so no Magento order
could be created once the shopper approved it. The cart is still restored, but the payment is now
left for the cron to resolve. - The cart restore message no longer claims the payment was cancelled when it may still be live, which
prompted shoppers to start a second payment. It now also appears on the AJAX path taken when the
browser returns from the app. - Express shipping options are sent including tax. The excluding-tax figure under-quoted the shopper in
the app and, since the chosen option is added to the authorised amount, could leave it short of the
order total and fail placement. - A payment that never produced an order can now be cancelled, releasing the reserved amount. The
reference identifying the payment was read from the cart, which has already given it up by then, so
the request went out without one and was rejected, leaving the monitoring quote incancel_failed.
It is now read from the monitoring quote, which keeps it for the life of the payment. - One basket can no longer produce two orders. The check for an existing order looked only under the
payment's own reference, so a shopper who started Express twice and approved both payments got two
orders. The surplus payment is now cancelled instead. - Express orders carry the shopper's own postal code. The fallback for a missing one read a key the API
does not return, and the tax module's*placeholder is truthy, so the placeholder passed through
onto the order.
Added
- Payments that 3.0.2 and 3.0.3 cancelled while they were still live are re-checked on upgrade, so an
order is created where the shopper did pay. Covers the last seven days and skips baskets that already
produced an order.
3.0.3 - 2026-06-15
Added
- "Show On Virtual Products" setting for the Express button. When disabled (the default), the Express
shortcut is hidden on product pages for items that don't require shipping (virtual and downloadable),
since express checkout collects a shipping address (VIPPS-451). Reworked from the community
contribution in #180.
3.0.2 - 2026-06-15
Fixed
- Prevent the cart from being emptied when returning to the store via the browser back button after
starting a Vipps/MobilePay Express payment. The pending quote id is stored in a cookie when express
payment is initiated and the cart is restored from it on return (VIPPS-61).
3.0.1 - 2026-06-15
Added
- New Vipps/MobilePay Express button styling for the ePayment flow, with localized button images
(Vipps EN/NO/SE, MobilePay DK/EN/FI) and matching translations (VIPPS-38).
[3.0.0] - 2026-04-03
Added
- Added support for PHP 8.4
- Added new ePayment shipping option display in Vipps Express
- Added payment details message for ePayment
- Added transaction detail capturing for aggregate values
- Updated profiling for ePayment and added Get Payment Details profiler
- Vipps payment in Klarna checkout flow support
Changed
- Vipps now uses the ePayment API for express and payment method flows
| Version | Stability | QA Status | Compatibility | Released |
|---|---|---|---|---|
| 3.0.4 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-10-01 11:28:51 |
| 3.0.3 | stable | Fail | Magento 2.4.7-2.4.8 Details | 2026-06-16 06:59:49 |
| 3.0.2 | stable | Not tested | Not yet tested Details | 2026-06-15 11:36:05 |
| 3.0.1 | stable | Not tested | Not yet tested Details | 2026-06-15 06:06:40 |
| 3.0.0 | stable | Fail | Magento 2.4.7-2.4.9 Details | 2026-04-14 11:21:44 |
| 2.5.1 | stable | Not tested | Not yet tested Details | 2025-11-21 13:37:35 |
| 2.5.0 | stable | Not tested | Not yet tested Details | 2025-04-23 06:47:17 |
| 2.4.50 | stable | Not tested | Not yet tested Details | 2024-07-01 13:32:03 |
| 2.4.49 | stable | Not tested | Not yet tested Details | 2024-06-20 13:30:20 |
| 2.4.48 | stable | Not tested | Not yet tested Details | 2024-06-11 12:56:03 |
| 2.4.47 | stable | Not tested | Not yet tested Details | 2023-10-24 12:02:08 |
| 2.4.45 | stable | Not tested | Not yet tested Details | 2023-04-25 09:18:12 |
| 2.4.44 | stable | Not tested | Not yet tested Details | 2023-04-18 13:32:14 |
| 2.4.43 | stable | Not tested | Not yet tested Details | 2023-03-22 15:35:49 |
| 2.4.42 | stable | Not tested | Not yet tested Details | 2023-03-08 15:28:46 |
| 2.4.41 | stable | Not tested | Not yet tested Details | 2023-01-12 12:08:20 |
| 2.4.40-p2 | stable | Not tested | Not yet tested Details | 2022-11-25 13:42:44 |
| 2.4.40-p1 | stable | Not tested | Not yet tested Details | 2022-11-16 13:01:45 |
| 2.4.39 | stable | Not tested | Not yet tested Details | 2022-11-09 14:09:29 |
| 2.4.38 | stable | Not tested | Not yet tested Details | 2022-11-03 11:31:41 |
| 2.4.37 | stable | Not tested | Not yet tested Details | 2022-11-03 10:13:14 |
| 2.4.36 | stable | Not tested | Not yet tested Details | 2022-10-31 12:58:30 |
| 2.4.34 | stable | Not tested | Not yet tested Details | 2022-10-27 10:37:51 |
| 2.4.35 | stable | Not tested | Not yet tested Details | 2022-10-27 10:36:21 |
| 2.4.33 | stable | Not tested | Not yet tested Details | 2022-10-12 12:50:41 |
| 2.4.32 | stable | Not tested | Not yet tested Details | 2022-10-11 13:06:50 |
| 2.4.31 | stable | Not tested | Not yet tested Details | 2022-09-13 12:13:47 |
| 2.4.30 | stable | Not tested | Not yet tested Details | 2022-08-25 10:05:53 |
| 2.4.29 | stable | Not tested | Not yet tested Details | 2022-08-22 14:37:49 |
| 2.4.28 | stable | Not tested | Not yet tested Details | 2022-06-10 01:25:39 |
| 2.4.26 | stable | Not tested | Not yet tested Details | 2022-05-16 12:02:22 |
| 2.4.25 | stable | Not tested | Not yet tested Details | 2022-05-06 14:37:43 |
| 2.4.24 | stable | Not tested | Not yet tested Details | 2022-04-12 09:46:24 |
| 2.4.23 | stable | Not tested | Not yet tested Details | 2022-03-01 17:24:38 |
| 2.4.22 | stable | Not tested | Not yet tested Details | 2021-09-14 08:37:09 |
| 2.3.22 | stable | Not tested | Not yet tested Details | 2021-09-14 08:36:47 |
| 2.2.19 | stable | Not tested | Not yet tested Details | 2021-09-14 08:35:26 |
| 2.4.21 | stable | Not tested | Not yet tested Details | 2021-09-07 12:22:10 |
| 2.3.21 | stable | Not tested | Not yet tested Details | 2021-09-07 12:21:42 |
| 2.2.18 | stable | Not tested | Not yet tested Details | 2021-09-07 12:21:18 |
| 2.2.17 | stable | Not tested | Not yet tested Details | 2021-08-30 10:08:11 |
| 2.3.20 | stable | Not tested | Not yet tested Details | 2021-08-30 10:07:22 |
| 2.4.20 | stable | Not tested | Not yet tested Details | 2021-08-30 10:06:59 |
| 2.4.19 | stable | Not tested | Not yet tested Details | 2021-08-27 04:54:47 |
| 2.3.19 | stable | Not tested | Not yet tested Details | 2021-08-27 04:54:16 |
| 2.2.16 | stable | Not tested | Not yet tested Details | 2021-08-27 04:53:38 |
| 2.4.18 | stable | Not tested | Not yet tested Details | 2021-08-19 05:06:46 |
| 2.2.15 | stable | Not tested | Not yet tested Details | 2021-06-07 08:32:26 |
| 2.4.17 | stable | Not tested | Not yet tested Details | 2021-06-04 07:38:08 |
| 2.3.18 | stable | Not tested | Not yet tested Details | 2021-06-04 07:37:27 |
| 2.2.14 | stable | Not tested | Not yet tested Details | 2021-05-12 10:51:38 |
| 2.3.17 | stable | Not tested | Not yet tested Details | 2021-05-07 08:41:04 |
| 2.2.13 | stable | Not tested | Not yet tested Details | 2021-05-07 08:40:39 |
| 2.4.16 | stable | Not tested | Not yet tested Details | 2021-04-30 10:34:05 |
| 2.4.15 | stable | Not tested | Not yet tested Details | 2021-04-30 10:28:52 |
| 2.4.14 | stable | Not tested | Not yet tested Details | 2021-04-30 10:18:02 |
| 2.4.13 | stable | Not tested | Not yet tested Details | 2021-04-16 06:42:07 |
| 2.4.12 | stable | Not tested | Not yet tested Details | 2021-04-13 14:26:11 |
| 2.4.10 | stable | Not tested | Not yet tested Details | 2021-04-09 07:12:53 |
| 2.4.9 | stable | Not tested | Not yet tested Details | 2021-03-22 12:58:46 |
| 2.4.8 | stable | Not tested | Not yet tested Details | 2021-03-19 08:22:39 |
| 2.3.16 | stable | Not tested | Not yet tested Details | 2021-02-19 12:32:49 |
| 2.4.7 | stable | Not tested | Not yet tested Details | 2021-02-11 17:08:38 |
| 2.3.15 | stable | Not tested | Not yet tested Details | 2021-01-14 08:20:46 |
| 2.4.6 | stable | Not tested | Not yet tested Details | 2021-01-12 16:06:00 |
| 2.3.14 | stable | Not tested | Not yet tested Details | 2021-01-12 12:44:46 |
| 2.2.12 | stable | Not tested | Not yet tested Details | 2020-12-03 13:31:21 |
| 2.3.13 | stable | Not tested | Not yet tested Details | 2020-11-24 15:10:58 |
| 2.3.12 | stable | Not tested | Not yet tested Details | 2020-11-24 09:32:25 |
| 2.3.11 | stable | Not tested | Not yet tested Details | 2020-11-24 09:24:45 |
| 2.2.11 | stable | Not tested | Not yet tested Details | 2020-11-23 09:08:43 |
| 2.4.5 | stable | Not tested | Not yet tested Details | 2020-11-23 08:52:44 |
| 2.3.10 | stable | Not tested | Not yet tested Details | 2020-11-23 08:31:38 |
| 2.4.4 | stable | Not tested | Not yet tested Details | 2020-11-12 11:57:03 |
| 2.3.9 | stable | Not tested | Not yet tested Details | 2020-11-12 10:53:47 |
| 2.3.8 | stable | Not tested | Not yet tested Details | 2020-11-11 17:02:30 |
| 2.4.3 | stable | Not tested | Not yet tested Details | 2020-11-04 13:21:58 |
| 2.4.2 | stable | Not tested | Not yet tested Details | 2020-10-19 12:20:17 |
| 2.4.1 | stable | Not tested | Not yet tested Details | 2020-09-30 21:06:18 |
| 2.3.7 | stable | Not tested | Not yet tested Details | 2020-09-09 16:44:16 |
| 2.4.0 | stable | Not tested | Not yet tested Details | 2020-09-09 16:34:28 |
| 2.3.6 | stable | Not tested | Not yet tested Details | 2020-06-09 14:35:05 |
| 2.3.5 | stable | Not tested | Not yet tested Details | 2020-06-05 09:51:56 |
| 2.3.4 | stable | Not tested | Not yet tested Details | 2020-06-04 13:28:28 |
| 2.3.3 | stable | Not tested | Not yet tested Details | 2020-04-22 15:31:44 |
| 2.3.2 | stable | Not tested | Not yet tested Details | 2020-04-07 12:17:19 |
| 2.3.1 | stable | Not tested | Not yet tested Details | 2020-03-06 18:41:57 |
| 2.3.0 | stable | Not tested | Not yet tested Details | 2020-03-05 15:19:49 |
| 1.3.11 | stable | Not tested | Not yet tested Details | 2020-02-03 16:21:29 |
| 1.2.11 | stable | Not tested | Not yet tested Details | 2020-02-03 16:19:58 |
| 1.3.10 | stable | Not tested | Not yet tested Details | 2020-01-30 13:08:07 |
| 1.2.10 | stable | Not tested | Not yet tested Details | 2020-01-30 13:06:53 |
| 1.2.9 | stable | Not tested | Not yet tested Details | 2019-09-09 08:33:11 |
| 1.3.8 | stable | Not tested | Not yet tested Details | 2019-09-09 08:31:27 |
| 1.2.8 | stable | Not tested | Not yet tested Details | 2019-05-28 16:02:43 |
| 1.3.7 | stable | Not tested | Not yet tested Details | 2019-05-28 15:55:16 |
| 1.2.7 | stable | Not tested | Not yet tested Details | 2019-05-22 09:58:14 |
| 1.3.6 | stable | Not tested | Not yet tested Details | 2019-05-22 09:57:52 |
| 1.3.5 | stable | Not tested | Not yet tested Details | 2019-04-23 15:56:53 |
| 1.2.6 | stable | Not tested | Not yet tested Details | 2019-04-23 15:55:50 |
| 1.3.4 | stable | Not tested | Not yet tested Details | 2019-04-22 09:02:24 |
| 1.2.5 | stable | Not tested | Not yet tested Details | 2019-04-22 08:18:01 |
| 1.3.3 | stable | Not tested | Not yet tested Details | 2019-04-11 08:01:41 |
| 1.2.4 | stable | Not tested | Not yet tested Details | 2019-04-11 07:59:03 |
| 1.3.2 | stable | Not tested | Not yet tested Details | 2019-04-03 12:21:05 |
| 1.2.3 | stable | Not tested | Not yet tested Details | 2019-02-25 14:31:40 |
| 1.3.1 | stable | Not tested | Not yet tested Details | 2019-02-25 14:20:33 |
| 1.2.2 | stable | Not tested | Not yet tested Details | 2019-02-13 15:39:22 |
| 1.2.1 | stable | Not tested | Not yet tested Details | 2019-02-07 18:35:30 |
| 1.0.14 | stable | Not tested | Not yet tested Details | 2018-12-12 14:27:04 |
| 1.0.13 | stable | Not tested | Not yet tested Details | 2018-12-10 18:08:23 |
| 1.0.12 | stable | Not tested | Not yet tested Details | 2018-11-27 17:19:40 |
| 1.0.11 | stable | Not tested | Not yet tested Details | 2018-11-13 17:59:54 |
| 1.0.10 | stable | Not tested | Not yet tested Details | 2018-10-19 15:07:35 |
| 1.0.9 | stable | Not tested | Not yet tested Details | 2018-10-16 15:41:49 |
| 1.0.8 | stable | Not tested | Not yet tested Details | 2018-09-06 14:24:16 |
| 1.0.7 | stable | Not tested | Not yet tested Details | 2018-09-04 14:44:54 |
| 1.0.6 | stable | Not tested | Not yet tested Details | 2018-09-04 14:00:40 |
| 1.0.5 | stable | Not tested | Not yet tested Details | 2018-08-15 12:48:26 |
| 1.0.4 | stable | Not tested | Not yet tested Details | 2018-08-10 13:56:30 |
| 1.0.3 | stable | Not tested | Not yet tested Details | 2018-08-02 14:54:15 |
| 1.0.2 | stable | Not tested | Not yet tested Details | 2018-07-26 15:41:06 |
| 1.0.1 | stable | Not tested | Not yet tested Details | 2018-07-20 16:51:09 |
| 1.0.0 | stable | Not tested | Not yet tested Details | 2018-07-14 06:57:56 |
Requires 5
| Package | Constraint |
|---|---|
| magento/framework | 101.0.*|103.0.* |
| magento/module-checkout | 100.2.*|100.4.* |
| magento/module-payment | 100.2.*|100.4.* |
| magento/module-sales | 101.0.*|103.0.* |
| psr/log | ^1.0||^2.0||^3.0 |
Requires-dev 3
| Package | Constraint |
|---|---|
| phpmd/phpmd | @stable |
| phpunit/phpunit | ^9.0 |
| squizlabs/php_codesniffer | @stable |
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
Advisory checks against the module's source. Static analysis runs once across the whole module; PHPStan re-runs per Magento + PHP version because resolvable symbols differ between releases. These NEVER affect the Compatibility badge. A phpcs finding can't make a module incompatible.
Static analysis
Coding standards (phpcs), mess detection (phpmd), copy-pasted code (cpd), PHP cross-version compatibility, composer.json validity. Each runs once for the whole module.
| Tool | Status | Findings | Summary |
|---|---|---|---|
| PHPCS | Fail | 558 | 1 error, 557 warnings (ruleset: Magento2), 259 auto-fixable with phpcbf |
| PHPMD | Warning | 95 | 95 rule violations (UnusedPrivateField:31, UnusedFormalParameter:30, MissingImport:26, UnusedPrivateMethod:5, UnusedLocalVariable:2) |
| Cpd | Pass | 0 | |
| Composer validate | Info | 1 | valid; 1 advisory note (composer validate --strict) |
PHPStan
Type-checks the module's PHP against a real Magento install at the configured gate level. Re-runs per Magento and PHP version because resolvable symbols differ between releases.
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
Security
Security checks run directly against the module: an audit of its declared dependencies for known vulnerabilities (composer audit) and a scan of its source for malware and web-shell signatures. Each runs once. A malware detection fails the version outright.
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.