v1.26.0701
API beroperasi normal

Pembayaran QRIS,
langsung terintegrasi.

Bangun pengalaman pembayaran yang cepat dan stabil melalui Open API InterActive QRIS. Mulai dari pembuatan invoice hingga notifikasi pembayaran real-time.

Integrasi cepat

Endpoint sederhana dan respons JSON yang mudah dipahami.

Transaksi aman

Infrastruktur pembayaran yang stabil untuk kebutuhan produksi.

Status real-time

Webhook otomatis saat status pembayaran berubah.

Pengertian API

API adalah singkatan dari Application Programming Interface.

API digunakan sebagai penghubung jalur data antar platform aplikasi yang berbeda bahasa pemrograman sekalipun.

API biasanya digunakan dalam bisnis dan diakses secara online dengan kondisi dan ketentuan tertentu.

NOTE : InterActive disini berperan sebagai Provider (Penyedia) yang membuka/OPEN API InterActive QRIS dan Anda sebagai pengembang / developer sebuah layanan aplikasi yang dapat memanfaatkan API InterActive QRIS ini dengan perjanjian tertentu.

Pengertian QRIS

QRIS adalah media QR untuk menerima pembayaran dari e-wallet dan mobile banking yang mendukung QRIS (atau memiliki fitur pembayaran via scan kode QRIS).

QRIS adalah standar kode QR Nasional di Indonesia yang diluncurkan oleh Bank Indonesia (BI) dan Asosiasi Sistem Pembayaran Indonesia (ASPI) pada 17 Agustus 2019.

Pelajari di link ini untuk mengetahui lebih lanjut tentang InterActive QRIS

Contoh Pemanfaatan OPEN API QRIS

  • Menampilkan Total Transaksi belanja pada Aplikasi POS (Kasir).
  • Menampilkan Total Transaksi belanja pada Aplikasi e-commerce.
  • Menampilkan Total Transaksi pada Aplikasi pembayaran tagihan rutin.
  • Menampilkan Total Transaksi pembayaran untuk Aplikasi pembelian tiket.
  • dan lain sebagainya.

*) Jika Anda memerlukan diskusi lebih lanjut terkait teknis integrasi API InterActive QRIS, Anda dapat menghubungi nomor Customer Service kami di WhatsApp.

Prosedur Pengajuan

  1. Melengkapi Form Pengajuan OPEN API pada alamat berikut ini :
  2. Mendaftar sebagai Merchant QRIS pada form Registrasi InterActive QRIS pada Website. Klik Link berikut : https://interactive.co.id/qris/register
  3. Mendapatkan mID dan NMID QRIS. (kurang lebih 2 hari kerja setelah proses registrasi dan melengkapi semua data)
  4. Menandatangani PKS (Perjanjian Kerja Sama) dan NDA untuk menggunakan API InterActive QRIS.
  5. Mendapatkan Akses berupa APIKEY (pada email yang didaftarkan saat registrasi) untuk mengintegrasikan API InterActive QRIS.
Mulai dalam empat tahap

Quick Start

InterActive berperan sebagai penyedia Open API QRIS. Anda dapat menghubungkan aplikasi kasir, e-commerce, pembayaran tagihan, tiket, dan berbagai layanan lain.

01

Ajukan API

Isi formulir pengajuan Open API.

02

Daftar merchant

Lengkapi registrasi Merchant QRIS.

03

Verifikasi

Dapatkan mID dan NMID ±2 hari kerja.

04

Mulai integrasi

Tandatangani PKS/NDA dan terima APIKEY.

Catatan: QRIS adalah standar kode QR pembayaran nasional Indonesia yang diluncurkan Bank Indonesia dan ASPI.
Kredensial

Autentikasi

Setiap request menggunakan apikey dan mID yang dikirim sebagai parameter. Simpan APIKEY di sisi server dan jangan menampilkannya pada aplikasi publik.

Request query
apikey=YOUR_API_KEY&mID=YOUR_MERCHANT_ID
API Reference

Create Invoice

Membuat QRIS Dinamis sesuai nominal transaksi. Simpan qris_content, qris_request_date, dan qris_invoiceid untuk menampilkan ulang serta memeriksa status pembayaran.

Definisi

API ini digunakan untuk menampilkan Nominal Transaksi QRIS pada aplikasi Anda agar dapat digunakan oleh pengguna aplikasi untuk membayar/scan transaksi menggunakan metode QRIS.

Nominal Transaksi berupa Total Transaksi yang akan dibayar dan harus ditentukan dari aplikasi Anda.

Aplikasi Anda akan mendapatkan Konten QRIS (qris_content) yang dapat dimanfaatkan untuk menampilkan QR Code sesuai dengan library yang digunakan pada Bahasa Pemrograman yang Anda gunakan.

Disarankan untuk menyimpan Konten QRIS (qris_content), tanggal generate (qris_request_date) dan Invoice ID (qris_invoiceid) ke database Anda yang nanti dapat dimanfaatkan untuk menampilkan ulang sebelum Konten teks QRIS tersebut Expired dan Invoice ID (qris_invoiceid) dapat digunakan untuk memeriksa status pembayaran QRIS.

