PHPackages                             n1ghtwind/otpsimplepay - 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. n1ghtwind/otpsimplepay

ActivePackage[Payment Processing](/categories/payments)

n1ghtwind/otpsimplepay
======================

simplepay for laravel

v1.0.0(2y ago)04MITPHP

Since Feb 8Pushed 2y agoCompare

[ Source](https://github.com/N1ghtWind/otpsimplepay)[ Packagist](https://packagist.org/packages/n1ghtwind/otpsimplepay)[ RSS](/packages/n1ghtwind-otpsimplepay/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

OTP SimplePay integration for Laravel based website
===================================================

[](#otp-simplepay-integration-for-laravel-based-website)

This module helps you to easily embed an OTP SimplePay payment solution into your Laravel based website.

IMPORTANT!!!
------------

[](#important)

This module is not an official OTP module. Use at your own risk!

INSTALLATION
------------

[](#installation)

Edit project composer.json

```
"require": {
    ...
    "taki47/otpsimplepay": "^1.0.0"
    ...
},
"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/taki47/otpsimplepay"
    }
],
```

Run composer update

```
composer update
```

USAGE
-----

[](#usage)

Create a custom log channel is you wan't. If not, and OTP\_PAYMENT\_LOG settings is true, set the OTP\_PAYMENT\_LOG\_CHANNEL to "daily"

Set the OTP\_PAYMENT\_RETURN\_URL to your returning URL, which specified in web.php file.

Add these settings to your .env file

```
OTP_PAYMENT_CURRENCY="HUF"
OTP_PAYMENT_LANG="HU"
OTP_PAYMENT_HUF_MERCHANT="PUBLICTESTHUF"
OTP_PAYMENT_HUF_SECRET_KEY="FxDa5w314kLlNseq2sKuVwaqZshZT5d6"
OTP_PAYMENT_RETURN_URL="${APP_URL}/payResult"
OTP_PAYMENT_TIMEOUT_IN_SEC="600"
OTP_PAYMENT_LOG=true
OTP_PAYMENT_LOG_CHANNEL="simplePay"
OTP_PAYMENT_SANDBOX=true
```

That's it! Happy code :-)
-------------------------

[](#thats-it-happy-code--)

Example code - Start payment
----------------------------

[](#example-code---start-payment)

```
use Taki47\Otpsimplepay\SimplePayStart;

class PublicController extends Controller
{
    public function PayStart()
    {
        $simplePay = new SimplePayStart();

        //TWO STEP AUTH
        $simplePay->addData("twoStep", false);

        // ORDER REFERENCE NUMBER
        // uniq oreder reference number in the merchant system
        $simplePay->addData('orderRef', str_replace(array('.', ':', '/'), "", @$_SERVER['SERVER_ADDR']) . @date("U", time()) . rand(1000, 9999));

        // customer's registration mehod
        // 01: guest
        // 02: registered
        // 05: third party
        $simplePay->addData('threeDSReqAuthMethod', '02');

        // EMAIL
        // customer's email
        $simplePay->addData('customerEmail', "taki47@gmail.com");

        // METHODS
        // CARD or WIRE
        $simplePay->addData('methods', array('CARD'));

        //ORDER ITEMS
        $simplePay->addItems(
            array(
                'ref' => "Test product 1",
                'title' => "Test product 1",
                'description' => 'Test product description',
                'amount' => "2",
                'price' => "12000",
                'tax' => '0',
                )
        );

        // SHIPPING COST
        $simplePay->addData('shippingCost', "450");

        // INVOICE DATA
        $simplePay->addGroupData('invoice', 'name', "Test Kft.");
        $simplePay->addGroupData('invoice', 'company', "Test Kft.");
        $simplePay->addGroupData('invoice', 'country', "Hungary");
        $simplePay->addGroupData('invoice', 'state', "Budapest");
        $simplePay->addGroupData('invoice', 'city', "Budapest");
        $simplePay->addGroupData('invoice', 'zip', "1111");
        $simplePay->addGroupData('invoice', 'address', "Teszt road 11.");

        // DELIVERY DATA
        $simplePay->addGroupData('delivery', 'name', "Test Kft.");
        $simplePay->addGroupData('delivery', 'company', "Test Kft.");
        $simplePay->addGroupData('delivery', 'country', "Hungary");
        $simplePay->addGroupData('delivery', 'state', "Budapest");
        $simplePay->addGroupData('delivery', 'city', "Budapest");
        $simplePay->addGroupData('delivery', 'zip', "1111");
        $simplePay->addGroupData('delivery', 'address', "Teszt road 11.");
        $simplePay->addGroupData('delivery', 'phone', "+3611111111");

        //create transaction in SimplePay system
        $simplePay->runStart();

        $returnData = $simplePay->getReturnData();

        return redirect($returnData["paymentUrl"]);
    }
}
```

Example code - Payment result (back)
------------------------------------

[](#example-code---payment-result-back)

```
use Taki47\Otpsimplepay\SimplePayBack;

class PublicController extends Controller
{
    public function PayBack(Request $request)
    {
        $simplePayBack = new SimplePayBack();

        $result = array();
        if (isset($request->r) && isset($request->s)) {
            if ($simplePayBack->isBackSignatureCheck($request->r, $request->s)) {
                $result = $simplePayBack->getRawNotification();
            }
        }

        /**
         * DO SOMETHING WITH $result ARRAY
         */
    }
}
```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 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

822d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/55a0d4ed882a8ea194afce06a7d4079ccb3cab8470ae31ea48728a73606e5951?d=identicon)[Nightwind](/maintainers/Nightwind)

---

Top Contributors

[![taki47](https://avatars.githubusercontent.com/u/44288774?v=4)](https://github.com/taki47 "taki47 (2 commits)")

### Embed Badge

![Health badge](/badges/n1ghtwind-otpsimplepay/health.svg)

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

###  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)[omnipay/dummy

Dummy driver for the Omnipay payment processing library

271.2M33](/packages/omnipay-dummy)

PHPackages © 2026

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