PHPackages                             vanilo/netopia - 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. vanilo/netopia

ActiveLibrary[Payment Processing](/categories/payments)

vanilo/netopia
==============

Netopia Payment Gateway Support for Vanilo (Laravel)

3.3.0(1mo ago)14.9kMITPHPPHP ^8.3CI passing

Since Mar 2Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/vanilophp/netopia)[ Packagist](https://packagist.org/packages/vanilo/netopia)[ RSS](/packages/vanilo-netopia/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (14)Versions (17)Used By (0)

Netopia Payment Gateway Support for Vanilo
==========================================

[](#netopia-payment-gateway-support-for-vanilo)

[![Tests](https://camo.githubusercontent.com/f56a9cf1efd05036b3495f4f94ac915b8779903f8a4983210755b0ce19f1d647/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f76616e696c6f7068702f6e65746f7069612f74657374732e796d6c3f6272616e63683d6d6173746572267374796c653d666c61742d737175617265)](https://github.com/vanilophp/netopia/actions?query=workflow%3Atests)[![Packagist Stable Version](https://camo.githubusercontent.com/685b1fd17e6dadfd0d837a52536f5ab3cb9d40671725f95dbef56761d35fd2ce/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f76616e696c6f2f6e65746f7069612e7376673f7374796c653d666c61742d737175617265266c6162656c3d737461626c65)](https://packagist.org/packages/vanilo/netopia)[![StyleCI](https://camo.githubusercontent.com/cda6fa09e83cbb21fa617dc32fb12aac338da39bd9e5f3b388594b5c7f3e1b98/68747470733a2f2f7374796c6563692e696f2f7265706f732f3332393236373231332f736869656c643f6272616e63683d6d6173746572)](https://styleci.io/repos/329267213)[![Packagist downloads](https://camo.githubusercontent.com/93e648a0fa7e60798f5abd46c1eb813fec65ae24ecca4e801b636aefe1e69569/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f76616e696c6f2f6e65746f7069612e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/vanilo/netopia)[![MIT Software License](https://camo.githubusercontent.com/942e017bf0672002dd32a857c95d66f28c5900ab541838c6c664442516309c8a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e7376673f7374796c653d666c61742d737175617265)](LICENSE)

This library implements the [Netopia Payment Processor](https://netopia-payments.com) for [Vanilo Payments](https://vanilo.io/docs/master/payments).

Being a [Concord Module](https://konekt.dev/concord/1.x/modules) it is intended to be used by Laravel Applications.

IMPORTANT
---------

[](#important)

Netopia uses the RC4 cipher algo for its messages. In recent (~2023) OpenSSL installations this cipher is disabled by default.

In order to use this library **you must enable legacy options for OpenSSL 3**:

1. Find and open the file at /etc/ssl/openssl.cnf
2. At the `[default_sect]` section change it to the following: ```
    [default_sect]
    activate = 1
    [legacy_sect]
    activate = 1
    ```
3. Then find the `[provider_sect]` and change it to the following: ```
    [provider_sect]
    default = default_sect
    legacy = legacy_sect
    ```

Documentation
-------------

[](#documentation)

Refer to the markdown files in the [docs](docs/) folder.

To-do
-----

[](#to-do)

The library works but there's space for improvement.

### 1. Recurring Payments

[](#1-recurring-payments)

It's completely untested at the moment, thus it may or may not work

### 2. Usage of Loyalty Points

[](#2-usage-of-loyalty-points)

It's completely untested at the moment.

### 3. Add More Specific Error Test Cases

[](#3-add-more-specific-error-test-cases)

- Use the test cards from the doc to generate scenarios for various failed cases
- Catch the XML responses, add them to unit tests and check them specifically

**Cases**:

- Successful Payment. Covered.
- Expired Card. Covered.
- Partial refund. Covered.
- Complete refund. Covered.
- Transaction Declined. Covered.
- Insufficient funds. No unit test coverage.
- Incorrect CVV2/CCV. No unit test coverage.
- Transaction not permitted (eg. card not enrolled). No unit test coverage.
- Risky card detected (eg. stolen card). No unit test coverage.
- Error at the origin Bank (eg. can't connect to the Bank). No unit test coverage.

### 4. Test With Real Netopia Keys

[](#4-test-with-real-netopia-keys)

During tests, I created a test account at Netopia and generated test keys, to establish close to real life scenarios during unit tests.

There were issues with simulating the encrypted messages generated by Netopia using the actual keys. The tests use a locally generated RSA key pair for this functionality. It seems to do the job, but if we find to cause of the issue, let's use actual Netopia keys.

### 5. Record More Response Details

[](#5-record-more-response-details)

Netopia returns the following data which we should record locally:

- `pan_masked` (card number digits eg. 4\*\*\*\*2806)

### 6. SMS Payment

[](#6-sms-payment)

Netopia supports SMS payments. Likely won't be implemented here as it's more for micro payments, but hell, who knows 🤷

### 7. Refunds

[](#7-refunds)

Netopia supports direct credit (refund) and capture operations via its [SOAP API](http://www.mobilpay.ro/api/merchant?wsdl)

###  Health Score

53

—

FairBetter than 96% of packages

Maintenance89

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 96.1% 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

Every ~126 days

Recently: every ~185 days

Total

16

Last Release

57d ago

Major Versions

1.3.0 → 2.0.02022-06-15

1.4.0 → 2.1.12023-12-17

2.x-dev → 3.0.02024-04-25

PHP version history (4 changes)1.0.0PHP ^7.4|^8.0

1.3.0PHP ^8.0

3.0.0PHP ^8.2

3.3.0PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/3653935?v=4)[Vanilo](/maintainers/vanilo)[@Vanilo](https://github.com/Vanilo)

---

Top Contributors

[![fulopattila122](https://avatars.githubusercontent.com/u/1162360?v=4)](https://github.com/fulopattila122 "fulopattila122 (123 commits)")[![kedves](https://avatars.githubusercontent.com/u/5683895?v=4)](https://github.com/kedves "kedves (3 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/vanilo-netopia/health.svg)

```
[![Health](https://phpackages.com/badges/vanilo-netopia/health.svg)](https://phpackages.com/packages/vanilo-netopia)
```

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[bagisto/bagisto

Bagisto Laravel E-Commerce

27.6k172.1k9](/packages/bagisto-bagisto)[vanilo/cart

Vanilo Cart Module

52150.5k2](/packages/vanilo-cart)[vanilo/framework

E-commerce Framework for Laravel

86671.7k4](/packages/vanilo-framework)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3416.9k](/packages/duncanmcclean-statamic-cargo)[vanilo/checkout

Vanilo Checkout Module

15140.3k](/packages/vanilo-checkout)

PHPackages © 2026

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