Batas waktu kadaluarsa (expired) 30 menit semenjak QRIS ditampilkan. Saat Expired maka QRIS akan gagal saat di-scan oleh pengguna.

Nominal Transaksi (dalam mata uang RUPIAH / IDR) yang dapat digunakan untuk scan QRIS berbeda-beda minimal dan maksimalnya.

  • e-wallet GOPAY minimal Rp. 100
  • e-wallet DANA minimal Rp. 100
  • e-wallet ShopeePay minimal Rp. 100
  • e-wallet LinkAja minimal Rp. 100
  • e-wallet OVO minimal Rp. 1000
  • Bank Nasional di Indonesia minimal Rp. 100

Maksimal jumlah transaksi biasanya adalah Rp 2.000.000 atau juga bisa lebih tergantung dari Jenis Akun pengguna disetiap aplikasi e-wallet.

GET https://qris.interactive.co.id/restapi/qris/show_qris.php
Parameter Tipe Contoh Keterangan
dostringcreate-invoiceWAJIB · Nilai tetap
apikeystringa789789WAJIB · Dari email aktivasi
mIDinteger123456WAJIB · Merchant ID
cliTrxNumberstringPJ0099WAJIB · Nomor transaksi aplikasi Anda
cliTrxAmountinteger10000WAJIB · Nilai akhir dalam Rupiah
useTipstringnoWAJIB · Gunakan yes atau no
QRIS berlaku 30 menit sejak qris_request_date dalam WIB (UTC+7). Setelah itu QRIS tidak dapat dibayar.
Perhatian — API produksi: Pemindaian QRIS akan benar-benar mengurangi saldo pengguna dan pembayaran tidak dapat dikembalikan.
JSON · Success response
{
  "status": "success",
  "data": {
    "qris_content": "0002010102122668...39B7",
    "qris_request_date": "2025-12-31 11:13:42",
    "qris_invoiceid": "413255111",
    "qris_nmid": "ID1020021181745"
  }
}
API Reference

Check Invoice Status

Periksa apakah QRIS Dinamis telah dibayar. Jalankan pengecekan melalui tindakan pengguna; jangan melakukan auto-check berulang dalam jarak dekat karena APIKEY dapat terblokir.

GET https://qris.interactive.co.id/restapi/qris/checkpaid_qris.php
Parameter Tipe Contoh Keterangan
dostringcheckStatusWAJIB · Nilai tetap
apikeystringa789789WAJIB · APIKEY aktif
mIDinteger123456WAJIB · Merchant ID
invidinteger413255111WAJIB · qris_invoiceid
trxvalueinteger10000WAJIB · Nominal transaksi
trxdateYYYY-mm-dd2025-12-31WAJIB · Tanggal pembayaran
Rekomendasi: gunakan timeout 15 detik hingga 3 kali, atau CronJob setiap 60 detik maksimal 30 kali selama status masih failed.
JSON · Paid response
{
  "status": "success",
  "data": {
    "qris_status": "paid",
    "qris_payment_customername": "EDWIN PERDANA",
    "qris_payment_methodby": "BCA"
  },
  "qris_api_version_code": "2505011709"
}
Testing

Sandbox Generate Invoice

Gunakan parameter pengujian untuk memvalidasi integrasi sebelum alur dipakai pengguna. Sandbox menampilkan QR, Invoice ID, NMID, tanggal request, dan QRIS Content.

Generate Invoice QRIS

QRIS Sandbox
SANDBOX

Generate QRIS Invoice untuk kebutuhan pengujian pada environment Sandbox.

Generate QRIS Sandbox

Gunakan form berikut untuk melakukan pengujian Generate Invoice QRIS pada environment Sandbox. Data yang digunakan dapat disesuaikan dengan kebutuhan trial.

Request Parameter Parameter yang digunakan untuk generate Invoice QRIS.
Notifikasi server

QRIS Webhook

Server InterActive mengirim request POST berformat JSON ke URL webhook Anda setiap kali status transaksi berubah.

POST URL webhook milik merchant · Content-Type: application/json
JSON · Webhook payload
{
  "rrn": "000380970875",
  "note": "1 BAYAR-1780021587-FCD7FD 10200",
  "invoice": "37691693",
  "qris_status": "success",
  "qris_paid_date": "2026-05-29 09:27:09",
  "qris_payment_methodby": "BCA",
  "qris_payment_customername": "DIKE WIDIA PARAMITA"
}

Success

Transaksi selesai dan pembayaran telah diterima.

Pending

Transaksi diproses dan belum memiliki status final.

Failed

Transaksi atau pembayaran tidak berhasil.

Troubleshooting

Kode & Penanganan Error

Response gagal menggunakan status: failed. Periksa nominal, APIKEY, mID, nomor transaksi, dan seluruh parameter wajib. Status unpaid berarti invoice belum dibayar.

JSON · Failed response
{
              "status": "failed",
              "data": { "qris_status": "unpaid" }
            }
Referensi

Daftar Istilah

mID
Merchant ID internal yang diperoleh saat aktivasi.
NMID
National Merchant ID untuk identitas merchant QRIS.
NDA
Perjanjian kerahasiaan sebelum akses API diberikan.