PHPackages                             fadhila36/laravel-multipayment - 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/laravel-multipayment

ActiveLibrary[Payment Processing](/categories/payments)

fadhila36/laravel-multipayment
==============================

Multi-payment gateway integration for Laravel (Midtrans, Xendit, Duitku, AyoConnect, Doku) with Fonnte WhatsApp integration.

v1.0.2(3mo ago)12MITPHPPHP ^8.1

Since Jan 23Pushed 3mo agoCompare

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

READMEChangelog (3)Dependencies (5)Versions (5)Used By (0)

Laravel Multipayment Package
============================

[](#laravel-multipayment-package)

[![Latest Version on Packagist](https://camo.githubusercontent.com/b36bf181a60a048b519a1eeaf722c2f0a34eee10889096fe06cba2147535193f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f66616468696c6133362f6c61726176656c2d6d756c74697061796d656e742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fadhila36/laravel-multipayment)[![Tests](https://github.com/fadhila36/laravel-multipayment/actions/workflows/run-tests.yml/badge.svg)](https://github.com/fadhila36/laravel-multipayment/actions)[![Total Downloads](https://camo.githubusercontent.com/324bf35fd4377825d9cca733c5d212a4760e9e35c470a5e773fe0c23d46fc918/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f66616468696c6133362f6c61726176656c2d6d756c74697061796d656e742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fadhila36/laravel-multipayment)

**[Dokumentasi Bahasa Indonesia](#dokumentasi-bahasa-indonesia-%F0%9F%87%AE%F0%9F%87%A9)** | **[English Documentation](docs/README.en.md) 🇺🇸**

---

Dokumentasi Bahasa Indonesia 🇮🇩
===============================

[](#dokumentasi-bahasa-indonesia-)

Package Laravel yang lengkap dan siap produksi untuk integrasi multi-payment gateway (**Midtrans**, **Xendit**, **Duitku**, **AyoConnect**, **Doku**) serta notifikasi **Fonnte** (WhatsApp).

> **Kompatibilitas**: Mendukung penuh Laravel 10, 11, dan 12.x. **Optimasi AI**: Struktur kode bersih dan modular, sangat mudah dipahami oleh AI Agent seperti Antigravity. **Pemula?** Baca **[Panduan Langkah-demi-Langkah (Tutorial)](docs/TUTORIAL.md)** untuk integrasi dalam 5 menit.

Fitur Utama
-----------

[](#fitur-utama)

- **Multi-Gateway**: Satu API standar untuk berbagai gateway populer di Indonesia.
- **Kepatuhan Ketat**: Signature, Header, dan Parameter 100% mengikuti dokumentasi resmi.
- **Notifikasi Otomatis**:
    - **WhatsApp**: Menggunakan API Fonnte (via Queue).
    - **Email**: Menggunakan Laravel Mailable (via Queue).
- **Event Driven**: Sistem Event `PaymentPaid` yang fleksibel.

Instalasi
---------

[](#instalasi)

1. Install via composer: ```
    composer require fadhila36/laravel-multipayment
    ```
2. Publish konfigurasi: ```
    php artisan vendor:publish --tag=multipayment-config
    ```

Konfigurasi &amp; Environment
-----------------------------

[](#konfigurasi--environment)

Atur file `.env` Anda.

```
# Channel Notifikasi (Set false jika ingin mematikan)
MULTIPAYMENT_NOTIFY_WHATSAPP=true
MULTIPAYMENT_NOTIFY_EMAIL=true

# Midtrans
MIDTRANS_SERVER_KEY=kunci-server-anda
MIDTRANS_IS_PRODUCTION=false

# Xendit
XENDIT_API_KEY=api-key-anda
XENDIT_CALLBACK_TOKEN=token-verifikasi-callback

# Fonnte (Untuk WA)
FONNTE_TOKEN=token-fonnte-anda
```

### Panduan Development vs Production

[](#panduan-development-vs-production)

FiturDevelopment (Lokal)Production (Live)**Mode Gateway**Set `IS_PRODUCTION=false` di .env untuk menggunakan Sandbox/Testing environment.Set `IS_PRODUCTION=true`. Pastikan menggunakan **Production Key** dari dashboard gateway.**Queue (Antrian)**Gunakan `QUEUE_CONNECTION=sync` agar notifikasi langsung terkirim saat dev.Gunakan `redis` atau `database`. Wajib jalankan worker (lihat bawah).**Worker**Tidak wajib.**Wajib** jalankan `php artisan queue:work` agar email &amp; WA terkirim di background.**Keamanan**-Pastikan `XENDIT_CALLBACK_TOKEN` dan Signature Key dirahasiakan.Cara Penggunaan
---------------

[](#cara-penggunaan)

### 1. Membuat Pembayaran

[](#1-membuat-pembayaran)

Gunakan Facade di Controller Anda. Syntax sama untuk semua gateway.

```
use Fadhila36\Multipayment\Facades\Multipayment;

public function bayar()
{
    // Driver bisa diganti: 'midtrans', 'xendit', 'duitku', 'doku', 'ayoconnect'
    $payment = Multipayment::driver('midtrans')->createPayment([
        'order_id' => 'INV-' . time(),
        'amount' => 100000,
        'customer' => [
            'name' => 'Budi Santoso',
            'email' => 'budi@example.com',
            'phone' => '08123456789', // Wajib untuk notifikasi WA
        ],
    ]);

    // Redirect user ke halaman pembayaran
    return redirect($payment['payment_url']);
}
```

### 2. Menangani Webhook (Update Database)

[](#2-menangani-webhook-update-database)

Package ini sudah menangani validasi keamanan signature secara otomatis. Anda cukup membuat **Listener** untuk mengupdate database aplikasi Anda.

**Langkah 1:** Buat Listener `php artisan make:listener UpdateStatusPesanan`

**Langkah 2:** Isi Logic Update

```
use Fadhila36\Multipayment\Events\PaymentPaid;

public function handle(PaymentPaid $event)
{
    // $event->status berisi data standar: orderId, amount, paymentType
    $idOrder = $event->status->orderId;

    // Cari di database dan update
    $pesanan = Pesanan::find($idOrder);
    $pesanan->update(['status' => 'lunas']);
}
```

**Langkah 3:** Daftarkan Event Buka `app/Providers/EventServiceProvider.php`:

```
protected $listen = [
    \Fadhila36\Multipayment\Events\PaymentPaid::class => [
        \App\Listeners\UpdateStatusPesanan::class,
    ],
];
```

Pengujian (Testing)
-------------------

[](#pengujian-testing)

Jalankan perintah ini untuk memastikan semua integrasi berjalan lancar:

```
vendor/bin/phpunit
```

Referensi Resmi
---------------

[](#referensi-resmi)

- [Midtrans Docs](https://docs.midtrans.com/)
- [Xendit Docs](https://docs.xendit.co/)
- [Duitku Docs](https://docs.duitku.com/)
- [Doku Docs](https://docs.doku.com/)
- [Fonnte Docs](https://docs.fonnte.com/)

---

License: MIT

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance79

Regular maintenance activity

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

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

Total

3

Last Release

108d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5e26d7d662a48d66c573ec3f6bec174a1ab1891f4af26b1b2f9fd423d1a0dd37?d=identicon)[Fadhila36](/maintainers/Fadhila36)

---

Top Contributors

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

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/fadhila36-laravel-multipayment/health.svg)

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

###  Alternatives

[sebdesign/laravel-viva-payments

A Laravel package for integrating the Viva Payments gateway

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

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

852.2k1](/packages/musahmusah-laravel-multipayment-gateways)[karson/mpesa-php-sdk

172.2k](/packages/karson-mpesa-php-sdk)[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)

PHPackages © 2026

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