vanilo/netopia

Netopia Payment Gateway Support for Vanilo (Laravel)
4,917 1
Install
composer require vanilo/netopia
Latest Version:4.0.0
PHP:^8.4
License:MIT
Last Updated:Sep 25, 2026
Links: GitHub  ·  Packagist
Maintainer: vanilo

Netopia Payment Gateway Support for Vanilo

Tests Packagist Stable Version StyleCI Packagist downloads MIT Software License

This library implements the Netopia Payment Processor for Vanilo Payments.

Being a Concord Module it is intended to be used by Laravel Applications.

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

Refer to the markdown files in the docs folder.

To-do

The library works but there's space for improvement.

1. Recurring Payments

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

2. Usage of Loyalty Points

It's completely untested at the moment.

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

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

Netopia returns the following data which we should record locally:

  • pan_masked (card number digits eg. 4****2806)

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

Netopia supports direct credit (refund) and capture operations via its SOAP API

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

637,827,751 9,703
laravel/framework

The Laravel Framework.

589,172,971 34,950
laravel/tinker

Powerful REPL for the Laravel framework.

498,216,183 7,442
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

413,412,504 609
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

394,964,158 4,660

Version History

Version Released PHP Laravel License
4.0.0 ^8.4 ^12.61.1|^13.12 MIT
3.3.0 ^8.3 ^10.48.23|^11.46.2|^12.50|^13.0 MIT
3.2.0 ^8.2 ^10.48|^11.46.2|^12.38 MIT
3.1.0 ^8.2 ^10.43|^11.0 MIT
3.0.0 ^8.2 ^10.43|^11.0 MIT