PHPackages                             fadhila36/pakasir-sdk - 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. fadhila36/pakasir-sdk

ActiveLibrary[Payment Processing](/categories/payments)

fadhila36/pakasir-sdk
=====================

Laravel Package for Pakasir Payment Gateway

v2.0.0(1mo ago)31762MITPHPPHP ^8.3CI passing

Since Jan 26Pushed 1mo agoCompare

[ Source](https://github.com/Fadhila36/pakasir-sdk)[ Packagist](https://packagist.org/packages/fadhila36/pakasir-sdk)[ RSS](/packages/fadhila36-pakasir-sdk/feed)WikiDiscussions main Synced today

READMEChangelog (2)Dependencies (11)Versions (3)Used By (0)

Pakasir Payment Gateway Laravel SDK
===================================

[](#pakasir-payment-gateway-laravel-sdk)

[![Pakasir Logo](https://raw.githubusercontent.com/zeative/pakasir-sdk/main/media/pakasir-gap.png)](https://raw.githubusercontent.com/zeative/pakasir-sdk/main/media/pakasir-gap.png)

Sebuah SDK Laravel modern, modular, dan type-safe untuk mengintegrasikan layanan gerbang pembayaran (payment gateway) **[Pakasir](https://app.pakasir.com)** ke aplikasi Anda.

SDK ini mendukung QRIS, Virtual Account multi-bank (BNI, BRI, CIMB, Permata, dll), serta PayPal dengan kalkulasi biaya (fee) otomatis, timeout/retry otomatis, logging, Laravel Events, dan sistem verifikasi Webhook terproteksi.

[![Packagist Version](https://camo.githubusercontent.com/3f31096999f33248c7b7dce00544644eb148de168f2648ea78b2ffcf2d1e436f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f66616468696c6133362f70616b617369722d73646b2e737667)](https://packagist.org/packages/fadhila36/pakasir-sdk)[![GitHub Code Size](https://camo.githubusercontent.com/6875b84ce99cdfa3a782b5f1f2a59eec7c7def406c4a981867536e60be01a6fc/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f66616468696c6133362f70616b617369722d73646b)](https://github.com/fadhila36/pakasir-sdk)[![PHP](https://camo.githubusercontent.com/274d26c7a375ebaceffccdd21d588aca3f83b3e6030f8f885e4c4d8872cb9162/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e332532422d626c75653f7374796c653d666c61742d737175617265266c6f676f3d706870)](https://github.com/fadhila36/pakasir-sdk)[![GitHub License](https://camo.githubusercontent.com/8875ded4bee6701d37f89bf94979e69f194f5133db75250fe6902c86245a5d5e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f66616468696c6133362f70616b617369722d73646b)](https://github.com/fadhila36/pakasir-sdk)[![GitHub Stars](https://camo.githubusercontent.com/1ef96018af86b13231d1ed28b7eaff0f45ee9289c1ee32e4d629652d25ae9796/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f66616468696c6133362f70616b617369722d73646b)](https://github.com/fadhila36/pakasir-sdk)

---

⚡ Fitur Unggulan
----------------

[](#-fitur-unggulan)

- **Laravel 13+ &amp; PHP 8.3+ Ready** dengan standard strict typing (`declare(strict_types=1)`).
- **Data Transfer Objects (DTO):** Semua respons API dipetakan secara type-safe ke objek DTO untuk autocompletion penuh di IDE Anda.
- **Webhook Spoofing Protection:** Metode `verifyWebhook()` secara otomatis memverifikasi payload dan melakukan *double-check query* langsung ke server Pakasir.
- **Enterprise Connection Handling:** Konfigurasi timeout, retry attempts, dan delay secara otomatis pada koneksi API.
- **Laravel Events Support:** Trigger event seperti `TransactionCreated`, `PaymentCompleted`, `TransactionCanceled`, dan `WebhookReceived` secara instan.
- **Out-of-the-box Notifications:** Kirim tagihan tautan pembayaran menggunakan Laravel Notification dengan template siap pakai.

---

📦 Instalasi
-----------

[](#-instalasi)

Pastikan server Anda menggunakan **PHP 8.3+** dan aplikasi Anda berbasis **Laravel 11.0 s/d 13.0+**.

Jalankan perintah Composer berikut untuk menginstal:

```
composer require fadhila36/pakasir-sdk
```

---

🛠️ Konfigurasi
--------------

[](#️-konfigurasi)

1. Publikasikan file konfigurasi package ke aplikasi host Anda:

```
php artisan vendor:publish --provider="Fadhila36\Pakasir\PakasirServiceProvider" --tag="config"
```

2. Atur kredensial proyek Pakasir Anda di file `.env`:

```
PAKASIR_PROJECT=slug-proyek-anda
PAKASIR_API_KEY=api-key-rahasia-anda
PAKASIR_TIMEOUT=30
PAKASIR_RETRY_ATTEMPTS=3
PAKASIR_LOGGING_ENABLED=true
```

---

🚀 Penggunaan Cepat
------------------

[](#-penggunaan-cepat)

### 1. Membuat Transaksi Pembayaran

[](#1-membuat-transaksi-pembayaran)

Gunakan `PaymentMethod` Enum untuk kenyamanan autocompletion dan validasi otomatis:

```
use Fadhila36\Pakasir\Enums\PaymentMethod;
use Fadhila36\Pakasir\Facades\Pakasir;

// Membuat transaksi QRIS secara instan
$transaction = Pakasir::createPayment(
    paymentMethod: PaymentMethod::QRIS,
    orderId: 'INV-' . time(),
    amount: 50000,
    redirectUrl: 'https://websitekamu.com/invoice/complete' // Opsional
);

// Respon berupa DTO yang type-safe & IDE Friendly
echo $transaction->paymentUrl;     // Tautan ke pembayaran
echo $transaction->paymentNumber;  // Kode QRIS atau nomor VA
echo $transaction->totalPayment;   // Nominal + Fee
```

---

### 2. Memproses &amp; Memverifikasi Webhook Secara Aman

[](#2-memproses--memverifikasi-webhook-secara-aman)

Untuk menghindari eksploitasi webhook palsu, gunakan fitur `verifyWebhook()` yang akan memvalidasi data dan memverifikasi langsung ke server resmi Pakasir:

```
use Fadhila36\Pakasir\Facades\Pakasir;
use Fadhila36\Pakasir\Exceptions\WebhookValidationException;

public function handleWebhook(Request $request)
{
    try {
        // Ambil nominal tagihan asli dari database Anda
        $expectedAmount = $order->amount;

        // Verifikasi & Double-Check ke server Pakasir secara otomatis
        $webhookData = Pakasir::verifyWebhook($request->all(), $expectedAmount);

        // Jika lolos verifikasi, ubah status transaksi di DB Anda
        $order->update([
            'status' => $webhookData->status->value, // e.g., 'completed'
            'completed_at' => $webhookData->completedAt,
        ]);

        return response()->json(['status' => 'ok']);
    } catch (WebhookValidationException $e) {
        // Log & tolak jika webhook mencurigakan atau tidak valid
        return response()->json(['message' => $e->getMessage()], 400);
    }
}
```

---

💰 Pilihan Metode Pembayaran (`PaymentMethod`)
---------------------------------------------

[](#-pilihan-metode-pembayaran-paymentmethod)

SDK menyediakan Enum lengkap dengan kalkulasi biaya (fee) dan validasi nominal minimum terintegrasi:

MethodEnum CaseCodeEstimasi FeeAll Methods`PaymentMethod::ALL``all`-QRIS`PaymentMethod::QRIS``qris`0.7% - 1%PayPal`PaymentMethod::PAYPAL``paypal`1% (min 3k)BNI VA`PaymentMethod::BNI_VA``bni_va`Rp3.500BRI VA`PaymentMethod::BRI_VA``bri_va`Rp3.500CIMB Niaga VA`PaymentMethod::CIMB_NIAGA_VA``cimb_niaga_va`Rp3.500Maybank VA`PaymentMethod::MAYBANK_VA``maybank_va`Rp3.500Permata VA`PaymentMethod::PERMATA_VA``permata_va`Rp3.500BNC VA`PaymentMethod::BNC_VA``bnc_va`Rp3.500ATM Bersama VA`PaymentMethod::ATM_BERSAMA_VA``atm_bersama_va`Rp3.500Sampoerna VA`PaymentMethod::SAMPOERNA_VA``sampoerna_va`Rp2.000Artha Graha VA`PaymentMethod::ARTHA_GRAHA_VA``artha_graha_va`Rp2.000---

📖 API Reference
---------------

[](#-api-reference)

### 1. `createPayment()`

[](#1-createpayment)

Membuat transaksi baru secara realtime di server Pakasir.

```
Pakasir::createPayment(
    string|PaymentMethod $paymentMethod,
    string $orderId,
    int|float $amount,
    ?string $redirectUrl = null
): TransactionCreateResponse;
```

### 2. `detailPayment()`

[](#2-detailpayment)

Mengambil status detail transaksi terkini dari server Pakasir.

```
Pakasir::detailPayment(string $orderId, int|float $amount): TransactionDetailResponse;
```

### 3. `cancelPayment()`

[](#3-cancelpayment)

Membatalkan tagihan transaksi yang sedang aktif/pending.

```
Pakasir::cancelPayment(string $orderId, int|float $amount): TransactionDetailResponse;
```

### 4. `simulationPayment()`

[](#4-simulationpayment)

Melakukan simulasi pembayaran sukses (khusus mode Sandbox/testing).

```
Pakasir::simulationPayment(string $orderId, int|float $amount): TransactionDetailResponse;
```

### 5. `verifyWebhook()`

[](#5-verifywebhook)

Memparse dan memvalidasi keabsahan data webhook masukan.

```
Pakasir::verifyWebhook(array $payload, int|float $expectedAmount): WebhookPayload;
```

---

📜 Lisensi
---------

[](#-lisensi)

Didistribusikan di bawah lisensi **MIT License**. Lihat dokumen [`LICENSE`](LICENSE) untuk informasi lebih lanjut.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance91

Actively maintained with recent releases

Popularity21

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

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 ~116 days

Total

2

Last Release

43d ago

Major Versions

v1.0.0 → v2.0.02026-05-22

PHP version history (2 changes)v1.0.0PHP ^8.1

v2.0.0PHP ^8.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/37483304?v=4)[Muhammad Fadhila Abiyyu Faris](/maintainers/Fadhila36)[@Fadhila36](https://github.com/Fadhila36)

---

Top Contributors

[![Fadhila36](https://avatars.githubusercontent.com/u/37483304?v=4)](https://github.com/Fadhila36 "Fadhila36 (3 commits)")

---

Tags

indonesialaravelpakasirpayment-gatewayphpsdkphplaravelsdklaravel-packageapi clientpayment gatewayindonesiafintechpakasir

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/fadhila36-pakasir-sdk/health.svg)

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

###  Alternatives

[sebdesign/laravel-viva-payments

A Laravel package for integrating the Viva Payments gateway

4851.0k](/packages/sebdesign-laravel-viva-payments)[musahmusah/laravel-multipayment-gateways

A Laravel Package that makes implementation of multiple payment Gateways endpoints and webhooks seamless

882.2k1](/packages/musahmusah-laravel-multipayment-gateways)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

273.0k](/packages/eslazarev-wildberries-sdk)

PHPackages © 2026

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