PHPackages                             turgunboyevuz/mirpay - 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. turgunboyevuz/mirpay

ActiveLibrary

turgunboyevuz/mirpay
====================

Mirpay to'lov tizimi uchun Laravel integratsiyasi.

v1.0.3(10mo ago)123MITPHPPHP ^8.1 || ^8.2 || ^8.3

Since Jul 2Pushed 10mo agoCompare

[ Source](https://github.com/TurgunboyevUz/mirpay)[ Packagist](https://packagist.org/packages/turgunboyevuz/mirpay)[ RSS](/packages/turgunboyevuz-mirpay/feed)WikiDiscussions main Synced 1mo ago

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

Mirpay Laravel SDK
==================

[](#mirpay-laravel-sdk)

Laravel uchun Mirpay to‘lov tizimini qulay integratsiya qiluvchi SDK.

[![Packagist Version](https://camo.githubusercontent.com/0adf1a0d5a88a452c0e4319a263aadb13d283a05b4d7b9da18e2c2043d86a06c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f54757267756e626f796576557a2f6d6972706179)](https://camo.githubusercontent.com/0adf1a0d5a88a452c0e4319a263aadb13d283a05b4d7b9da18e2c2043d86a06c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f54757267756e626f796576557a2f6d6972706179)[![License](https://camo.githubusercontent.com/9b3e95d51f31ddfc35d5432d424ffbaf32cbc2932d1167a8bc3b53da88509f89/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f54757267756e626f796576557a2f6d6972706179)](https://camo.githubusercontent.com/9b3e95d51f31ddfc35d5432d424ffbaf32cbc2932d1167a8bc3b53da88509f89/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f54757267756e626f796576557a2f6d6972706179)[![Laravel](https://camo.githubusercontent.com/ca802a82bf0566a0a9b48f7065bf4a71c8d8e3c0149a7299149d809cdae6ae5b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d3130253246313125324631322d726564)](https://camo.githubusercontent.com/ca802a82bf0566a0a9b48f7065bf4a71c8d8e3c0149a7299149d809cdae6ae5b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d3130253246313125324631322d726564)

---

📦 O‘rnatish
-----------

[](#-ornatish)

```
composer require turgunboyevuz/mirpay
```

Paketni to‘liq o‘rnatish uchun quyidagi artisan komandani ishga tushiring:

```
php artisan mirpay:install
```

Bu quyidagilarni avtomatik bajaraydi:

- `routes/mirpay.php` faylini yaratadi
- `config/mirpay.php` faylini yaratadi
- `app/Payment/after_success.php` va `after_fail.php` fayllarni yaratadi

### Mirpay Tranzaksiyalari uchun tableni yarating

[](#mirpay-tranzaksiyalari-uchun-tableni-yarating)

```
php artisan migrate
```

---

⚙️ Konfiguratsiya
-----------------

[](#️-konfiguratsiya)

`.env` faylingizga quyidagilarni yozing:

```
MIRPAY_MERCHANT_ID=your-merchant-id
MIRPAY_SECRET_KEY=your-secret-key
```

`config/mirpay.php` fayli quyidagicha ko‘rinadi:

```
return [
    'merchant_id' => env('MIRPAY_MERCHANT_ID', ''),
    'secret_key'  => env('MIRPAY_SECRET_KEY', ''),

    'transaction_model' => TurgunboyevUz\Mirpay\Models\Transaction::class,

    // Agar true bo‘lsa, paketdagi routes/mirpay.php fayli avtomatik ulanadi
    'routes' => true,
];
```

---

🧾 Marshrutlar (`routes`)
------------------------

[](#-marshrutlar-routes)

Agar `routes` konfiguratsiyasi `true` bo‘lsa, `routes/mirpay.php` fayli avtomatik yuklanadi.

Siz bu faylga Mirpay webhook routelarini joylashtirishingiz mumkin:

---

⚠️ Diqqat bilan o'qing
----------------------

[](#️-diqqat-bilan-oqing)

Mirpay to'lov tizimidan foydalanishning 2 ta turi bor:

- Webhook (Mirpay to'lov statusini sizga yuboradi)
- Long polling (Mirpaydan to'lov statusini so'rab olasiz).

Ushbu paketdan foydalanishda yuqoridagilardan faqat bittasidan foydalaning, aks holda to'lovni qabul qilish jarayonida turli xatolar kelib chiqishi mumkin.

---

```
use Illuminate\Support\Facades\Route;
use TurgunboyevUz\Mirpay\Controllers\MirpayController;

// webhook usuli
// quyidagi linklarni Mirpay Kassangizda ro'yxatdan o'tkazing
// https://localhost/api/mirpay/success
// https://localhost/api/mirpay/fail

Route::post('/mirpay/success', [MirpayController::class, 'success']);

Route::post('/mirpay/fail', [MirpayController::class, 'fail']);
```

---

💳 Foydalanish
-------------

[](#-foydalanish)

Trait orqali modelga Mirpay to‘lovlarini ulash:

```
use TurgunboyevUz\Mirpay\Traits\HasMirpayTransactions;

class User extends Model
{
    use HasMirpayTransactions;
}
```

### ➕ To‘lov yaratish

[](#-tolov-yaratish)

```
$user = auth()->user();

$transaction = $user->createMirpayTransaction(25000, 'Pro subscription');

return redirect($transaction->redirect_url);
```

### ✅ To‘lovni tekshirish (Polling)

[](#-tolovni-tekshirish-polling)

```
use TurgunboyevUz\Mirpay\Enums\MirpayState;

$user = auth()->user();
$status = $user->checkoutMirpayTransaction();

if ($status === MirpayState::PENDING) {
    // jarayonda
}

if ($status === MirpayState::SUCCESS) {
    // muvaffaqiyatli to‘lov
    // status "muvaffaqiyatli" bo'lsa avtomatik after_success.php chaqiriladi
}

if ($status === MirpayState::FAILED) {
    // bekor qilingan
    // status "bekor qilingan" bo'lsa avtomatik after_fail.php chaqiriladi
}
```

---

📁 Callback fayllar
------------------

[](#-callback-fayllar)

Paket o‘rnatilgach, quyidagi fayllar yaratiladi:

- `app/Payment/after_success.php`
- `app/Payment/after_fail.php`

Ushbu fayllar `$model` nomli o‘zgaruvchiga ega bo‘lib, siz xohlagancha kod yozishingiz mumkin:

```
