API ini membantu developer untuk decode QR dari gambar (opsional), lalu convert QRIS statis → dinamis dengan amount (Tag 54), set POI menjadi 12, dan menghitung ulang CRC (Tag 63).
Convert payload QRIS statis menjadi dinamis dan (opsional) return QR PNG.
{
"payload": "000201010211....6304ABCD",
"amount": 10000,
"fee": { "type": "none", "value": 0 },
"options": { "return_qr_png": true }
}
{
"ok": true,
"data": {
"dynamic_payload": "000201010212....6304EF12",
"amount": { "base": "10000.00", "fee": "0.00", "total": "10000.00" },
"qr_png_data_url": "data:image/png;base64,iVBORw0K..."
}
}
{ "ok": true }
Input: QRIS payload (string) + amount + fee optional. Output: dynamic payload + optional QR PNG data URL.
curl -X POST "$BASE/api/v1/convert" \
-H "Content-Type: application/json" \
-d '{
"payload":"000201010211....6304ABCD",
"amount":10000,
"fee":{"type":"none","value":0},
"options":{"return_qr_png":true}
}'
Upload gambar QR → server decode → return payload.
curl -X POST "$BASE/api/v1/decode" \
-F "file=@qris.png"
Upload gambar QRIS statis + amount + fee → langsung dapat QR dinamis.
curl -X POST "$BASE/api/v1/convert-image" \
-F "file=@qris.png" \
-F "amount=10000" \
-F "fee_type=percent" \
-F "fee_value=1.5" \
-F "return_qr_png=true"
Semua error diseragamkan agar mudah di-handle oleh client.
{
"ok": false,
"error": {
"code": "INVALID_PAYLOAD",
"message": "Payload bukan format EMV MPM (Tag 00 harus '01')."
}
}
Terima kasih kepada https://qris.bgsdtyo.com