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.
Endpoint sederhana dan respons JSON yang mudah dipahami.
Infrastruktur pembayaran yang stabil untuk kebutuhan produksi.
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
-
Melengkapi Form Pengajuan OPEN API pada alamat berikut ini :
- Klik Link berikut : https://qris.interactive.co.id/homepage/open-api
- Mendaftar sebagai Merchant QRIS pada form Registrasi InterActive QRIS pada Website. Klik Link berikut : https://interactive.co.id/qris/register
- Mendapatkan mID dan NMID QRIS. (kurang lebih 2 hari kerja setelah proses registrasi dan melengkapi semua data)
- Menandatangani PKS (Perjanjian Kerja Sama) dan NDA untuk menggunakan API InterActive QRIS.
- Mendapatkan Akses berupa APIKEY (pada email yang didaftarkan saat registrasi) untuk mengintegrasikan API InterActive QRIS.
Quick Start
InterActive berperan sebagai penyedia Open API QRIS. Anda dapat menghubungkan aplikasi kasir, e-commerce, pembayaran tagihan, tiket, dan berbagai layanan lain.
Ajukan API
Isi formulir pengajuan Open API.
Daftar merchant
Lengkapi registrasi Merchant QRIS.
Verifikasi
Dapatkan mID dan NMID ±2 hari kerja.
Mulai integrasi
Tandatangani PKS/NDA dan terima APIKEY.
Autentikasi
Setiap request menggunakan apikey dan mID yang dikirim sebagai parameter. Simpan APIKEY di sisi server dan jangan menampilkannya pada aplikasi publik.
apikey=YOUR_API_KEY&mID=YOUR_MERCHANT_ID
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.
https://qris.interactive.co.id/restapi/qris/show_qris.php
| Parameter | Tipe | Contoh | Keterangan |
|---|---|---|---|
do | string | create-invoice | WAJIB · Nilai tetap |
apikey | string | a789789 | WAJIB · Dari email aktivasi |
mID | integer | 123456 | WAJIB · Merchant ID |
cliTrxNumber | string | PJ0099 | WAJIB · Nomor transaksi aplikasi Anda |
cliTrxAmount | integer | 10000 | WAJIB · Nilai akhir dalam Rupiah |
useTip | string | no | WAJIB · Gunakan yes atau no |
{
"status": "success",
"data": {
"qris_content": "0002010102122668...39B7",
"qris_request_date": "2025-12-31 11:13:42",
"qris_invoiceid": "413255111",
"qris_nmid": "ID1020021181745"
}
}
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.
https://qris.interactive.co.id/restapi/qris/checkpaid_qris.php
| Parameter | Tipe | Contoh | Keterangan |
|---|---|---|---|
do | string | checkStatus | WAJIB · Nilai tetap |
apikey | string | a789789 | WAJIB · APIKEY aktif |
mID | integer | 123456 | WAJIB · Merchant ID |
invid | integer | 413255111 | WAJIB · qris_invoiceid |
trxvalue | integer | 10000 | WAJIB · Nominal transaksi |
trxdate | YYYY-mm-dd | 2025-12-31 | WAJIB · Tanggal pembayaran |
{
"status": "success",
"data": {
"qris_status": "paid",
"qris_payment_customername": "EDWIN PERDANA",
"qris_payment_methodby": "BCA"
},
"qris_api_version_code": "2505011709"
}
Sandbox Generate Invoice
Gunakan parameter pengujian untuk memvalidasi integrasi sebelum alur dipakai pengguna. Sandbox menampilkan QR, Invoice ID, NMID, tanggal request, dan QRIS Content.
Gunakan form berikut untuk melakukan pengujian Generate Invoice QRIS pada environment Sandbox. Data yang digunakan dapat disesuaikan dengan kebutuhan trial.
- Invoice ID
- NMID
- Request Date
- QRIS Content
QRIS Webhook
Server InterActive mengirim request POST berformat JSON ke URL webhook Anda setiap kali status transaksi berubah.
URL webhook milik merchant · Content-Type: application/json
{
"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.
Kode & Penanganan Error
Response gagal menggunakan status: failed. Periksa nominal, APIKEY, mID, nomor transaksi, dan seluruh parameter wajib. Status unpaid berarti invoice belum dibayar.
{
"status": "failed",
"data": { "qris_status": "unpaid" }
}
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.