LokiCheckout_Bambora

This integration is available in the paid plans for the Loki Checkout. Support for this integration is provided as is, because we are depending upon the original vendor as well. High priority support is only available on an hourly basis.
module.integration
PHP 8.2 - 8.5
Magento 2.4.6 - 2.4.9
CSP Yes
Unit Tests 9
Integration Tests 7
Functional Tests 5
PHPStan 4
Magento PHPCS 6
License OSL-3.0
Latest Release 0.0.1

This Magento 2 module is an add-on package to the LokiCheckout. It makes the Bambora (Worldline Online Checkout) payment method of bambora/module-payment-magento2 (Bambora_Online) work in the Loki Checkout.

Installation

Install this package via composer:

composer require loki-checkout/magento2-bambora

Next, enable this module:

bin/magento module:enable LokiCheckout_Bambora

How it works

After the order is placed, the Loki Checkout asks Bambora_Online to create a checkout session and redirects the shopper to the hosted Bambora payment window. The return URLs are handled by Bambora_Online itself:

  • bambora/checkout/accept: shows the success page;
  • bambora/checkout/cancel: cancels the order and restores the cart (also used when Bambora rejects the session, together with the error message);
  • bambora/checkout/callback: authorizes the payment and updates the order status, invoice and order email.

Only the redirect mode of the payment window is supported (the overlay mode needs the Luma JavaScript of Bambora_Online).

Configuration

Configure the method under Stores > Configuration > Sales > Payment Methods:

| Path | Value | |---|---| | payment/bambora_checkout/active | 1 | | payment/bambora_checkout/merchantnumber | Merchant number | | payment/bambora_checkout/accesstoken | Access token | | payment/bambora_checkout/secrettoken | Secret token (stored encrypted) | | payment/bambora_checkout/md5key | Optional MD5 key, to validate callbacks |

Bambora only creates a checkout session when the accept, decline and callback URLs belong to a domain that is whitelisted in the Bambora merchant account. Otherwise every payment fails with No valid domains found for the following URLs (see var/log/bambora.log). The callback URL must be reachable by Bambora: without it, the order is not marked as paid.

Testing against the Bambora sandbox

The sandbox tests (Test/Integration/Sandbox and Test/Playwright/sandbox-test.spec.ts) read BAMBORA_TEST_MERCHANT_ID, BAMBORA_TEST_ACCESS_TOKEN and BAMBORA_TEST_SECRET_TOKEN from the environment, or from .env.loki-functional-tests in the Magento root. The sandbox only offers payment types for DKK, so these tests switch the base currency to DKK. They are skipped (with the reason) when the credentials are missing, or when Bambora does not accept the domain of the shop under test.

Current status

pipeline success

Support

For getting support, create an Issue under the following project URL:

https://gitlab.yireo.com/loki-checkout/LokiCheckout_Bambora.git

Module Dependencies

The following dependencies are declared in the module its `etc/module.xml` file:

Bambora_Online LokiCheckout_Core Loki_Base Loki_Components Loki_CssUtils Loki_FieldComponents Magento_AdminNotification Magento_Backend Magento_Catalog Magento_CatalogInventory Magento_Checkout Magento_CheckoutAgreements Magento_Cms Magento_Config Magento_Csp Magento_Customer Magento_Directory Magento_Eav Magento_Indexer Magento_Newsletter Magento_Payment Magento_Quote Magento_Rule Magento_Sales Magento_SalesRule Magento_SalesSequence Magento_Shipping Magento_Store Magento_Tax Magento_Theme Magento_Ui Magento_User Magento_Variable Magento_Vault Magento_Widget Yireo_CspUtilities
Composer details
Magento module name
LokiCheckout_Bambora
Composer name
loki-checkout/magento2-bambora
Composer version
No release yet
Default branch
main
Requirements
bambora/module-payment-magento2: ^4.0
ext-pcre: *
loki-checkout/magento2-core: ^2.0
magento/framework: ^103.0
magento/module-sales: ^103.0
magento/module-store: ^101.0
php: >=8.2 <8.6
psr/log: ^1.0 || ^2.0 || ^3.0
Releases
0.0.1 06 November 2026
Changelog

[0.0.1] - 29 October 2026

  • Initial release

Last modified: October 29, 2026