Simulator untuk melakukan premeditative double check untuk aplikasi yang akan di integrasikan ke QRIS Payment Gateway, serta untuk mengurangi biaya dan waktu development.
Kata Kata yang diambil dari website official QRIS :
PERHATIAN
Harap diperhatikan bahwa API QRIS ini sifatnya adalah LIVE / PRODUCTION, saat Anda melakukan SCAN terhadap QRIS yang muncul, maka saldo e-wallet Anda akan benar-benar berkurang dan tidak dapat dikembalikan (tidak ada refund).
Sungguh menyedihkan T_T
Official QRIS tidak memberikan developer simulator yang dapat dicoba tanpa mengurangi saldo, dengan itu project ini dibuat sebagai simulator penyedia QRIS yang dapat anda gunakan untuk mencoba integrasi program anda.
Simulator ini dibuat 95% menyerupai behaviour QRIS itu sendiri, jika program anda lancar ketika menggunakan simulator ini, maka anda hanya perlu mengganti beberapa variable untuk melanjutkan aplikasi anda ke tahap produksi.
QRIS Simulator memperlukan beberapa data -- yang sebisa mungkin anda mockup -- untuk mensimulasikan proses pembayaran dengan akurat, seperti:
APIKEY
mID
juga beberapa variable pendukung seperti
- Server Listening
PORT
- Server Listening
HOSTNAME
QRIS Simulator sudah dilengkapi pertanyaan yang perlu anda jawab 1x ketika pertamakali menggunakan. atau anda dapat membuat file bernama user_config.json
dan mengisi / merubah sendiri ketika sudah dibuat untuk menghindari questionaire.
anda dapat dengan cara normal yang diberikan oleh dokumentasi Official QRIS untuk membuat invoice
cek status pembayaran dapat dilakukan sebagai mana dokumentasi QRIS.
Sesuai dengan ketentuan penggunaan API Key untuk API Call, API Key dapat terkena ban jika digunakan terlalu banyak.
- Lakukan clone repo ini
git clone https://github.com/wowotek/qris_simulator.git
- instalasi dependensi yang dibutuhkan
npm install
- jalankan server
npm start
- Lakukan step 0 hingga 1 pada tahap instalasi
- ubah hal yang perlu anda ubah
- jalankan server menggunakan
ts-node-dev
npm run start-dev
Setelah melewati tahap membuat atau menjalani questioner
setup server make selanjutnya Host URL
akan disingkat menjadi [HOST]
maka jika Host Url
anda adalah
localhost:3333
maka [HOST]/indeks
artinya adalah
http://localhost:3333/indeks
.
Anda bisa menggunakan tata cara dibawah, atau mengikuti tahap yang terdokumentasikan secara Official oleh Website QRIS.
Untuk mockup pembayaran silahkan lakukan tahap nomor 2
- Buat Invoice (Creat Invoice) dengan hit ke
- URI:
[HOST]/restapi/qris/show_qris.php
- METHOD:
GET
- Query Parameter
do
- berisi
create-invoice
(WAJIB)
- berisi
apikey
- berisi
API KEY
yang anda masukan pada tahap questioner, atau yang ada didalamuser_config.json
- berisi
mID
- berisi
mID
yang anda masukan pada tahap questioner, atau yang ada didalamuser_config.json
- berisi
cliTrxNumber
- adalah nomor invoice yang secara unik anda generate
- Nomor ini harus unik setiap kali
cliTrxAmount
- Jumlah yang perlu dibayar oleh customer
- URI:
- QRCode mockup akan tergenerate di Console / Terminal, atau bisa juga anda lakukan generate QRCode sesuai dengan response yang diterima setelah hit tahap 0
- Scan QR Code yang digenerate
- Masukan Nama Customer (Opsional) dan masukan mockup metode pembayaran (Wajib)
- Lakukan hit Cek Pembayaran (Check Invoice Status)
- URI
[HOST]/restapi/qris/checkpaid_qris.php
- METHOD:
GET
- Query Parameter
do
- Wajib berisi
checkStatus
- Wajib berisi
apikey
- berisi
API KEY
yang anda masukan pada tahap questioner, atau yang ada didalamuser_config.json
- berisi
mID
- berisi
mID
yang anda masukan pada tahap questioner, atau yang ada didalamuser_config.json
- berisi
invid
- berisi
invoice id
yang digenerate pada tahap 0
- berisi
trxvalue
- berisi jumlah yang ditagihkan ke customer
trxdate
- tanggal transaksi yang didapatkan pada tahap 0 dengan format
YYYY-mm-dd
- tanggal transaksi yang didapatkan pada tahap 0 dengan format
- URI
- Selesai
sangat dibutuhkan kontribusi untuk projek ini untuk memastikan developer yang akan menggunakan QRIS sebagai payment gateway dapat melakukan premeditative double check untuk integrasi software yang sedang dalam tahap development untuk menghidari penggunaan uang serta status BAN untuk API_KEY yang terlalu banyak digunakan.
berikut beberapa hal yang terfikir yang dapat dijadikan subjek kontribusi
- Penulisan dan Design README ini yang lebih baik
- Lokalisasi untuk developer yang tidak berbahasa Indonesia / Inggris
- Design Front-end untuk page :
- Invalid Address
- Payment Status Success dan Failed
- Mockup Payment Invalid Token
- Design Front-End untuk Payment Mocker yang mirip seperti:
- GoPAY
- ShopeePay
- LivinByMandiri
- Blu
- DANA
- LinkAja
- OVO
- ...dan metode pembayaran lain yang disupport QRIS
- Sistem multiple mID dan API Key untuk support beberapa aplikasi sekaligus
- Fitur Banning yang lebih akurat dan menyerupai QRIS
- API Response yang lebih akurat dan menyerupai QRIS
- QRCODE generation yang lebih akurat dan menyerupai QRIS
- Penulisan Dokumentasi penggunaan projek ini yang lebih baik
- Penulisan Dokumentasi Kode Projek ini yang lebih baik