Dokumentasi API Gateway QRIS

Authentikasi

Semua endpoint mengharuskan header berikut:

HeaderDeskripsi
X-API-KeyAPI key yang diberikan (contoh: hai)
Content-TypeGunakan application/json untuk request body JSON

Pastikan mengirimkan header ini pada setiap request.

1. Create Transaksi QRIS

Membuat transaksi QRIS baru dan menghasilkan QR code.

MethodEndpoint
POST/api/create.php

Request Body JSON

{
  "amount": 10000,
  "external_id": "ORDER123"
}

Response Sukses (201 Created)

{
  "status": "success",
  "message": "Transaction created",
  "timestamp": "2025-10-12 14:30:00",
  "data": {
    "trx_id": "TRX202510121430001234",
    "amount": 10000,
    "unique_amount": 10045,
    "external_id": "ORDER123",
    "qris_string": "0002010102...UMI5204581253033605405100005802ID5913Merchant Name...",
    "qr_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
    "expired_at": "2025-10-12 15:00:00"
  }
}

Contoh cURL

curl -X POST "https://gateway.miraipedia.my.id/api/create.php" \
-H "Content-Type: application/json" \
-H "X-API-Key: hai" \
-d '{
  "amount": 10000,
  "external_id": "ORDER123"
}'

2. Cek Status Transaksi

Mengecek status transaksi berdasarkan trx_id.

MethodEndpoint
POST/api/check.php

Request Body JSON

{
  "trx_id": "TRX202510121430001234"
}

Response Sukses (200 OK)

{
  "status": "success",
  "message": "Transaction found",
  "timestamp": "2025-10-12 14:35:00",
  "data": {
    "trx_id": "TRX202510121430001234",
    "amount": 10000,
    "unique_amount": 10045,
    "external_id": "ORDER123",
    "status": "paid",
    "paid_at": "2025-10-12 14:45:30",
    "expired_at": "2025-10-12 15:00:00",
    "created_at": "2025-10-12 14:30:00"
  }
}

Contoh cURL

curl -X POST "https://gateway.miraipedia.my.id/api/check.php" \
-H "Content-Type: application/json" \
-H "X-API-Key: hai" \
-d '{
  "trx_id": "TRX202510121430001234"
}'

Callback Notifikasi Pembayaran

Endpoint callback akan menerima notifikasi dari penyedia pembayaran (misalnya Dana) menggunakan query parameter.

Callback akan mengekstrak jumlah yang dibayar dan mencari transaksi dengan nominal unik sesuai untuk mengupdate status transaksi menjadi paid.

Callback kemudian mengirim notifikasi ke merchant via callback_url jika di-set.

Format parameter contoh yang diterima:

name=payment_callback
pkg=id.dana
title=Pembayaran DANA
text=Rp10.123
...

Callback akan menjawab OK dengan HTTP 200 setelah memproses.

Penjelasan Tambahan