PHPackages                             achetibi/laravel-satim - 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. achetibi/laravel-satim

ActiveLibrary[Payment Processing](/categories/payments)

achetibi/laravel-satim
======================

Laravel package for integrating SATIM online payments.

v1.1.1(5mo ago)14405MITPHPPHP ^8.2CI passing

Since Jun 28Pushed 5mo ago1 watchersCompare

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

READMEChangelog (4)Dependencies (9)Versions (5)Used By (0)

Laravel Satim
=============

[](#laravel-satim)

[![Latest Version on Packagist](https://camo.githubusercontent.com/6ac74a44aef559eff5a866a9a0fdd4aa6b80dc458596683a4e495115415e9ea5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f61636865746962692f6c61726176656c2d736174696d2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/achetibi/laravel-satim)[![Total Downloads](https://camo.githubusercontent.com/2b11a6be2a6e59cb51dff5ad1e7205991c992a53f256e65582dc3a26137cf956/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f61636865746962692f6c61726176656c2d736174696d2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/achetibi/laravel-satim)[![Tests](https://camo.githubusercontent.com/832023cac9cede76bc5d9585bedc7da7b5c460ab1db1de544c26cbe771b59c60/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f61636865746962692f6c61726176656c2d736174696d2f74657374732e796d6c3f6c6162656c3d7465737473)](https://github.com/achetibi/laravel-satim/actions)[![License](https://camo.githubusercontent.com/61cd402d3bcec4e94e1812def774a0284e7cacd7a585748d9b5c6cf1e03d64fb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f61636865746962692f6c61726176656c2d736174696d)](LICENSE.md)

**Laravel Satim** is a clean, extensible Laravel package that provides seamless integration with the **Satim** online payment gateway.
It supports full transaction lifecycle handling: registration, confirmation, and refund, all wrapped in a service-oriented architecture.

---

🚀 Features
----------

[](#-features)

- Simple configuration via `.env`
- Clean service classes for payment flow:
    - Register
    - Confirm
    - Refund
- Built-in error handling and response abstraction
- Custom HTTP client wrapper using Laravel's `Http` facade
- Laravel-native setup with service provider, config, and facade

---

📦 Installation
--------------

[](#-installation)

```
composer require achetibi/laravel-satim
```

---

⚙️ Configuration
----------------

[](#️-configuration)

Publish the config file:

```
php artisan vendor:publish --provider="LaravelSatim\SatimServiceProvider"
```

Add the following variables to your `.env`:

```
SATIM_USERNAME=your_username
SATIM_PASSWORD=your_password
SATIM_TERMINAL=your_terminal
SATIM_LANGUAGE=fr
SATIM_CURRENCY=DZD
SATIM_API_URL=https://fake.satim.dz/payment/rest
```

You can also set the http client configuration in the `config/satim.php` using your `.env` file:

```
SATIM_HTTP_VERIFY_SSL=true
SATIM_HTTP_TIMEOUT=30
SATIM_HTTP_CLIENT_RETRY=3
SATIM_HTTP_CLIENT_SLEEPTIME=300
```

You can disable SSL verification in development environments only. You can also set the number of retries and the sleep time between each retry for failed requests.

---

🧠 Basic Usage
-------------

[](#-basic-usage)

### Register a transaction

[](#register-a-transaction)

```
use LaravelSatim\Contracts\SatimInterface;
use LaravelSatim\Http\Requests\SatimRegisterRequest;

$response = app(SatimInterface::class)->register(SatimRegisterRequest::make(
    orderNumber: 'ORD-123456',
    amount: 1500,
    returnUrl: route('payment.success'),
    udf1: 'ORD-123456'
));
```

### Confirm a transaction

[](#confirm-a-transaction)

```
use LaravelSatim\Contracts\SatimInterface;
use LaravelSatim\Http\Requests\SatimConfirmRequest;

$response = app(SatimInterface::class)->confirm(SatimConfirmRequest::make(
    orderId: 'BnTjnFDzZSP97QXu8FXq'
));
```

### Refund a transaction

[](#refund-a-transaction)

```
use LaravelSatim\Contracts\SatimInterface;
use LaravelSatim\Http\Requests\SatimRefundRequest;

$response = app(SatimInterface::class)->refund(SatimRefundRequest::make(
    orderId: 'BnTjnFDzZSP97QXu8FXq',
    amount: 1500
));
```

All services return typed response or throw custom exceptions for errors.

---

### Overriding language and currency (optional)

[](#overriding-language-and-currency-optional)

By default, the values for language and currency are loaded from your `.env` file.
If you need to override them on a per-request basis, you can call `setLanguage()` and `setCurrency()` on the service before executing the request:

```
use LaravelSatim\Contracts\SatimInterface;
use LaravelSatim\Enums\SatimLanguage;
use LaravelSatim\Enums\SatimCurrency;

$service = app(SatimInterface::class)
    ->setLanguage(SatimLanguage::AR)
    ->setCurrency(SatimCurrency::DZD);

$response = $service->register(SatimRegisterRequest::make(
    orderNumber: 'ORD-123456',
    amount: 1500,
    returnUrl: route('payment.success'),
    udf1: 'ORD-123456'
));
```

✅ Testing
---------

[](#-testing)

Run the test suite:

```
composer test
```

---

📌 Roadmap
---------

[](#-roadmap)

- Register / Confirm / Refund operations
- Request / Response validation layer
- Exception mapping
- End-to-end test suite with fake HTTP responses
- Status operation
- Webhook support

---

🔒 Security
----------

[](#-security)

If you discover any security-related issues, please email **** instead of using the issue tracker.

---

🙏 Credits
---------

[](#-credits)

- [Abderrahim CHETIBI](https://github.com/achetibi)
- [All Contributors](../../contributors)

---

📄 License
---------

[](#-license)

The MIT License (MIT).
See [LICENSE.md](LICENSE.md) for full license text.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance72

Regular maintenance activity

Popularity19

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity52

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

Every ~52 days

Total

4

Last Release

161d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b2fba4d41d49a3a2abf5c66c4898cc0fe81728bb9b0d5567622f1128664e9a5f?d=identicon)[achetibi](/maintainers/achetibi)

---

Top Contributors

[![achetibi](https://avatars.githubusercontent.com/u/30299188?v=4)](https://github.com/achetibi "achetibi (14 commits)")

---

Tags

paymentsatimachetibilaravel-satim

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/achetibi-laravel-satim/health.svg)

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

###  Alternatives

[sebdesign/laravel-viva-payments

A Laravel package for integrating the Viva Payments gateway

4845.9k](/packages/sebdesign-laravel-viva-payments)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)[henryejemuta/laravel-monnify

A laravel package to seamlessly integrate monnify api within your laravel application

132.1k](/packages/henryejemuta-laravel-monnify)[omalizadeh/laravel-multi-payment

A driver-based laravel package for online payments via multiple gateways

491.1k](/packages/omalizadeh-laravel-multi-payment)

PHPackages © 2026

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