PHPackages                             sama-ir/sama-laravel-payment - 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. sama-ir/sama-laravel-payment

ActiveLibrary[Payment Processing](/categories/payments)

sama-ir/sama-laravel-payment
============================

Sama gateway library for Laravel.

v0.1.3(2y ago)27462[1 PRs](https://github.com/Sama-ir/sama-laravel-payment/pulls)MITPHPPHP ^7.2|^8.0

Since Jun 18Pushed 1y agoCompare

[ Source](https://github.com/Sama-ir/sama-laravel-payment)[ Packagist](https://packagist.org/packages/sama-ir/sama-laravel-payment)[ Docs](https://github.com/sama-ir/sama-laravel-payment)[ RSS](/packages/sama-ir-sama-laravel-payment/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (6)Used By (0)

درگاه پرداخت سما | Sama Payment Gateway
=======================================

[](#درگاه-پرداخت-سما--sama-payment-gateway)

Sama Gateway library for Laravel based on Sama API

کتابخانه درگاه پرداخت سما برای لاراول براساس ای‌پی‌آی سما

روش نصب - Installation
----------------------

[](#روش-نصب---installation)

Use composer to install this package

برای نصب و استفاده از این پکیج می توانید از کامپوزر استفاده کنید

```
composer require sama-ir/sama-laravel-payment
```

تنظیمات - Configuration
-----------------------

[](#تنظیمات---configuration)

You need a token to use Sama web services, you can get this token according to [Sama documentation](https://docs.sama.ir/content/services/guaranteed/webservice/).

برای استفاده از سرویس های سما نیاز به یک توکن دارید، این توکن را می توانید طبق [مستندات سما](https://docs.sama.ir/content/services/guaranteed/webservice/) دریافت کنید.

Add your token to .env file.

توکن خود را به فایل env اضافه کنید.

```
SAMA_GATEWAY_TOKEN=abcd
```

You can also set token at runtime.

امکان تعیین توکن در حین اجرا نیز وجود دارد که در ادامه توضیح داده خواهد شد.

روش استفاده | How to use
------------------------

[](#روش-استفاده--how-to-use)

برای استفاده از سرویس پرداخت امن سما، لازم است وب سایت فروشگاه یک درخواست ایجاد لینک پرداخت به همراه «آدرس بازگشت فروشگاه» به سما ارسال کند. سما در پاسخ یک آدرس پرداخت ارسال می کند که فروشگاه، کاربر خریدار را به آن هدایت خواهد کرد. بعد از مشخص شدن نتیجه پرداخت، سما کاربر را به «آدرس بازگشت فروشگاه» هدایت خواهد کرد.

### ارسال مشتری به درگاه پرداخت | Send customer to payment gateway

[](#ارسال-مشتری-به-درگاه-پرداخت--send-customer-to-payment-gateway)

در روال پرداخت با سما، وب سایت فروشگاه ابتدا یک درخواست ایجاد لینک پرداخت به سما ارسال می کند. این درخواست شامل مبلغ تراکنش، یک مقدار شناسه یکتا به ازای هر درخواست پرداخت، «آدرس بازگشت فروشگاه» پس از پرداخت است. در پاسخ فراخوانی وب سرویس یک لینک پرداخت دریافت می شود که فروشگاه کاربر پرداخت کننده را به آن لینک پرداخت هدایت کند. «آدرس بازگشت فروشگاه» آدرسی است که در بخش بررسی وضعیت تراکنش اجرا خواهد شد.

```
    // In a Controller action or Route handler:

    $response = sama()
                // ->token('abcd') // تعیین توکن در حین اجرا - اختیاری
                ->amount(10000) // مبلغ تراکنش
                ->request()
                ->clientId('0a1dca49-96bb-4318-a7cb-ebf2a6281003') // مقدار شناسه تراکنش در فروشگاه (باید یکتا باشد)
                ->callbackUrl('http://localhost:8000/api/payment_callback') // آدرس برگشت پس از پرداخت
                ->mobile('09123456789') // شماره موبایل مشتری - اختیاری
                ->send();

    if (!$response->success()) {
        return [
            $response->error()->code(),
            $response->error()->detail(),
            $response->error()->message(),
            $response->error()->extra()
        ];
    }

    // ذخیره اطلاعات در دیتابیس
    // ...
    // هدایت مشتری به درگاه پرداخت

    return $response->redirect();
```

### بررسی وضعیت تراکنش | Verify payment status

[](#بررسی-وضعیت-تراکنش--verify-payment-status)

پس از مشخص شدن نتیجه پرداخت سما کاربر خریدار را با متد POST به «آدرس بازگشت فروشگاه» هدایت می کند، نمونه کد برای بررسی وضعیت تراکنش مشابه زیر خواهد بود:

```
    // In a Controller action or Route handler (eg. POST to /api/payment_callback):

    $price = request()->post('price'); // دریافت پارامتر ارسال شده توسط سما
    $requestId = request()->post('request_id'); // دریافت پارامتر ارسال شده توسط سما
    $resultCode = request()->post('result_code'); // دریافت پارامتر ارسال شده توسط سما
    $processId = request()->post('process_id'); // دریافت پارامتر ارسال شده توسط سما

    $savedPriceInDb = 10000;
    $clientId = '0a1dca49-96bb-4318-a7cb-ebf2a6281003';

    if ($resultCode != 0 || $price != $savedPriceInDb) {
        // Payment was not successful or someone tampered with the data
        return ["status" => "failed", "message" => "پرداخت ناموفق"];
    }

    // Successful payment, lets verify with Sama Gateway
    $response = sama()
                // ->token('abcd') // تعیین توکن در حین اجرا - اختیاری
                ->verification()
                ->requestId($requestId)
                ->clientId($clientId)
                ->send();

    if (!$response->success() || $response->isPaid() === false) {
        // $response->error()->code(),
        // $response->error()->detail(),
        return ["status" => "failed", "message" => "پرداخت ناموفق"];
    }

    if($savedPriceInDb != $response->$price) {
        // Someone tampered with the data, prices do not match
        return ["status" => "failed", "message" => "پرداخت ناموفق"];
    }

    // وریفای پرداخت موفقیت آمیز بود:

    echo $response->isPaid(); // === true means successful payment
    echo $response->paymentId();
    echo $response->requestId();

    // دریافت شماره پیگیری تراکنش و انجام امور مربوط به دیتابیس:

    // Save referenceNumber and transactionCode in the database
    echo $response->referenceNumber();
    echo $response->transactionCode();

    return ["status" => "ok", "message" => "پرداخت موفق"];
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance27

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 76.9% 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 ~96 days

Total

4

Last Release

770d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e338669bd16d445f0417c411c2c7fd91060d5a32b9762d237fea4b12b556d591?d=identicon)[sama-ir](/maintainers/sama-ir)

---

Top Contributors

[![asedmammad](https://avatars.githubusercontent.com/u/26073142?v=4)](https://github.com/asedmammad "asedmammad (10 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![mosi2142](https://avatars.githubusercontent.com/u/31867394?v=4)](https://github.com/mosi2142 "mosi2142 (1 commits)")

---

Tags

laravellaravel-packagepayment-gatewaypayment-modulepayment-servicelaravelpaymentsama

### Embed Badge

![Health badge](/badges/sama-ir-sama-laravel-payment/health.svg)

```
[![Health](https://phpackages.com/badges/sama-ir-sama-laravel-payment/health.svg)](https://phpackages.com/packages/sama-ir-sama-laravel-payment)
```

###  Alternatives

[tsaiyihua/laravel-ecpay

ecpay library for laravel

6416.3k](/packages/tsaiyihua-laravel-ecpay)[evryn/laravel-toman

A simple stable Laravel package to handle popular payment gateways in Iran including ZarinPal and IDPay.

1079.9k](/packages/evryn-laravel-toman)[tsaiyihua/laravel-linepay

linepay library for laravel

102.9k](/packages/tsaiyihua-laravel-linepay)

PHPackages © 2026

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