PHPackages                             utanvet-ellenor/connector-magento - 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. utanvet-ellenor/connector-magento

ActiveMagento2-module[Payment Processing](/categories/payments)

utanvet-ellenor/connector-magento
=================================

Utánvét Ellenőr Magento 2 connector: filter payment methods based on customer reputation and send order outcome signals on status changes.

1.0.0(2mo ago)01MITPHP

Since Feb 18Pushed 2mo agoCompare

[ Source](https://github.com/utanvet-ellenor/connector-magento)[ Packagist](https://packagist.org/packages/utanvet-ellenor/connector-magento)[ RSS](/packages/utanvet-ellenor-connector-magento/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (2)Used By (0)

Utanvet Ellenor Connector for Magento 2
=======================================

[](#utanvet-ellenor-connector-for-magento-2)

Magento 2 module that integrates the Utanvet Ellenor risk check into checkout payment filtering and sends order outcome signals after status changes.

Features
--------

[](#features)

- Filters available payment methods during checkout based on Utanvet Ellenor `sendRequest()` response.
- Sends `sendSignal()` outcome events on configured order status transitions.
- Saves guest email early during one-page checkout flows to avoid missing email in risk checks.
- Supports multiple checkout implementations (Luma, Hyva Checkout, common one-step checkouts) without checkout-specific module toggles.

How Payment Filtering Works
---------------------------

[](#how-payment-filtering-works)

`Plugin/Payment/MethodListPlugin.php` intercepts `MethodList::getAvailableMethods()`.

1. If module is disabled, quote is missing, or no managed methods are configured: no filtering.
2. Module calls `Model/Service/RequestService::sendRequest($quote)`.
3. If no valid API response arrives: no filtering (safe fallback).
4. If `result.blocked` is `true`: configured `managed_methods` are removed.
5. If `result.blocked` is `false`: configured `fallback_methods` are removed.

This means:

- "managed methods" are shown only for non-blocked customers.
- "fallback methods" are shown only for blocked customers.

How Outcome Signaling Works
---------------------------

[](#how-outcome-signaling-works)

`Observer/OrderStatusSignalObserver.php` listens to `sales_order_save_after`.

- Signal is sent only when status actually changes.
- Positive/negative status lists are configurable.
- If a status exists in both lists, negative outcome (`-1`) wins.

Guest Email Autosave (Checkout)
-------------------------------

[](#guest-email-autosave-checkout)

The module injects `view/frontend/web/js/guest-email-autosave.js` via `view/frontend/layout/default.xml`.

What it does:

- Runs only in one-page checkout contexts.
- Explicitly skips `multishipping` checkout.
- Watches email inputs (`input`, `change`, `blur`) and dynamic DOM updates.
- Debounces requests and deduplicates already-saved values.
- Saves email through custom REST endpoint using checkout session.
- Triggers payment-info refresh only when needed, with dedupe to avoid double calls when checkout already refreshes itself.

Custom REST API Endpoints
-------------------------

[](#custom-rest-api-endpoints)

Defined in `etc/webapi.xml`:

- `PUT /V1/utanvetellenor/guest-email`
    - Saves guest email for current checkout session quote.
    - Service: `UtanvetEllenor\ConnectorMagento\Api\GuestEmailManagementInterface::setForCurrentQuote`
- `PUT /V1/utanvetellenor/guest-carts/:cartId/email`
    - Saves guest email by masked cart id.
    - Service: `UtanvetEllenor\ConnectorMagento\Api\GuestEmailManagementInterface::set`

Both endpoints are `anonymous` resources and return `bool`.

Admin Configuration
-------------------

[](#admin-configuration)

Path: `Stores -> Configuration -> Sales -> Utanvet Ellenor`

Config key prefix: `utanvetellenor/general/*`

- `enabled`
- `public_api_key`
- `private_api_key` (encrypted in config storage)
- `sandbox`
- `threshold` (float between `-1` and `1`)
- `managed_methods`
- `fallback_methods`
- `positive_statuses`
- `negative_statuses`
- `logging_enabled` (default scope)

Logging
-------

[](#logging)

- File: `var/log/utanvetellenor.log`
- Logger level: `info` and above.
- Controlled by `logging_enabled` config.

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

[](#installation)

Example (composer-based):

```
composer require utanvet-ellenor/connector-magento
bin/magento module:enable UtanvetEllenor_ConnectorMagento
bin/magento setup:upgrade
bin/magento cache:flush
```

If your deployment mode requires static assets:

```
bin/magento setup:static-content:deploy -f
```

Compatibility Notes
-------------------

[](#compatibility-notes)

- Designed for Magento 2.4.x.
- Uses `utanvet-ellenor/client-php` (`^2.1`).
- Checkout autosave logic is frontend-agnostic, but still depends on checkout rendering an email input field.

Current Behavior and Limits
---------------------------

[](#current-behavior-and-limits)

- If request/signal API keys are missing or invalid, external calls are skipped safely.
- If Utanvet Ellenor request fails or returns error, payment methods are not filtered (safe fallback).
- No response cache layer is currently active in this module version.

Development Pointers
--------------------

[](#development-pointers)

Main classes:

- `Model/Service/RequestService.php`
- `Plugin/Payment/MethodListPlugin.php`
- `Observer/OrderStatusSignalObserver.php`
- `Model/Service/SignalService.php`
- `Model/GuestEmailManagement.php`
- `view/frontend/web/js/guest-email-autosave.js`

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance83

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

Unknown

Total

1

Last Release

89d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/475b12cf596e61729b485c9bafc8b064fc45290ee24636f9870f20b6fb9dd1c7?d=identicon)[iam@ottoradics.com](/maintainers/iam@ottoradics.com)

---

Top Contributors

[![Saboteur777](https://avatars.githubusercontent.com/u/9061795?v=4)](https://github.com/Saboteur777 "Saboteur777 (14 commits)")

### Embed Badge

![Health badge](/badges/utanvet-ellenor-connector-magento/health.svg)

```
[![Health](https://phpackages.com/badges/utanvet-ellenor-connector-magento/health.svg)](https://phpackages.com/packages/utanvet-ellenor-connector-magento)
```

###  Alternatives

[adyen/module-payment

Official Magento2 Plugin to connect to Payment Service Provider Adyen.

1663.0M10](/packages/adyen-module-payment)[checkoutcom/magento2

Checkout.com Payment Gateway for Magento 2

34263.8k1](/packages/checkoutcom-magento2)

PHPackages © 2026

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