PHPackages                             hamrahpay/hamrahpay - 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. hamrahpay/hamrahpay

ActiveLibrary[Payment Processing](/categories/payments)

hamrahpay/hamrahpay
===================

Hamrahpay IPG/MPG Composer Library

1.0(5y ago)04GPL-2.0-onlyPHP

Since Aug 25Pushed 5y ago1 watchersCompare

[ Source](https://github.com/hamrahpay/hamrahpay-composer-library)[ Packagist](https://packagist.org/packages/hamrahpay/hamrahpay)[ RSS](/packages/hamrahpay-hamrahpay/feed)WikiDiscussions master Synced 1w ago

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

[Hamrahpay](https://hamrahpay.com) Composer Library
===================================================

[](#hamrahpay-composer-library)

[Hamrahpay](https://hamrahpay.com) Online Payment Gateway PHP Composer Library

Usage
-----

[](#usage)

### install

[](#install)

```
composer require hamrahpay/hamrahpay
```

### Pay Request

[](#pay-request)

```
use Hamrahpay\Hamrahpay;

$api_key        = 'YOUR-API-KEY';
$callback_url   = 'HTTPS://YOUR-CALLBACK-URL.COM/CALLBACK';
$hamrahpay = Hamrahpay::Instance($api_key);
$result = $hamrahpay
    ->Amount(10000)
    ->CallbackUrl($callback_url)
    ->CustomerName('علی')
    ->Description("تست")
    ->Email('test@eample.com')
    ->Mobile('09121234567')
    ->PaymentRequest();

echo json_encode($result); // show result data
echo $result['payment_token']; // save it for verification after payment

// redirect to payment page
if (!empty($result['status']) && $result['status']==1)
    $hamrahpay->Redirect();
```

### Verify Payment

[](#verify-payment)

```
use use Hamrahpay\Hamrahpay;

$api_key        = 'YOUR-API-KEY';
$hamrahpay = Hamrahpay::Instance($api_key);
$payment_token  = $_GET['payment_token'];
$status         = $_GET['status'];

if ($status=='OK')
{
    $result = $hamrahpay->VerifyPayment($payment_token);
    if ($result['status']==100) // succeed , first time verification
    {
        echo " Reference Number:".$result['reference_number'];
        echo " Reserve Number:".$result['reserve_number'];
        echo " Amount:".$result['amount'];
    }
    else if ($result['status']==101) // succeed, after first time verification
    {
        echo " Amount:".$result['amount'];
    }
    else
    {
        // show error message
        echo $result['error_message'];
    }
}
else // NOK
{
    // show error
    echo "NOK";
}
```

### Get Unverified Transactions

[](#get-unverified-transactions)

```
use use Hamrahpay\Hamrahpay;

$api_key        = 'YOUR-API-KEY';
$hamrahpay = Hamrahpay::Instance($api_key);
$unverified_transactions = $hamrahpay->getUnverifiedTransactions();

print_r($unverified_transactions);
```

Laravel Usage
-------------

[](#laravel-usage)

this library is also ready to using with laravel, it works with all versions of laravel.

**if your are using laravel 5.5 or below, Add Provider in "config/app.php"**

```
'providers' => [
    ...
    Hamrahpay\Laravel\HamrahpayServiceProvider::class
    ...
]
```

then add this to `config/services.php`

```
'hamrahpay' => [
    'API_Key' => 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
],
```

Or create `config/Hamrahpay.php` and add this

```
return [
    'API_Key' => 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX',
];
```

now it's ready to use

```
use Hamrahpay\Laravel\Facade\Hamrahpay;

$callback_url   = 'HTTPS://YOUR-CALLBACK-URL.COM/CALLBACK';
$result = Hamrahpay::CallbackUrl($callback_url)
    ->Amount(10000)
    ->CustomerName('علی')
    ->Description("تست")
    ->Email('test@eample.com')
    ->Mobile('09121234567')
    ->PaymentRequest();

echo json_encode($result); // show result data
echo $result['payment_token']; // save it for verification after payment

// redirect to payment page
if (!empty($result['status']) && $result['status']==1)
    Hamrahpay::Redirect();
```

verification in callback method in your controller

```
use Hamrahpay\Laravel\Facade\Hamrahpay;
$payment_token  = $_GET['payment_token']; // $request->get('payment_token'); or Input::get('payment_token');
$status         = $_GET['status']; // $request->get('status'); or Input::get('status');
if ($status=='OK')
{
    $result = Hamrahpay::VerifyPayment($payment_token);
    if ($result['status']==100) // succeed , first time verification
    {
        echo " Reference Number:".$result['reference_number'];
        echo " Reserve Number:".$result['reserve_number'];
        echo " Amount:".$result['amount'];
    }
    else if ($result['status']==101) // succeed, after first time verification
    {
        echo " Amount:".$result['amount'];
    }
    else
    {
        // show error message
        echo $result['error_message'];
    }
}
else // NOK
{
    // show error
    echo "NOK";
}
```

sometime in many reasons your server failed in get result of transaction, then you can get unverified transactions and verifing them

get unverified transaction

```
use Hamrahpay\Laravel\Facade\Hamrahpay;
$unverified_transactions = Hamrahpay::getUnverifiedTransactions();
print_r($unverified_transactions);
```

[Hamrahpay.com](https://hamrahpay.com)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

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

2092d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/13062340?v=4)[Hamrahpay](/maintainers/hamrahpay)[@hamrahpay](https://github.com/hamrahpay)

---

Top Contributors

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

### Embed Badge

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

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

###  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)
