Download the PHP package vonsofh/laravel-faspay-test-lab without Composer
On this page you can find all versions of the php package vonsofh/laravel-faspay-test-lab. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download vonsofh/laravel-faspay-test-lab
More information about vonsofh/laravel-faspay-test-lab
Files in vonsofh/laravel-faspay-test-lab
Package laravel-faspay-test-lab
Short Description Faspay SNAP UAT Certification & Functional Test Lab for Laravel (QRIS, VA, Direct Debit).
License MIT
Homepage https://github.com/vonsofh/laravel-faspay-test-lab
Informations about the package laravel-faspay-test-lab
Laravel Faspay SNAP Test Lab 🧪
A developer-friendly Laravel extension / package that provides an automated testing lab and official UAT certification evidence generator for Faspay SNAP (QRIS, Virtual Account, Direct Debit).
Install it into any existing Laravel project with a single composer require command—no need to clone a boilerplate or juggle complicated Postman workspaces.
🎯 Features & Scope
- Zero Project Overlap:
- Isolated route prefix:
/faspay-test-lab(configurable). - Unique route names:
faspay-test-lab.*. - Dedicated view namespace:
faspay-test-lab::*. - Isolated database tables:
faspay_test_lab_merchantsandfaspay_test_lab_runs. - Environment guard: auto-disabled in production unless explicitly turned on.
- Isolated route prefix:
- Automated UAT Certification Scenarios:
- Runs Faspay SNAP QRIS scenarios (18.1 – 18.25) with live progress and single-case rerun capability.
- Generates valid SNAP SHA256withRSA signatures on the fly.
- Multi-request evidence capture for conflict and query flows.
- Bundled Official Faspay Excel Templates:
FASPAY QRIS - Skenario Functional Test_V.3.2.xlsxFaspay VA - Skenario Functional Test_V.3.0 static.xlsxFASPAY Direct Debit - Skenario Functional Test_V.3.2.xlsx- Directly loads bundled templates via PhpSpreadsheet and outputs official certification evidence in one click.
- Interactive Payment Flow (Case 18.12):
- Reuses QR generated in case 18.6 with built-in auto-polling for payment confirmation via Faspay Payment Simulator.
- QRIS Payment Notification Evidence (Case 18.25):
- Receives the official SNAP QRIS callback at
/faspay/sandbox/v1.0/qr/qr-mpm-notify. - Verifies Faspay's SHA256withRSA signature, matches references generated by case 18.6, and records the callback request and merchant response in the test run.
- Never settles or modifies application payments; the endpoint only updates isolated Test Lab evidence.
- Receives the official SNAP QRIS callback at
- Security-First:
- Private keys are encrypted at rest using Laravel's application key (
APP_KEY). - Private keys are hidden from UI, API responses, logs, and exported spreadsheets.
- Private keys are encrypted at rest using Laravel's application key (
📦 Installation
Install the package via Composer into your Laravel application:
Run the install command to publish the config and run migrations:
(Or run php artisan migrate directly—package auto-discovery takes care of everything).
For automated production deployment, install the package as a regular dependency (not require-dev) because Faspay must reach the notification endpoint in production:
🚀 Usage
-
Open your browser and navigate to:
- Add a Merchant Profile:
Enter your Faspay Merchant ID, Base URL (
https://debit-sandbox.faspay.co.id), Channel ID, QRIS Channel Code, and RSA Private Key PEM. - Run Automated Tests: Click "Run All Automated Tests" or execute individual cases.
- Test Payment Verification (18.12): Scan or copy the QR from case 18.6, pay via the Faspay Sandbox Simulator, and click "Check Payment Status" or "Start Auto Check".
- Download Official Excel Report: Click "Export XLSX" on the result page to download the populated official Faspay certification spreadsheet.
QRIS Payment Notification (Case 18.25)
Configure Faspay's sandbox notification URL as:
Enable the receiver and configure the public key supplied by Faspay in the host application's .env:
The public key can alternatively be read from a server-side file:
If the host already defines FASPAY_SANDBOX_PUBLIC_KEY_PATH, the package uses that file automatically.
The legacy Debit Transaction endpoint /faspay/sandbox/payment-notification is a different protocol and must not be used for SNAP QRIS notification.
⚙️ Configuration (Optional)
Publish the configuration file:
In config/faspay-test-lab.php:
🎨 Customizing Views or Templates
If you wish to customize the Blade views or templates:
🔒 Security
- The package includes
EnsureTestLabEnabledmiddleware that automatically returns HTTP 404 in non-local environments unlessFASPAY_TEST_LAB_ENABLED=trueis explicitly set in.env. - Merchant private keys are stored encrypted via Laravel's native
encryptedmodel cast and are never exposed in JSON responses or exported files.
📄 License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-faspay-test-lab with dependencies
illuminate/database Version ^10.0|^11.0|^12.0|^13.0
illuminate/http Version ^10.0|^11.0|^12.0|^13.0
illuminate/routing Version ^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
illuminate/view Version ^10.0|^11.0|^12.0|^13.0
phpoffice/phpspreadsheet Version ^1.28|^2.0|^3.0|^5.0