QRIS Merchant milikmu sendiri
Unggah QRIS statis atas nama merchant-mu sekali saja. Tidak ada rekening perantara, tidak ada dana ditahan pihak ketiga — uang mengalir langsung ke akun QRIS yang sudah kamu punya.
Mini Payment Gateway · QRIS
KayaPay menyambungkan website-mu langsung ke QRIS Merchant milikmu sendiri. Setiap pembayaran masuk ke aplikasi merchant tanpa perantara dan tanpa menunggu settlement — cukup Rp200 per transaksi berhasil.
KayaPay · Checkout Demo
LiveTotal dibayar
Rp 75.238
Rp 75.000 + kode unik 238
No. KP-8471
QR demo · produksi: string qris dari respons API
Pembayaran diterima
Rp 75.238
Aktivitas terbaru
Demo interaktif — tunggu, atau klik cek status
Keunggulan
Empat alasan merchant beralih ke KayaPay — dan tetap tenang tidur di malam hari.
Unggah QRIS statis atas nama merchant-mu sekali saja. Tidak ada rekening perantara, tidak ada dana ditahan pihak ketiga — uang mengalir langsung ke akun QRIS yang sudah kamu punya.
Setiap pembayaran langsung terbaca di aplikasi QRIS / mobile banking-mu detik itu juga. Tidak ada antrian settlement, tidak ada jadwal pencairan, tidak ada saldo mengendap.
Rp200 per transaksi berhasil — entah nominalnya Rp10.000 atau Rp10.000.000. Tidak ada biaya bulanan, tidak ada persentase, tidak ada biaya tersembunyi sama sekali.
Satu endpoint transaksi, satu callback status, lengkap dengan contoh kode siap pakai. Integrasi rata-rata selesai sebelum kopi kamu dingin.
Cara Kerja
Klik tiap langkah untuk melihat apa yang terjadi di balik layar.
Semua berjalan di atas QRIS-mu sendiri
Dasbor KayaPay · Pengaturan QRIS
Taruh file QRIS statismu di sini
PNG atau JPG · maks. 2 MB · atas nama merchant sendiri
qris-warung-bu-sari.png
84 KB · terbaca sebagai QRIS yang valid
Cara Pakai Aplikasi
Panduan visual berikut menunjukkan langkah-langkah pengaturan aplikasi KayaPay Notifier di perangkat Android-mu — dari izin notifikasi pertama hingga layanan aktif dan pembayaran masuk otomatis.
Saat aplikasi Kayapay Notifier pertama kali dibuka, sistem Android akan menampilkan pop-up peringatan bahwa akses notifikasi belum aktif. Pilih tombol “Izinkan” pada dialog “Izinkan Kayapay Notifier mengirimkan notifikasi” agar aplikasi dapat mulai memantau pembayaran yang masuk.
Pada halaman Login Akun KayaPay, masukkan email atau nomor handphone serta password. Belum punya akun? Tekan tombol “Daftar” atau “Daftar di sini” untuk membuat akun baru. Centang “Ingat saya” agar tidak perlu login berulang kali pada perangkat yang sama.
Buka panel navigasi samping (ikon hamburger di pojok kiri atas), lalu pilih menu “Izin & Aplikasi”. Halaman ini adalah pusat kendali tempat kamu menentukan aplikasi merchant mana saja yang notifikasinya boleh dipantau oleh Kayapay Notifier.
Pastikan dahulu “Status Auto-Run & Latar Belakang” dalam keadaan Aktif. Lalu di bagian Izin Log Aplikasi, ketik kata kunci (mis. sho atau qris) di kolom pencarian untuk mempersempit daftar, dan aktifkan toggle aplikasi merchant yang kamu gunakan — contohnya ShopeePay (toggle berubah menjadi biru).
Pastikan aplikasi yang kamu pilih benar-benar menerima notifikasi pembayaran masuk dari QRIS-mu.
Kembali ke panel navigasi, kali ini pilih menu “Log Notifikasi”. Jika muncul peringatan “⚠ Akses Notifikasi Tidak Aktif!”, tekan tombol “Data Pengaturan Selanjutnya” untuk melompat langsung ke halaman pengaturan akses notifikasi sistem Android.
Pada halaman “Akses notifikasi” milik sistem Android, scroll melalui daftar aplikasi sampai menemukan “Kayapay Notifier”. Aktifkan toggle di sampingnya — tombol akan berubah menjadi biru. Konfirmasi peringatan yang muncul agar sistem mengizinkan Kayapay Notifier membaca notifikasi dari aplikasi lain.
Kembali ke aplikasi KayaPay Notifier. Semua persiapan sudah selesai — tinggal tekan tombol “Mulai Layanan”. Layanan kini berjalan di latar belakang: setiap pembayaran QRIS yang masuk ke aplikasi merchant-mu akan otomatis diteruskan sebagai callback ke website-mu, lengkap dengan status SUCCESS dalam hitungan detik.
Ringkasan alur
Izinkan notifikasi → masuk/daftar → buka Izin & Aplikasi → pilih aplikasi QRIS → buka Log Notifikasi & lanjut ke pengaturan → aktifkan akses notifikasi Kayapay Notifier → Mulai Layanan. Selesai — kini setiap rupiah yang masuk langsung tersampaikan ke website-mu.
Harga
Geser, ketik, bandingkan. Struk di kanan menghitung real-time — gagal bayar? Tetap gratis.
Tanpa nominal minimum · tanpa persentase · gagal bayar = gratis
KAYAPAY
Struk simulasi ·
Estimasi · 150 trx / bulan
Terima kasih · simpan struk ini · kayapay.id
Integrasi API
Kirim transaksi, render payload QRIS-nya, tunggu callback SUCCESS. Semua yang kamu butuhkan ada di bawah.
Endpoint transaksi
POST https://api.kayapay.web.id/transaksi
Parameter · form-data (semua wajib)
| string | Email yang terdaftar di KayaPay | |
| password | string | Password akun KayaPay |
| amount | integer | Nominal transaksi |
| code | string | Kode unik transaksi (mis. KYP21001) — wajib berbeda tiap transaksi |
Endpoint ini memakai email & password akunmu — panggil hanya dari server (backend). Simpan kredensial di environment variable, jangan pernah di kode frontend.
# 1 — buat transaksi baru
curl --location 'https://api.kayapay.web.id/transaksi' \
--form 'email=user@kayapay' \
--form 'password=••••••••' \
--form 'amount=1000' \
--form 'code=KYP21001'
# 2 — respons JSON (payload QRIS siap dirender)
{
"amount": 1000,
"message": "Transaksi berhasil",
"qris": "00020101021126570011ID.DANA.WWW...",
"total": 1238,
"unik": 238
}
# 3 — callback yang diterima website-mu saat dibayar:
POST https://website-mu.id/api/callback
{ "code": "KYP21001", "email": "user@kayapay", "status": "SUCCESS" }
Contoh memakai endpoint produksi — ganti kredensial & URL callback milikmu
Respons · JSON
| qris | string | Payload QRIS — render sebagai gambar QR di checkout |
| total | integer | Nominal + kode unik — inilah yang dibayar customer |
| unik | integer | Kode unik penanda transaksi (mis. 238) |
| amount | integer | Nominal yang kamu kirim |
| message | string | "Transaksi berhasil" |
Callback · POST JSON ke URL-mu
| code | string | Kode unik transaksi yang kamu kirim |
| string | Email yang terdaftar di KayaPay | |
| status | string | "SUCCESS" — pembayaran berhasil diterima |
Setiap transaksi mendapat total berbeda berkat kode unik — beginilah cara KayaPay mengenali transaksi mana yang sudah dibayar. Pastikan customer membayar tepat senilai total.
Endpoint callback-mu harus membalas HTTP 200 agar status tercatat terkirim.
Legal & Privasi
Tiga dokumen yang mengikat seluruh layanan — ditulis tanpa bahasa hukum yang berputar-putar. Pilih dokumen, geser di dalamnya, atau lompat langsung ke pasal mana pun.
Dirumuskan mengacu pada
Pertanyaan kepatuhan? Tulis ke karyalimi21@gmail.com — dijawab manusia, bukan bot.
DOK-01 · v2.1
"KayaPay" adalah layanan mini payment gateway yang menghubungkan website Pengguna dengan QRIS Merchant milik Pengguna itu sendiri, termasuk aplikasi, situs web, dan API-nya.
"Pengguna" adalah pihak yang mendaftarkan akun serta menggunakan layanan KayaPay, baik berbadan usaha maupun perorangan.
"QRIS Merchant" adalah kode QRIS yang diterbitkan atas nama Pengguna dan diunggah Pengguna ke KayaPay sebagai kanal penerimaan dana.
"Transaksi" adalah pembayaran melalui pemindaian QRIS yang dihasilkan melalui API KayaPay atas permintaan Pengguna.
"Callback" adalah pemberitahuan status Transaksi yang dikirim KayaPay ke URL callback yang didaftarkan Pengguna.
"Kode Unik" adalah nilai tambah pada nominal Transaksi (field unik) yang membuat setiap Transaksi dapat dikenali secara tunggal.
Dengan mendaftar, mengunduh aplikasi, dan/atau menggunakan layanan KayaPay dalam bentuk apa pun, Pengguna dianggap telah membaca, memahami, dan menyetujui seluruh ketentuan dalam dokumen ini.
Apabila tidak menyetujui salah satu ketentuan, Pengguna tidak diperkenankan menggunakan layanan.
Ketentuan ini berlaku bersama Kebijakan Privasi (DOK-02) dan Kebijakan Refund & Sengketa (DOK-03) sebagai satu kesatuan aturan main KayaPay.
Pengguna wajib mendaftar menggunakan alamat email yang valid dan benar-benar miliknya sendiri.
Email dan password merupakan kredensial rahasia milik Pengguna. Segala aktivitas yang terjadi melalui akun tersebut dianggap sah dilakukan oleh Pengguna.
Untuk integrasi API, kredensial wajib disimpan di sisi server (server-side / environment variable) dan tidak boleh ditempatkan pada kode yang dapat diakses publik.
Pengguna wajib segera melaporkan indikasi pembobolan atau penyalahgunaan akun; KayaPay akan membantu membekukan akun secara sementara untuk pemeriksaan.
Menggunakan layanan sesuai peruntukannya serta mematuhi hukum dan peraturan perundang-undangan Republik Indonesia.
Menjamin legalitas barang, jasa, dan/atau konten yang diperjualbelikan di website-nya.
Menjamin QRIS Merchant yang diunggah diterbitkan atas nama Pengguna sendiri dan diperoleh secara sah dari penyelenggara yang berizin.
Menjaga keakuratan data akun serta URL callback yang didaftarkan.
Memastikan endpoint callback membalas dengan HTTP 200 serta melakukan verifikasi ganda atas setiap Callback sebelum menandai pesanan sebagai lunas.
Dilarang menggunakan layanan untuk transaksi judi online dalam bentuk apa pun — termasuk situs taruhan, togel, slot, casino, dan segala varian permainan beruang lainnya.
Dilarang menggunakan layanan untuk pencucian uang (money laundering) — termasuk menyamarkan asal-usul dana, memecah transaksi untuk menghindari pengawasan, serta segala bentuk tindak pidana pencucian uang sebagaimana diatur dalam UU No. 8 Tahun 2010 tentang Pencegahan dan Pemberantasan Tindak Pidana Pencucian Uang.
Dilarang menggunakan layanan untuk pelanggaran hukum lainnya, antara lain: penipuan & rekayasa sosial (phishing), penawaran barang/jasa ilegal, konten pornografi dan yang menyinggung SARA, narkotika, senjata, serta tindakan yang melanggar UU ITE dan peraturan perundang-undangan Republik Indonesia.
Dilarang menjual, menyewakan, membagikan, mengalihkan, atau menitipkan akun kepada pihak lain dalam bentuk apa pun — termasuk promosi "jasa sewa akun" atau "jual beli akun KayaPay". Satu akun hanya untuk satu pemilik.
Dilarang memanipulasi, mereplikasi, atau memalsukan mekanisme Kode Unik dan Callback untuk mengakali status pembayaran.
Dilarang melakukan tindakan yang mengganggu ketersediaan atau integritas layanan — termasuk serangan DDoS, penarikan data masif, dan rekayasa balik tanpa izin tertulis.
KayaPay mengenakan biaya Rp200 untuk setiap Transaksi yang berhasil (status SUCCESS), berapa pun nominalnya.
Tidak ada biaya pendaftaran, biaya bulanan, maupun biaya berbasis persentase.
Transaksi yang gagal, dibatalkan, atau kedaluwarsa tidak dikenakan biaya.
Perubahan tarif akan diumumkan selambatnya 7 (tujuh) hari kalender sebelum berlaku melalui aplikasi dan/atau email, dan tidak berlaku surut untuk Transaksi yang telah berhasil.
Setiap permintaan Transaksi yang valid menghasilkan payload QRIS serta nilai total (nominal + Kode Unik) yang wajib dibayar tepat oleh pembeli.
Pembayaran dengan nominal tidak sama dengan total berisiko tidak teridentifikasi; KayaPay tidak bertanggung jawab atas kegagalan verifikasi akibat nominal yang tidak tepat.
Callback berisi code, email, dan status dikirim ke URL yang didaftarkan Pengguna; endpoint Pengguna wajib membalas dengan HTTP 200.
Pengguna wajib mencocokkan data Callback dengan Transaksi yang tersimpan sebelum mengeksekusi pemenuhan pesanan (fulfillment).
Atas setiap pelanggaran — terutama Pasal 5 — KayaPay berhak melakukan salah satu atau kombinasi tindakan berikut sesuai tingkat berat-ringannya: (a) penangguhan sementara akun dan Transaksi; (b) pembekuan permanen akun tanpa pemberitahuan; (c) penghapusan akun beserta datanya sesuai ketentuan; (d) penerusan data kepada otoritas berwenang — termasuk Polri dan PPATK — sesuai perintah hukum.
KayaPay berhak menolak memproses Transaksi yang terindikasi melanggar ketentuan tanpa tanggung gugat.
Pengguna dapat berhenti menggunakan layanan dan menutup akun kapan saja melalui aplikasi atau menghubungi dukungan.
Kewajiban yang sudah timbul — termasuk biaya atas Transaksi yang telah berhasil sebelum penutupan — tetap berlaku.
Layanan disediakan "sebagaimana adanya" tanpa jaminan tersirat atas kesesuaian untuk tujuan tertentu.
Dana Transaksi tidak pernah diterima, disimpan, atau diatur oleh KayaPay — dana mengalir langsung ke QRIS Merchant Pengguna; dengan demikian KayaPay tidak bertanggung jawab atas dana tersebut maupun pencairannya.
KayaPay tidak bertanggung jawab atas kerugian tidak langsung, kehilangan keuntungan, atau gangguan yang disebabkan faktor di luar kendali yang wajar (gangguan jaringan/operator, kegagalan pihak ketiga, keadaan kahar).
Sepanjang diizinkan hukum, keseluruhan tanggung jawab KayaPay kepada Pengguna — bila ada — dibatasi maksimum sebesar total biaya layanan yang dibayarkan Pengguna dalam 1 (satu) bulan terakhir sebelum peristiwa timbul.
KayaPay dibebaskan dari kewajibannya sepanjang kegagalan disebabkan keadaan kahar: bencana alam, kebakaran, perang, huru-hara, pemogokan, epidemi, perubahan regulasi, kebijakan pemerintah, serta gangguan total infrastruktur telekomunikasi atau listrik.
KayaPay akan memberitahukan keadaan kahar tersebut beserta upaya mitigasinya melalui kanal resmi.
KayaPay berhak memperbarui ketentuan ini mengikuti perkembangan layanan dan regulasi.
Versi terbaru selalu tersedia di halaman ini dengan tanggal "berlaku efektif"; perubahan material akan diberitahukan melalui aplikasi dan/atau email.
Pengguna yang terus menggunakan layanan setelah perubahan berlaku dianggap menyetujui versi terbaru.
Ketentuan ini tunduk pada hukum Republik Indonesia.
Sengketa diupayakan penyelesaiannya secara musyawarah dalam waktu 30 (tiga puluh) hari kalender.
Bila tidak tercapai, para pihak sepakat menyelesaikannya melalui Pengadilan Negeri yang wilayah hukumnya meliputi domisili hukum KayaPay.
Pertanyaan mengenai ketentuan ini disampaikan ke karyalimi21@gmail.com — Senin–Jumat, 09.00–17.00 WIB.
DOK-02 · v1.4
Kebijakan Privasi ini menjelaskan bagaimana KayaPay mengumpulkan, menggunakan, menyimpan, dan melindungi data pribadi Anda saat menggunakan layanan kami.
Kami memproses data pribadi berdasarkan UU No. 27 Tahun 2022 tentang Perlindungan Data Pribadi (UU PDP) beserta peraturan pelaksananya.
Prinsip kami sederhana: kumpulkan seminimal mungkin, pakai sejelas-jelasnya, jaga sekuat-kuatnya.
Data akun — alamat email dan password (disimpan dalam bentuk hash terenkripsi, bukan teks asli).
Data transaksi — code, nominal (amount, total, unik), waktu, dan status pembayaran.
Data merchant — gambar QRIS yang Anda unggah dan URL callback yang Anda daftarkan.
Data teknis — log akses, alamat IP, dan informasi perangkat, semata untuk keamanan dan pencegahan penyalahgunaan.
Kami tidak pernah meminta dan tidak menyimpan data kartu pembayaran, PIN, password mobile banking, atau kredensial keuangan lainnya.
3.1Alamat email hanya digunakan sebagai (a) identitas pemilik akun dan (b) identitas transaksi. Tidak untuk keperluan lain.
Email Anda bukan untuk iklan, tidak diprofilkan untuk pemasaran, dan tidak diperdagangkan.
Data transaksi diproses sebatas yang diperlukan untuk meneruskan notifikasi/status pembayaran ke website Anda.
Dasar pemrosesan kami: pelaksanaan perjanjian dengan Anda, kepentingan yang sah (keamanan layanan), dan pemenuhan kewajiban hukum.
Kami tidak menjual, menyewakan, atau memperdagangkan data pribadi kepada pihak ketiga dalam bentuk apa pun.
Data dapat dibagikan secara terbatas hanya kepada: (a) penyedia infrastruktur (hosting/layanan pesan) yang terikat kewajiban kerahasiaan; (b) otoritas berwenang — termasuk Polri dan PPATK — apabila diwajibkan oleh perintah hukum.
Kami tidak membagikan data Anda untuk tujuan komersial pihak ketiga.
Kami hanya menggunakan cookie/penyimpanan lokal yang bersifat teknis untuk menjaga sesi login dan keamanan akun.
Tidak ada cookie iklan, pelacak pihak ketiga, atau profiler di layanan kami.
Data disimpan selama akun Anda aktif, ditambah periode yang diwajibkan oleh peraturan pencatatan yang berlaku.
Anda dapat meminta penghapusan data pribadi Anda; kami memprosesnya kecuali bila data diwajibkan disimpan oleh hukum.
Kami menerapkan langkah teknis dan organisatoris yang wajar: enkripsi saat transit (HTTPS/TLS), hashing password, pembatasan akses internal berdasarkan peran, serta pemantauan berkelanjutan.
Tidak ada sistem yang 100% aman. Apabila terjadi insiden yang berdampak pada data Anda, kami memberitahukan Anda dan otoritas sesuai ketentuan UU PDP.
Sesuai UU PDP, Anda berhak untuk: (a) mengakses dan mendapatkan salinan data; (b) memperbaiki data yang tidak akurat; (c) menghapus data pribadi; (d) membatasi pemrosesan; (e) menarik persetujuan; (f) menolak pemrosesan tertentu.
Permintaan diajukan ke karyalimi21@gmail.com dan kami tindaklanjuti selambatnya 30 (tiga puluh) hari kalender.
Layanan KayaPay tidak ditujukan bagi anak di bawah umur. Kami tidak dengan sengaja mengumpulkan data anak; bila hal itu diketahui terjadi, hubungi kami untuk penghapusan segera.
Website atau aplikasi pihak ketiga (mis. Google Play) memiliki kebijakan privasinya masing-masing. Kami menyarankan Anda membacanya secara terpisah.
Kebijakan ini dapat diperbarui sewaktu-waktu; versi terbaru selalu tersedia di halaman ini dengan tanggal "berlaku efektif".
Untuk perubahan material, kami memberitahukan melalui email dan/atau pemberitahuan di aplikasi selambatnya 7 (tujuh) hari sebelum berlaku.
Pertanyaan, permintaan, atau keluhan privasi disampaikan ke karyalimi21@gmail.com. Setiap permintaan privasi dijawab secara personal, bukan templat otomatis.
DOK-03 · v1.0
KayaPay adalah layanan penerus status pembayaran, bukan pemegang dana. Setiap pembayaran mengalir langsung dari pembeli ke QRIS Merchant milik Anda.
Karena dana tidak pernah melewati KayaPay, kendali penuh atas dana hasil penjualan berada di tangan Anda sejak detik pertama.
Pengembalian dana (refund) merupakan tanggung jawab dan kesepakatan langsung antara merchant dan pembeli, karena dana telah diterima merchant secara langsung.
KayaPay tidak memfasilitasi pemotongan saldo dan tidak menahan dana untuk keperluan refund.
Merchant wajib mencantumkan kebijakan refund/pembatalannya sendiri di halaman website-nya.
Biaya layanan Rp200 atas Transaksi yang telah berhasil (berstatus SUCCESS) tidak dikembalikan.
Transaksi yang dibayar dengan nominal tidak sama dengan nilai total (Kode Unik tidak cocok) berisiko tidak teridentifikasi oleh sistem.
Atas kasus tersebut, merchant dapat mengajukan verifikasi manual kepada dukungan KayaPay dengan melampirkan bukti mutasi yang valid; hasil verifikasi menjadi acuan akhir.
Transaksi yang melewati batas kedaluwarsa dinyatakan gagal dan tidak dikenakan biaya; apabila pembeli terlanjur membayar, pengembaliannya diatur pada Pasal 2.
Callback dikirim dalam hitungan detik setelah pembayaran terverifikasi. Namun karena jaringan tidak pernah sempurna, Pengguna wajib menyediakan mekanisme pengecekan status manual (fallback) di sisi sistemnya.
Untuk Callback yang gagal terkirim, KayaPay dapat mengirim ulang (retry). Pastikan endpoint Anda bersifat idempotent — status yang sama diterima lebih dari sekali tidak menimbulkan pemrosesan ganda.
KayaPay bukan pihak dalam hubungan jual-beli antara merchant dan pembeli, dan tidak mewarisi kewajiban apa pun darinya.
Kami memfasilitasi penyediaan data bukti Transaksi yang kami simpan apabila diperlukan oleh kedua pihak atau otoritas berwenang.
Transaksi dengan indikasi kuat penipuan atau pelanggaran Pasal 5 DOK-01 dapat ditangguhkan notifikasinya sementara untuk pemeriksaan, guna menjaga kepercayaan seluruh ekosistem.
Hasil pemeriksaan diberitahukan kepada Pengguna; apabila tidak ditemukan pelanggaran, layanan dipulihkan sepenuhnya.
Unduh KayaPay
Unggah QRIS-mu, pasang dua puluh baris kode, dan setiap pembayaran mengalir langsung ke aplikasi merchant-mu.
Scan untuk mengunduh
Gratis diunduh · Bayar Rp200 hanya saat transaksi berhasil