Cek QRIS API Docs

Dokumentasi API QRIS untuk AI Agent

Dokumentasi API lookup QRIS dan EMVCo untuk integrasi AI agent.

Gunakan cek-qris sebagai service lookup QRIS

API ini dirancang agar AI agent dapat meminta analisis QRIS/EMVCo secara deterministik, tanpa melakukan scraping halaman atau menebak arti payload. Response juga membawa ringkasan community report publik untuk QR fingerprint yang sama.

Prinsip integrasi

  • Public by default — lookup dasar tidak memerlukan registrasi. Endpoint read-only dapat digunakan secara publik dengan batas ukuran payload dan rate limit.
  • Tanpa payment credential — kirim raw QR payload hasil decode saja. Jangan kirim PIN, OTP, nomor kartu, secret key, atau data pribadi.
  • Bukan fraud verdict — CRC valid berarti integritas payload cocok, bukan berarti merchant atau pembayaran pasti aman.

Status akses API

MVP contract sudah live di aplikasi lokal sebagai public lookup tanpa login. Deployment publik untuk service ini masih bergantung pada deployment aplikasi; API key opsional dapat ditambahkan pada tahap berikutnya untuk integrasi dengan volume tinggi.

KebijakanNilai
Registrasi agentTidak diperlukan untuk lookup dasar
HTTP methodPOST, read-only
InputRaw QRIS/EMVCo payload
OutputJSON analysis terstruktur
Rate limitWajib untuk endpoint publik
API keyOpsional untuk tier lanjutan

Request

POST /api/ai/lookup
Content-Type: application/json
{
  "payload": "0002010102115204000053033605802ID5909TOKO DEMO6007JAKARTA630457C1"
}

Response

{
  "ok": true,
  "schemaVersion": "1.0",
  "analysis": {
    "fields": [
      { "tag": "00", "label": "Payload Format Indicator", "length": 2, "value": "01" },
      { "tag": "59", "label": "Merchant Name", "length": 9, "value": "TOKO DEMO" },
      { "tag": "60", "label": "Merchant City", "length": 7, "value": "JAKARTA" },
      { "tag": "63", "label": "CRC", "length": 4, "value": "57C1" }
    ],
    "crc": {
      "status": "valid",
      "expected": "57C1",
      "actual": "57C1"
    },
    "errors": [],
    "warnings": [],
    "nss": null,
    "transaction": {
      "amount": null,
      "currency": "360",
      "countryCode": "ID",
      "merchantName": "TOKO DEMO",
      "merchantCity": "JAKARTA",
      "postalCode": null,
      "referenceLabel": null,
      "billNumber": null
    }
  },
  "community": {
    "status": "available",
    "badVotes": 3,
    "goodVotes": 8,
    "totalVotes": 11,
    "totalLikes": 4,
    "commentsTruncated": false,
    "comments": [
      {
        "id": 12,
        "message": "Nama merchant sesuai dengan spanduk di lokasi.",
        "likes": 2,
        "createdAt": "2026-09-20T10:30:00.000Z"
      }
    ]
  },
  "interpretation": {
    "merchantLegitimacyVerified": false,
    "paymentSafetyVerified": false
  }
}

Safe curl request

CEK_QRIS_BASE_URL="http://localhost:3000" \
  ./docs/examples/ai-lookup-curl.sh

Machine-readable contracts

Aturan untuk AI agent

  • Jelaskan merchant fields, amount/currency, issuer/NSS, CRC, errors, warnings, serta community badVotes, goodVotes, commentsTruncated, dan comments berdasarkan response.
  • Pertahankan status unknown sebagai unknown; jangan mengarang issuer dari pola angka.
  • Jangan menyimpulkan “QR ini aman” hanya karena CRC valid.
  • Community votes dan comments adalah referensi tidak resmi, bukan verifikasi merchant atau jaminan keamanan pembayaran.
  • Jika field tidak ada, tampilkan sebagai tidak tersedia, bukan menebak nilainya.

Kembali ke scanner.

On this page

Kembali ke scanner