# QRIS Dinamis API (llms.txt) # Base URL: https://www.pay.3core.web.id/api/v1 # Spec mesin: https://www.pay.3core.web.id/api/v1/openapi.json (OpenAPI 3.0, publik) # Docs manusia: https://www.pay.3core.web.id/api-docs (publik) ## Apa ini Mengubah QRIS statis menjadi QRIS dinamis (nominal terisi). HANYA membentuk payload EMVCo/QRIS; tidak ada callback/notifikasi pembayaran, pelunasan dicek via mutasi/penyedia QRIS. ## Autentikasi (semua endpoint kecuali openapi.json) Authorization: Bearer qk_... ATAU X-API-Key: qk_... Key bisa dibatasi ke satu merchant. Error auth -> 401 {"error":{"code":"unauthorized",...}}. ## Endpoints GET https://www.pay.3core.web.id/api/v1/merchants -> daftar merchant aktif yg boleh dipakai key. POST https://www.pay.3core.web.id/api/v1/qris {merchant?, amount!, fee_type=none|fixed|percent, fee_value?, reference?, include_qr?} -> 201 generation + payload (+image_url, +qr_svg bila include_qr=true). - merchant: kode merchant; boleh kosong hanya bila key dibatasi 1 merchant. - amount: integer rupiah 1..999999999999. - fee fixed: fee_value rupiah bulat 1..999999999 -> tag 55=02,56. fee percent: 0..100 maks 2 desimal -> tag 55=03,57 (fee.amount rupiah dibulatkan). - reference: maks 100 char, bisa dicari via GET /qris?reference=. GET https://www.pay.3core.web.id/api/v1/qris?merchant=&reference=&from=YYYY-MM-DD&to=YYYY-MM-DD&page= -> 50/halaman TANPA payload. GET https://www.pay.3core.web.id/api/v1/qris/{id} -> satu generation + payload. GET https://www.pay.3core.web.id/api/v1/qris/{id}/qr.png | qr.svg (+?download=1) -> gambar QR, tetap butuh header API key. ## Contoh curl -X POST https://www.pay.3core.web.id/api/v1/qris -H "Authorization: Bearer qk_..." -H "Content-Type: application/json" -d '{"merchant":"toko-kopi","amount":25000,"fee_type":"percent","fee_value":2.5,"reference":"INV-1001"}' ## Error {"error":{"code":"...","message":"..."}} dgn status 401 unauthorized, 404 merchant_not_found/not_found, 422 invalid_merchant/invalid_amount/invalid_request/invalid_json.