Skip to content

Magento 2

Accept ICEPAY payments in your Magento 2 store using the ICEPAY payment extension.

The ICEPAY for Magento 2 extension connects your Magento store to ICEPAY and adds supported ICEPAY payment methods to your checkout.

This guide explains how to install the extension, connect your ICEPAY merchant, configure your payment methods, and test your checkout before going live.

Before installing the extension, make sure your store meets the following requirements:

  • Magento 2.4.4 or higher
  • PHP 8.1 or higher
  • Composer
  • An ICEPAY Account with access to a merchant

We recommend installing the ICEPAY extension using Composer.

  1. Install the extension

    From the root directory of your Magento installation, run:

    Terminal window
    composer require icepay/magento2
  2. Enable the module

    Enable the ICEPAY payment module:

    Terminal window
    php bin/magento module:enable Icepay_Payment
  3. Update Magento

    Run Magento’s setup upgrade command:

    Terminal window
    php bin/magento setup:upgrade
  4. Clear the cache

    Clear the Magento cache after installation:

    Terminal window
    php bin/magento cache:flush

After installing the extension, connect it to the ICEPAY merchant that will process your payments.

  1. Open the ICEPAY configuration

    Sign in to the Magento Admin and go to Stores → Configuration → Sales → Payment Methods → ICEPAY.

  2. Enter your merchant credentials

    Enter the Merchant ID and Merchant Secret of the ICEPAY merchant you want to connect.

    You can find these credentials in the ICEPAY Portal by opening Merchants and selecting your merchant.

  3. Save the configuration

    Click Save Config to save your ICEPAY settings.

ICEPAY payment methods can be enabled or disabled individually from the Magento configuration.

  1. Open the payment settings

    Go to Stores → Configuration → Sales → Payment Methods → ICEPAY.

  2. Choose your payment methods

    Enable the ICEPAY payment methods you want to offer in your checkout.

  3. Review the payment method settings

    Configure the available settings for each payment method as required for your store.

  4. Save the configuration

    Click Save Config when you’re finished.

The payment methods available to your customers also depend on the payment methods enabled for your ICEPAY merchant.

The Magento 2 extension supports the following ICEPAY payment methods:

  • iDEAL | Wero
  • Cards
  • Bancontact
  • PayPal
  • Online Überweisen
  • EPS

Before accepting real payments, place at least one order while your ICEPAY merchant is in Test mode.

  1. Add a product to your cart

    Go through your Magento storefront as a customer and add a product to the cart.

  2. Proceed to checkout

    Enter the required customer information and select an ICEPAY payment method.

  3. Place the order

    Place the order and continue to the payment page.

  4. Complete the test payment

    In Test mode, select the result you want to simulate on the ICEPAY Payment Page.

  5. Check the Magento order

    In the Magento Admin, go to Sales → Orders, open the order, and verify that its status has been updated correctly.

  6. Check the payment in the ICEPAY Portal

    Open the corresponding test payment in the ICEPAY Portal and verify that its status matches the Magento order.

Once the extension is installed and configured, the payment flow is handled automatically.

  1. The customer places an order

    The customer selects an ICEPAY payment method during the Magento checkout and places the order.

  2. The payment is created

    The extension creates the payment with ICEPAY using the Magento order information.

  3. The customer completes the payment

    The customer is redirected to the appropriate payment page to complete the payment.

  4. Magento receives the payment status

    ICEPAY communicates the payment result back to your store and the extension updates the Magento order accordingly.

You generally do not need to create your own payment redirect or status endpoints when using the Magento 2 extension.

Payment updates and customer redirects happen independently and can arrive in either order. The extension uses the server-side payment update to update the order status.

The ICEPAY extension supports refunds from Magento.

To refund a payment, create a credit memo for the corresponding invoice.

  1. Open the order

    In the Magento Admin, go to Sales → Orders and open the order you want to refund.

  2. Open the invoice

    Open the invoice associated with the payment.

  3. Create a credit memo

    Click Credit Memo and select the products and amount you want to refund.

  4. Submit the refund

    Use the online refund action to submit the refund to ICEPAY.

Depending on the original payment and the amount entered, you can issue a full or partial refund.

Once you’ve successfully tested the integration, you can prepare your store for real payments.

  1. Verify your checkout

    Make sure your enabled payment methods appear correctly and your test orders receive the expected Magento order status.

  2. Submit your merchant for approval

    Your ICEPAY merchant must be approved before it can process real payments.

  3. Switch your merchant to Live mode

    Once approved, change the merchant from Test mode to Live mode in the ICEPAY Portal.

  4. Place a final order

    We recommend placing a small live order to verify the complete payment flow.

Learn more about going live

Prepare to process live payments.

Update the ICEPAY extension using Composer:

Terminal window
composer update icepay/magento2
php bin/magento setup:upgrade
php bin/magento cache:flush

After updating, follow your regular Magento deployment process and verify that the integration works as expected.

ICEPAY payment methods are not visible at checkout

Check that:

  • The ICEPAY module is installed and enabled.
  • The payment method is enabled in Stores → Configuration → Sales → Payment Methods → ICEPAY.
  • The correct ICEPAY merchant is configured.
  • The payment method is enabled for your ICEPAY merchant.
  • Your Magento and PHP versions meet the extension requirements.

Clear the Magento cache after changing the payment configuration:

Terminal window
php bin/magento cache:flush

If the payment method still does not appear, check the Magento logs for related errors.

The payment remains pending

Open the corresponding order in Sales → Orders and review its status history.

Then check the payment in the ICEPAY Portal and compare its status with the Magento order.

If the payment has been completed in ICEPAY but the Magento order has not been updated, contact the ICEPAY team with the order number, payment reference, Merchant ID, and approximate time of the payment.

Do not include your Merchant Secret in a support request.

The customer cannot complete the payment

Confirm that:

  • The correct Merchant ID and Merchant Secret are configured.
  • The ICEPAY merchant is enabled.
  • The selected payment method is available for the merchant.
  • Your Magento store can communicate with ICEPAY.

Check the Magento logs for errors related to the payment request.

If an error is shown during checkout, include the error message when contacting the ICEPAY team.

The payment status in Magento differs from the ICEPAY Portal

Refresh the Magento order and review its status history.

Use the payment details and server-side payment status in the ICEPAY Portal when investigating the payment.

If the statuses remain different, contact the ICEPAY team with the Magento order number, payment reference, Merchant ID, and approximate time of the payment.

The extension does not work after an update

Confirm that your Magento, PHP, and ICEPAY extension versions are compatible.

Check whether the ICEPAY module is enabled:

Terminal window
php bin/magento module:status Icepay_Payment

If the module is disabled, enable it:

Terminal window
php bin/magento module:enable Icepay_Payment

Then run the Magento upgrade and clear the cache:

Terminal window
php bin/magento setup:upgrade
php bin/magento cache:flush

If your deployment process requires it, regenerate compiled code and static content before testing the checkout again.

If the issue continues, check the Magento logs and contact the ICEPAY team with the extension version, Magento version, PHP version, and any relevant error message.

The ICEPAY configuration is not taking effect

Make sure the settings were saved for the correct website or store view.

Then clear the Magento configuration cache:

Terminal window
php bin/magento cache:clean config

Reload the configuration and test the checkout again.

If the problem continues, confirm that no store-level configuration is overriding the value you expect.