PHPackages                             restugbk/qris-interactive - 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. [API Development](/categories/api)
4. /
5. restugbk/qris-interactive

ActiveLibrary[API Development](/categories/api)

restugbk/qris-interactive
=========================

PHP Class for fetching QRIS Interactive merchant transaction history (Un-official)

v1.0.1(4mo ago)1153MITPHPPHP &gt;=7.4

Since Jan 4Pushed 3mo agoCompare

[ Source](https://github.com/restugbk/qris-interactive)[ Packagist](https://packagist.org/packages/restugbk/qris-interactive)[ RSS](/packages/restugbk-qris-interactive/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

QRIS Interactive Merchant Mutation API
======================================

[](#qris-interactive-merchant-mutation-api)

[![PHP Version](https://camo.githubusercontent.com/2ae89250e51f8a81b52e54661329cf4ef9bd8c05352c16875da05ff1a1e94776/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253345253344372e342d3737376262343f6c6f676f3d706870)](https://www.php.net/)[![License](https://camo.githubusercontent.com/784362b26e4b3546254f1893e778ba64616e362bd6ac791991d2c9e880a3a64e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667)](https://opensource.org/licenses/MIT)[![Open Source Love svg1](https://camo.githubusercontent.com/a8a6219cf0313b681948382bcbcc27a34ae00572d463437bd92ebb1df58647c9/68747470733a2f2f6261646765732e66726170736f66742e636f6d2f6f732f76312f6f70656e2d736f757263652e7376673f763d313033)](https://github.com/restugbk/qris-interactive)

**\[Un-Official\]** A lightweight, Un-Official PHP Library for automating transaction mutation retrieval from the QRIS Interactive Merchant Dashboard. Designed to be framework-agnostic, efficient, and easy to integrate.

---

📦 Installation
--------------

[](#-installation)

Install the package via [Composer](https://getcomposer.org/):

```
composer require restugbk/qris-interactive
```

1. Basic Initialization
-----------------------

[](#1-basic-initialization)

By default, the library stores session data in a `session.json` file within the script's directory.

```
use Restugbk\QrisMerchantMutation;

$username = 'YOUR_USERNAME';
$password = 'YOUR_PASSWORD';

// For Native PHP
$qris = new QrisMerchantMutation($username, $password);

// For Laravel (Recommended: store session in storage folder)
// $qris = new QrisMerchantMutation($username, $password, storage_path('app/qris_session.json'));
```

2. Retrieve Merchant List (Outlets)
-----------------------------------

[](#2-retrieve-merchant-list-outlets)

Before fetching transactions, you must identify the `merchant_id` for your specific outlet.

```
$response = $qris->getMerchant();

if ($response['status']) {
    foreach ($response['data'] as $merchant) {
        echo "Outlet Name: " . $merchant['merchant_name'] . "\n";
        echo "Merchant ID: " . $merchant['merchant_id'] . "\n";
        echo "Address    : " . $merchant['address'] . "\n---\n";
    }
}
```

3. Fetch Transaction Mutations
------------------------------

[](#3-fetch-transaction-mutations)

Retrieve transaction data by providing the `merchant_id` and a date range (Format: `DD/MM/YYYY`).

```
$merchantId = '1234567890';
$startDate  = '01/01/2026';
$endDate    = '03/01/2026';

$result = $qris->getTransactionsByRange($merchantId, $startDate, $endDate);

if ($result['status']) {
    $data = $result['data'];
    echo "Total Records: " . $data['total_records'] . "\n";
    echo "Total Amount : Rp " . number_format($data['summary_amount']) . "\n";

    foreach ($data['transactions'] as $trx) {
        echo "[{$trx['date']}] {$trx['customer']} - Rp " . number_format($trx['amount']) . " ({$trx['status']})\n";
    }
} else {
    echo "Error: " . $result['error'];
}
```

4. Advanced Search (Custom Filtering)
-------------------------------------

[](#4-advanced-search-custom-filtering)

You can search for specific transactions using `RRN`, `Invoice ID`, or `Customer Name` to filter results more accurately without fetching all data.

```
$merchantId = '123456789';
$startDate  = '01/01/2026';
$endDate    = '04/01/2026';

/**
 * Search Category ($item):
 * 'rrn'      -> Search by Retrieval Reference Number
 * 'inv'      -> Search by Invoice ID
 * 'nominal'  -> Search by Transaction Amount
 * 'csname'   -> Search by Customer Name
 * 'infoket'  -> Search by Transaction Note/Description
 */
$filterBy = 'nominal';  // Search Category
$keyword  = '1000'; // The actual value you want to find

$result = $qris->getTransactionsByCustom(
    $merchantId,
    $startDate,
    $endDate,
    $filterBy,
    $keyword
);

if ($result['status']) {
    $data = $result['data'];
    echo "Total Records: " . $data['total_records'] . "\n";
    echo "Total Amount : Rp " . number_format($data['summary_amount']) . "\n";

    foreach ($data['transactions'] as $trx) {
        echo "[{$trx['date']}] {$trx['customer']} - Rp " . number_format($trx['amount']) . " ({$trx['status']})\n";
    }
} else {
    echo "Error: " . $result['error'];
}
```

📋 Data Structure Reference
--------------------------

[](#-data-structure-reference)

The `transactions` array returns the following keys:

KeyTypeDescription`transaction_id`**Integer**Unique transaction ID from the server.`invoice_id`**Integer**Associated Invoice number.`date`**String**Transaction timestamp.`amount`**Integer**Raw transaction nominal.`amount_display`**String**Formatted nominal (e.g., Rp 50.000).`status`**String**Transaction status (Success/Pending/Expired).`payment_method`**String**Customer's payment source (e.g., ShopeePay, OVO).`customer`**String**Customer name or identifier.📄 License
---------

[](#-license)

This open-source software is distributed under the MIT License. See LICENSE for more information.

🛠 Support
---------

[](#-support)

If you found this project helpful, please give it a ⭐ star!

For issues and questions, please create an issue in the GitHub repository.

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance78

Regular maintenance activity

Popularity13

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 82.4% 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

Unknown

Total

1

Last Release

134d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/979b10b38564971cc525f85fc1b473ded4e9738b9c27d6158b7f03acb170d0cf?d=identicon)[restugbk](/maintainers/restugbk)

---

Top Contributors

[![restugbk](https://avatars.githubusercontent.com/u/69737152?v=4)](https://github.com/restugbk "restugbk (14 commits)")[![I-CoderTeam](https://avatars.githubusercontent.com/u/32434111?v=4)](https://github.com/I-CoderTeam "I-CoderTeam (3 commits)")

### Embed Badge

![Health badge](/badges/restugbk-qris-interactive/health.svg)

```
[![Health](https://phpackages.com/badges/restugbk-qris-interactive/health.svg)](https://phpackages.com/packages/restugbk-qris-interactive)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

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