API Docs

REST API v1

Gunakan format JSON untuk memvalidasi, membaca, atau mengubah QRIS statis.

Base URL https://www.qrisdinamis.web.id.langitdata.web.id/api/v1

Header request

HTTP
Accept: application/json
Content-Type: application/json
POST/qris/generate

Generate QRIS dinamis

Mengubah QRIS statis dengan nominal tertentu.

ParameterTipeWajibKeterangan
qrisstringYaPayload QRIS statis.
amountintegerYaNominal rupiah.
JSON
{
  "qris": "000201010211...",
  "amount": 10000
}
200 OK
{
  "success": true,
  "message": "QRIS dinamis berhasil dibuat.",
  "data": {
    "amount": 10000,
    "qris": "000201010212...6304ABCD",
    "merchant": {
      "method": "dynamic",
      "merchant_name": "TOKO CONTOH",
      "merchant_city": "JAKARTA"
    }
  }
}
POST/qris/validate

Validasi QRIS

Memeriksa struktur dan CRC payload.

Request
{
  "qris": "000201010211..."
}
POST/qris/parse

Parse informasi merchant

Membaca data merchant dari payload QRIS.

Response
{
  "success": true,
  "data": {
    "method": "static",
    "merchant_name": "TOKO CONTOH",
    "merchant_city": "JAKARTA",
    "merchant_category_code": "5812",
    "currency": "360"
  }
}

Status HTTP

200Berhasil
401API key salah
422Data tidak valid
429Rate limit
500Server error

PHP cURL

PHP
<?php

$endpoint = 'https://www.qrisdinamis.web.id.langitdata.web.id/api/v1/qris/generate';
$payload = [
    'qris' => '000201010211...',
    'amount' => 10000,
];

$curl = curl_init($endpoint);
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Accept: application/json',
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode($payload),
    CURLOPT_TIMEOUT => 15,
]);

$response = curl_exec($curl);
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

$result = json_decode($response, true);

echo $status === 200
    ? $result['data']['qris']
    : ($result['message'] ?? 'Permintaan gagal');

Laravel HTTP Client

Laravel
use Illuminate\Support\Facades\Http;

$response = Http::acceptJson()
    ->post('https://www.qrisdinamis.web.id.langitdata.web.id/api/v1/qris/generate', [
        'qris' => '000201010211...',
        'amount' => 10000,
    ]);

$dynamicQris = $response->throw()->json('data.qris');
Berhasil disalin.