PHPackages                             pimcore/payment-provider-hobex - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. pimcore/payment-provider-hobex

ActivePimcore-bundle[Payment Processing](/categories/payments)

pimcore/payment-provider-hobex
==============================

Pimcore Payment Provider - Hobex

v2.0.0(2y ago)08985[1 PRs](https://github.com/pimcore/payment-provider-hobex/pulls)GPL-3.0+PHP

Since Feb 3Pushed 1mo ago6 watchersCompare

[ Source](https://github.com/pimcore/payment-provider-hobex)[ Packagist](https://packagist.org/packages/pimcore/payment-provider-hobex)[ RSS](/packages/pimcore-payment-provider-hobex/feed)WikiDiscussions 2026.x Synced 1mo ago

READMEChangelog (5)Dependencies (3)Versions (16)Used By (0)

Pimcore E-Commerce Framework Payment Provider - Hobex
=====================================================

[](#pimcore-e-commerce-framework-payment-provider---hobex)

### Official Hobex Documentation

[](#official-hobex-documentation)

- [Getting Started](https://hobex.docs.oppwa.com/)
- [COPYandPAY Integration Guide](https://hobex.docs.oppwa.com/tutorials/integration-guide)
- [API Reference](https://hobex.docs.oppwa.com/reference/parameters)

Requirements
------------

[](#requirements)

Hobex does not require an additional PHP-SDK. You just need to get a test account from your integration partner.

Installation
------------

[](#installation)

Install latest version with composer:

```
composer require pimcore/payment-provider-hobex
```

Enable bundle via console or extensions manager in Pimcore backend:

```
php bin/console pimcore:bundle:enable PimcorePaymentProviderHobexBundle
php bin/console pimcore:bundle:install PimcorePaymentProviderHobexBundle
```

Configuration
-------------

[](#configuration)

The Payment Manager is responsible for implementation of different Payment Provider to integrate them into the framework.

For more information about Payment Manager, see [Payment Manager Docs](../13_Checkout_Manager/07_Integrating_Payment.md).

Configure payment provider in the `pimcore_ecommerce_config.payment_manager` config section:

```
pimcore_ecommerce_framework:

    # ...

    # add hobex to the set of active payment providers
    payment_manager:
        providers:
            hobex_testprovider:
                provider_id: Pimcore\Bundle\EcommerceFrameworkBundle\PaymentManager\Payment\Hobex
                profile: sandbox
                profiles:
                    sandbox:
                        entityId: '8a829418530df1d201531299e097175c'
                        authorizationBearer: 'OGE4Mjk0MTg1MzBkZjFkMjAxNTMxMjk5ZTJjMTE3YWF8ZzJnU3BnS2hLUw=='
                        testSystem: true
                        payment_methods:
                            - VISA
                            - MASTER
                            - SOFORTUEBERWEISUNG
                            - SEPA

    # ...
    # configure the payment provider in the checkout manager
    checkout_manager:
        tenants:
            _defaults:
                payment:
                    provider: hobex_testprovider
            default: ~
```

Payment Information: Order payment section "Payment Informations" stores information about every payment trial by Customer.

Add additional fields in "PaymentInfo" fieldcollection, so that Order Manager stores information in Order object: [![PaymentInfo Additional Data](./doc/img/hobex_paymentinfo.png)](./doc/img/hobex_paymentinfo.png)

Hobex is compatible with Pimcore 10, so for Pimcore 6 you may have to add the following line to your config.yml:

```
    - { resource: '@PimcoreEcommerceFrameworkBundle/Resources/config/v7_configurations.yml' }
```

Implementation
--------------

[](#implementation)

CheckoutController.php

```
  /**
     * Payment step of the checkout.
     * This is where the payment widget is initialized and displayed.
     * @Route("/checkout/payment")
     * @param Request $request
     */
    public function payment(Request $request, Factory $factory) {
        $cartManager = $factory->getCartManager();
        $orderManager = $factory->getOrderManager();

        $cart = $cartManager->getCartByName('cart');
        $checkoutManager = Factory::getInstance()->getCheckoutManager($cart);

        $order = $orderManager->getOrCreateOrderFromCart($cart);

        $requestConfig = new HobexRequest();
        $requestConfig
            ->setShopperResultUrl($this->generateUrl('app_webshop_payment_result'))
            ->setLocale('de')
        ;

        /** @var SnippetResponse $paymentInitResponse */
        $paymentInitResponse = $checkoutManager->startOrderPaymentWithPaymentProvider($requestConfig);

        return $this->renderTemplate('Webshop/Checkout/payment.html.twig', [
            'cart' => $cart,
            'order' => $order,
            'renderedForm' => $paymentInitResponse->getSnippet()
        ]);
    }

    /**
     * Final step of the example payment checkout.
     * This is called then the payment succeeded and the order got confirmed.
     * @Route("/checkout/success")
     * @param Request $request
     */
    public function success(Request $request) {
        // needs some implementation. Typically a success page is rendered.
    }
```

app/Resources/views/Webshop/Checkout/payment.html.twig:

```
{% extends ':Layout:default.html.twig' %}
{% block content %}

                💰 Example Checkout / Payment

                Order:

                    ID: {{ order.id }}
                    Number: {{ order.ordernumber }}

                {{ #payment widget: }}
                {{ renderedForm | raw }}

                ⏎ Back To Cart

{% endblock %}
```

PaymentController:

```
    /**
     * In the payment controller the response from Hobex payments is handled.
     * This action is typically called when the payment succeeded.
     * @Route("/checkout/payment/result")
     * @param Request $request
     */
    public function result(Request $request, Factory $factory) {

        $cartManager = $factory->getCartManager();
        $orderManager = $factory->getOrderManager();

        $paymentProvider = Factory::getInstance()->getPaymentManager()->getProvider("hobex_testprovider");

        $order = Factory::getInstance()->getCommitOrderProcessor()->handlePaymentResponseAndCommitOrderPayment(
            $request->query->all(),
            $paymentProvider
        );

        if ($order->getOrderState() == AbstractOrder::ORDER_STATE_COMMITTED) {
            return $this->redirectToRoute('app_webshop_checkout_success');
        } else {
            $errorMessage = 'Something wrent wrong with the payment: '.$order->getLastPaymentInfo()->getMessage());
            // error handling ...
            return $this->redirectToRoute('app_webshop_checkout_step1');
        }

    }
```

Implementation
--------------

[](#implementation-1)

see

If you want to use webhooks, you have to configure the webhook secret:

```
pimcore_ecommerce_framework:

    # ...

    # add hobex to the set of active payment providers
    payment_manager:
        providers:
            hobex_testprovider:
                provider_id: Pimcore\Bundle\EcommerceFrameworkBundle\PaymentManager\Payment\Hobex
                profile: sandbox
                profiles:
                    sandbox:
                        entityId: '8a829418530df1d201531299e097175c'
                        authorizationBearer: 'OGE4Mjk0MTg1MzBkZjFkMjAxNTMxMjk5ZTJjMTE3YWF8ZzJnU3BnS2hLUw=='
                        # optional: if you configured webhook, you need to configure the secret here
                        webhookSecret: '353FADF1340CA4AFA7052AD8BAAEA788E177C9D9CFC8271294F53CA83F4DB4AD'
                        testSystem: true
                        payment_methods:
                            - VISA
                            - MASTER
                            - SOFORTUEBERWEISUNG
                            - SEPA

```

Example of controller/Action to handle the webhook response:

PaymentController:

```
    /**
     * In the payment controller the webhook response from Hobex payments is handled.
     * @Route("/checkout/payment/webhook")
     * @param Request $request
     */
    public function webhookAction(Request $request){
        $paymentProvider = Factory::getInstance()->getPaymentManager()->getProvider("hobex_testprovider");
        $order = Factory::getInstance()->getCommitOrderProcessor()->handlePaymentResponseAndCommitOrderPayment(
                ['base64Content' => $request->getContent(), 'authTag' => $request->headers->get('x-authentication-tag'),
                 'initVector' => $request->headers->get('x-initialization-vector')],
                $paymentProvider
            );
        return new Response('ok',200);

    }
```

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance59

Moderate activity, may be stable

Popularity18

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~267 days

Recently: every ~297 days

Total

8

Last Release

51d ago

Major Versions

v1.0.3 → v2.0.02024-04-29

2.1.x-dev → 2026.x-dev2026-03-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/6e1692ffeae5f1a8303ef97a15b7cfb8bf9e1d810640b1be297e725030474ebd?d=identicon)[brusch](/maintainers/brusch)

![](https://www.gravatar.com/avatar/72f3c0cb1c22bda196b2f1112fbfc3c51baadc279ac5b4af74d038b17f44212d?d=identicon)[dvesh3](/maintainers/dvesh3)

---

Top Contributors

[![dvesh3](https://avatars.githubusercontent.com/u/5137917?v=4)](https://github.com/dvesh3 "dvesh3 (11 commits)")[![berfinyuksel](https://avatars.githubusercontent.com/u/99557970?v=4)](https://github.com/berfinyuksel "berfinyuksel (7 commits)")[![fashxp](https://avatars.githubusercontent.com/u/8792145?v=4)](https://github.com/fashxp "fashxp (5 commits)")[![kingjia90](https://avatars.githubusercontent.com/u/6014195?v=4)](https://github.com/kingjia90 "kingjia90 (4 commits)")[![bluvulture](https://avatars.githubusercontent.com/u/7668379?v=4)](https://github.com/bluvulture "bluvulture (3 commits)")[![brusch](https://avatars.githubusercontent.com/u/142037?v=4)](https://github.com/brusch "brusch (2 commits)")[![markus-moser](https://avatars.githubusercontent.com/u/4639428?v=4)](https://github.com/markus-moser "markus-moser (1 commits)")[![pimcore-deployments](https://avatars.githubusercontent.com/u/71881008?v=4)](https://github.com/pimcore-deployments "pimcore-deployments (1 commits)")

---

Tags

payment-integrationpimcore

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/pimcore-payment-provider-hobex/health.svg)

```
[![Health](https://phpackages.com/badges/pimcore-payment-provider-hobex/health.svg)](https://phpackages.com/packages/pimcore-payment-provider-hobex)
```

###  Alternatives

[omnipay/paypal

PayPal gateway for Omnipay payment processing library

3156.8M53](/packages/omnipay-paypal)[eduardokum/laravel-boleto

Biblioteca com boletos para o laravel

626351.9k2](/packages/eduardokum-laravel-boleto)[tbbc/money-bundle

This is a Symfony bundle that integrates moneyphp/money library (Fowler pattern): https://github.com/moneyphp/money.

1961.9M](/packages/tbbc-money-bundle)[2checkout/2checkout-php

2Checkout PHP Library

83740.3k2](/packages/2checkout-2checkout-php)[smhg/sepa-qr-data

Generate QR code data for SEPA payments

61717.2k5](/packages/smhg-sepa-qr-data)[dnetix/redirection

Library to connect with PlacetoPay Checkout service

17123.3k2](/packages/dnetix-redirection)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
