Download the PHP package elgibor-solution/laravel-payment-bni without Composer

On this page you can find all versions of the php package elgibor-solution/laravel-payment-bni. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-payment-bni

elgibor-solution/laravel-payment-bni

Namespace: ESolution\BNIPayment

Laravel package to integrate BNI Virtual Account / eCollection and BNI QRIS SNAP BI (MPM) with:


📦 Installation

Publish config & migration:


⚙️ Configuration

File utama konfigurasi: config/bni.php

ENV minimal

Potongan config/bni.php (versi baru)

⚠️ Catatan: Untuk VA / eCollection masih memakai mekanisme lama (BniEnc). SNAP BI khusus untuk channel qris.


🧱 Arsitektur Singkat

Class Fungsi
BaseClient HTTP client, logger, routing ke host BNI (VA / SNAP)
BniVaClient Integrasi BNI Virtual Account / eCollection
BniQrisClient Integrasi BNI QRIS SNAP BI (generate QR & inquiry)
BniSnapAuth Access Token B2B, X-SIGNATURE (HMAC / RSA)
BniEnc Enkripsi / dekripsi payload BNI VA
BniPaymentLog Audit trail request/response
BniBilling Mirror data billing VA di DB
Event BniPaymentReceived Dikirim saat ada webhook payment
Event BniBillingPaid Dikirim saat VA sukses dibayar
Event BniBillingExpired Dikirim saat VA kedaluwarsa

🧾 Penggunaan BNI VA / eCollection

1. Persiapan data kredensial

Untuk VA, kamu akan menerima dari BNI:

Saran: simpan di .env kamu sendiri:

Dan di config/services.php (opsional):

2. Membuat VA (Create Billing)

Paket ini akan otomatis:

3. Update VA (Update Billing)

4. Inquiry VA (Cek Status Billing)


🔔 Webhook Payment Notification (VA)

Paket ini menyediakan route webhook default untuk notifikasi pembayaran BNI VA.

1. Route

Setelah publish config, route default:

Route ini:

2. Contoh Listener

Daftarkan listener di EventServiceProvider:

Contoh listener sederhana:


🕒 Scheduler & Reconcile

Aktifkan scheduler di .env:

Tambahkan ke app/Console/Kernel.php:

Jalankan manual:


💳 Penggunaan BNI QRIS SNAP BI (MPM)

1. Inisialisasi Client

2. Generate Dynamic QR (MPM)

3. Inquiry Payment (MPM Query Payment)

BniQrisClient::createDynamic() dan BniQrisClient::inquiryStatus() masih ada sebagai alias untuk kompatibilitas mundur, namun disarankan pindah ke generateQr() dan queryPayment().


🔑 Access Token B2B SNAP

Access Token (../{version}/access-token/b2b) diambil otomatis oleh BaseClient ketika:

Token disimpan di Laravel Cache.

Jika ingin ambil manual:


🔐 X-SIGNATURE (HMAC / RSA)

Implementasi mengikuti dokumen MPM – BNI QR ACQUIRING MERCHANT API SNAP BI v1.5.5.

Signature Type 1 – Symmetric (HMAC SHA512)

Header:

Signature Type 2 – Asymmetric (RSA SHA256)

Header:

Paket ini menangani detail tersebut secara otomatis lewat BniSnapAuth::buildRequestSignature() dan BaseClient::snapRequest().


🧪 Testing

Atau dari Tinker:


🤝 Contributing

Pull request dan issue sangat diterima.

  1. Fork repository
  2. Buat branch feature: git checkout -b feature/nama-feature
  3. Commit & push
  4. Buka Pull Request

📄 License

Apache 2.0


🧑‍💻 Maintainer

PT Elgibor Solusi Digital
https://elgibor-solution.com


All versions of laravel-payment-bni with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/support Version ^11 || ^12
illuminate/http Version ^11 || ^12
illuminate/contracts Version ^11 || ^12
guzzlehttp/guzzle Version ^7.9
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package elgibor-solution/laravel-payment-bni contains the following files

Loading the files please wait ...