mahocommerce / module-netseasy
Nexi Nets Easy payment gateway integration for Maho
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:maho-module
pkg:composer/mahocommerce/module-netseasy
Requires
- php: >=8.3
This package is auto-updated.
Last update: 2026-02-19 21:09:08 UTC
README
Nexi Nets Easy (formerly DIBS) payment gateway integration for Maho Commerce.
Accept payments via cards, wallets, and local payment methods across the Nordics and Europe — directly in your Maho store.
Features
- Two checkout flows — Embedded (on-site widget) or Hosted (redirect to Nets payment page)
- Authorize & Capture — Choose between authorize-only or immediate capture
- Full order lifecycle — Capture, refund (partial and full), and void operations from the Maho admin
- Webhook support — Real-time async notifications for payment events
- Line item details — Optionally send cart items to Nets for enhanced payment pages
- Multi-currency — Supports DKK, SEK, NOK, EUR, USD, GBP, CHF, and PLN
- Multi-locale — Nets checkout widget automatically displayed in the customer's language (15 locales)
- Merchant consumer data — Pre-fill customer info from Maho or let Nets collect it
- Country restrictions — Allow payments from all or specific countries
- Debug logging — Toggle detailed API logging to
var/log/netseasy.log
Requirements
- PHP >= 8.3
- Maho Commerce
- A Nexi Nets Easy merchant account
Installation
composer require mahocommerce/module-netseasy
Clear the cache after installation:
php maho cache:flush
Configuration
Navigate to System > Configuration > Payment Methods > Nets Easy in the Maho admin panel.
| Setting | Description | Default |
|---|---|---|
| Enabled | Activate the payment method | No |
| Title | Payment method name shown at checkout | Nets Easy |
| Environment | Test or Live mode | Test |
| Test Secret Key | API secret key for the test environment | — |
| Test Checkout Key | Checkout key for the test environment | — |
| Live Secret Key | API secret key for the live environment | — |
| Live Checkout Key | Checkout key for the live environment | — |
| Checkout Flow | Embedded (on-site) or Hosted (redirect) | Embedded |
| Payment Action | Authorize Only or Authorize and Capture | Authorize Only |
| Terms URL | Link to your store's terms and conditions | — |
| Webhook Secret | Token to verify incoming webhook requests from Nets | — |
| Merchant Handles Consumer Data | Send customer data from the store instead of letting Nets collect it | Yes |
| Send Order Items | Include line item details in the payment request | Yes |
| Applicable Countries | All countries or specific countries only | All |
| Minimum Order Total | Minimum order amount for this method | — |
| Maximum Order Total | Maximum order amount for this method | — |
| Debug | Log API requests/responses to var/log/netseasy.log |
No |
| Sort Order | Display position among payment methods | 100 |
Webhooks
To receive real-time payment notifications, configure webhooks in your Nets Easy merchant portal with the following URL:
https://your-store.com/netseasy/webhook/index
Set the Authorization header to match the Webhook Secret configured in Maho.
The module handles these webhook events:
payment.checkout.completedpayment.charge.created.v2payment.refund.completedpayment.cancel.createdpayment.reservation.created.v2
Checkout Flows
Embedded Checkout
The customer stays on your store. A JavaScript widget is loaded inline on the checkout page, providing a seamless payment experience without redirects.
Hosted Payment Page
The customer is redirected to a Nets-hosted payment page. After completing or cancelling payment, they are returned to your store.
How It Works
- Order placement — A Nets payment session is created via the API and a tracking record is stored in the
netseasy_paymenttable - Payment — The customer completes payment via the embedded widget or hosted page
- Return — The customer is returned to the store, and the payment status is verified via the API
- Webhooks — Asynchronous notifications confirm the final payment state
- Admin operations — Capture, refund, and void are available from the order view in the admin panel
Supported Currencies
DKK, SEK, NOK, EUR, USD, GBP, CHF, PLN
Checkout Widget Locales
The Nets Easy checkout widget (embedded or hosted) is automatically displayed in the customer's language based on the store locale. Supported widget languages:
Swedish, Norwegian, Danish, Finnish, German (DE/AT/CH), English (GB/US), Dutch, French (FR/BE), Spanish, Italian, Polish
License
This module is licensed under the Open Software License v3.0.