Tentang API QRIS Orkut
API QRIS dari Orkut memungkinkan integrasi pembayaran QRIS yang cepat dan aman ke dalam sistem Anda. Buat QR code dinamis dengan jumlah spesifik untuk setiap transaksi.
Mendukung semua bank dan e-wallet QRIS seperti GoPay, OVO, DANA, LinkAja, ShopeePay, dan lainnya.
Kasus Penggunaan
- Pembayaran e-commerce
- Donasi digital
- Tagihan dan utilitas
- Aplikasi pembayaran mobile
- Sistem POS
- Integrasi ERP
Keunggulan Kami
Integrasi Mudah
Dokumentasi lengkap dengan contoh kode multi-bahasa.
Proses Cepat
Respon API di bawah 150ms.
Keamanan Tinggi
Enkripsi end-to-end dan PCI DSS compliant.
Dukungan 24/7
Tim siap membantu kapan saja.
Buat QRIS Dinamis
Metode
GET
Endpoint
https://orkut.yilzidev.com/api/order/status/cqrs
Parameter
| Parameter | Wajib | Tipe Data | Deskripsi |
|---|---|---|---|
amount |
Ya | Integer | Jumlah pembayaran (contoh: 50000) |
fee |
Tidak | Integer | Biaya admin (contoh: 1000). Default jika tidak disertakan. |
uniquecode |
Tidak | String | Kode unik custom (contoh: ORKUT-X1234XX987) |
codeqr |
Ya | String | Kode merchant QRIS Anda |
apikey |
Ya | String | API Key dari registrasi |
callback_url |
Tidak | String (URL) | URL untuk notifikasi pembayaran |
Catatan Penting
- Beberapa e-wallet mungkin tidak menampilkan total dengan benar (misalnya GoPay).
- Sertakan biaya admin di
amountjika tidak terdeteksi. - Pastikan kode merchant QRIS valid.
- QR code berlaku 24 jam.
- Gunakan webhook atau cek status untuk monitoring.
Contoh Permintaan
GET https://orkut.yilzidev.tech/api/orderkuota/cqris?amount=50000&fee=1000&codeqr=YOUR_QRIS_CODE&apikey=API_KEY_ANDA
Contoh Permintaan (cURL)
curl -X GET \
"https://orkut.yilzidev.tech/api/orderkuota/cqris?amount=50000&fee=1000&codeqr=YOUR_QRIS_CODE&apikey=API_KEY_ANDA" \
-H "Content-Type: application/json"
Contoh Permintaan (NodeJS)
const axios = require('axios');
const createQRIS = async () => {
try {
const response = await axios.get('https://orkut.yilzidev.tech/api/orderkuota/cqris', {
params: {
amount: 50000,
fee: 1000,
codeqr: 'YOUR_QR_CODE',
apikey: 'API_KEY_ANDA',
uniquecode: 'ORKUT-1234'
},
headers: {
'Content-Type': 'application/json',
}
});
console.log('Response:', response.data);
} catch (error) {
console.error('Error:', error.response ? error.response.data : error.message);
}
};
createQRIS();
Contoh Permintaan (PHP)
50000,
'fee' => 1000,
'codeqr' => 'YOUR_QR_CODE',
'apikey' => 'API_KEY_ANDA',
'uniquecode' => 'ORKUT-1234'
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json'
]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
} else {
$data = json_decode($response, true);
print_r($data);
}
curl_close($ch);
?>
Contoh Respon Sukses
{
"status": true,
"code": 200,
"message": "QRIS berhasil dibuat",
"data": {
"transaction_id": "ORKUT-5X7R9P2K",
"amount": 50000,
"fee": 1000,
"total_amount": 51000,
"qr_string": "00020101021226650014COM.QRIS.WWW01189360091101111111111110208QCOM01202151234567890303UMI52045812530336054055100.05802ID5914MERCHANT NAME6013JAKARTA PUSAT61051234062380123ORKUT-5X7R9P2K6304A13F",
"qr_image_url": "https://orkut.yilzidev.tech/api/qr/ORKUT-5X7R9P2K.png",
"expiry_time": "2023-12-31T23:59:59+07:00",
"created_at": "2023-12-31T12:00:00+07:00",
"status": "pending",
"merchant_name": "MERCHANT NAME",
"merchant_city": "JAKARTA PUSAT",
"payment_methods": ["DANA", "OVO", "GoPay", "ShopeePay", "Bank Transfer"]
},
"metadata": {
"api_version": "3.1.0",
"timestamp": "2023-12-31T12:00:00+07:00",
"request_id": "req_abc123xyz456"
}
}
Contoh Respon Gagal
{
"status": false,
"code": 400,
"message": "Parameter tidak valid: amount harus berupa angka positif",
"errors": [
{
"field": "amount",
"message": "amount harus berupa angka positif"
}
],
"metadata": {
"api_version": "3.1.0",
"timestamp": "2023-12-31T12:00:01+07:00",
"request_id": "req_def456uvw789"
}
}
Cek Status Pembayaran
Metode
GET
Endpoint
https://orkut.yilzidev.tech/api/orderkuota/cekstatus
Parameter
| Parameter | Wajib | Tipe Data | Deskripsi |
|---|---|---|---|
transaction_id |
Ya | String | ID transaksi dari respon QRIS |
apikey |
Ya | String | API Key dari registrasi |
Contoh Permintaan
GET https://orkut.yilzidev.tech/api/orderkuota/cekstatus?transaction_id=ORKUT-5X7R9P2K&apikey=API_KEY_ANDA
Contoh Permintaan (Python)
import requests
url = "https://orkut.yilzidev.tech/api/orderkuota/cekstatus"
params = {
"transaction_id": "ORKUT-5X7R9P2K",
"apikey": "API_KEY_ANDA"
}
response = requests.get(url, params=params)
print(response.json())
Contoh Respon Sukses
{
"status": true,
"code": 200,
"message": "Status pembayaran berhasil didapatkan",
"data": {
"transaction_id": "ORKUT-5X7R9P2K",
"amount": 50000,
"fee": 1000,
"total_amount": 51000,
"status": "paid",
"paid_at": "2023-12-31T12:30:45+07:00",
"payment_method": "DANA",
"settlement_status": "pending",
"estimated_settlement_time": "2024-01-02T12:30:45+07:00"
},
"metadata": {
"api_version": "3.1.0",
"timestamp": "2023-12-31T12:35:00+07:00",
"request_id": "req_ghi789rst012"
}
}
Status Pembayaran
| Status | Deskripsi |
|---|---|
| pending | Pembayaran belum diterima |
| paid | Pembayaran berhasil diterima |
| expired | QR code telah kadaluarsa |
| failed | Pembayaran gagal atau dibatalkan |
Konfigurasi Webhook
Webhook memberikan notifikasi real-time saat status pembayaran berubah, lebih efisien daripada polling.
Pastikan endpoint webhook Anda menerima POST request dan mengembalikan kode 200.
Cara Menggunakan Webhook
Siapkan Endpoint
Buat endpoint yang menerima POST request dan mengembalikan 200 OK.
Konfigurasi Webhook
Tambahkan callback_url saat membuat QRIS atau di dashboard.
Verifikasi Signature
Verifikasi header X-Orkut-Signature untuk keamanan.
Format Notifikasi Webhook
{
"event": "payment.success",
"data": {
"transaction_id": "ORKUT-5X7R9P2K",
"amount": 50000,
"fee": 1000,
"total_amount": 51000,
"status": "paid",
"paid_at": "2023-12-31T12:30:45+07:00",
"payment_method": "DANA",
"merchant_name": "MERCHANT NAME",
"merchant_city": "JAKARTA PUSAT",
"customer_reference": "INV-2023-12345"
},
"metadata": {
"api_version": "3.1.0",
"timestamp": "2023-12-31T12:30:50+07:00",
"signature": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
}
Contoh Implementasi (NodeJS)
const express = require('express');
const crypto = require('crypto');
const app = express();
app.use(express.json());
const WEBHOOK_SECRET = 'WEBHOOK_SECRET_ANDA';
app.post('/webhook', (req, res) => {
const signature = req.headers['x-orkut-signature'];
const payload = JSON.stringify(req.body);
const expectedSignature = crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(payload)
.digest('hex');
if (signature !== expectedSignature) {
return res.status(401).send('Invalid signature');
}
const event = req.body.event;
const data = req.body.data;
switch (event) {
case 'payment.success':
console.log('Pembayaran berhasil:', data);
break;
case 'payment.failed':
console.log('Pembayaran gagal:', data);
break;
case 'payment.expired':
console.log('Pembayaran kadaluarsa:', data);
break;
}
res.status(200).send('OK');
});
app.listen(3000, () => {
console.log('Webhook server running on port 3000');
});
Jenis-Jenis Event
| Event | Deskripsi |
|---|---|
payment.success |
Pembayaran berhasil diterima |
payment.failed |
Pembayaran gagal atau dibatalkan |
payment.expired |
QR code telah kadaluarsa |
payment.pending |
Pembayaran dalam proses verifikasi |
Fitur Unggulan
Pembayaran Real-time
Notifikasi instan via webhook dengan respon <150ms.
Keamanan Tingkat Tinggi
Enkripsi end-to-end dan PCI DSS compliant.
QR Dinamis
QR code dengan jumlah spesifik dan masa aktif fleksibel.
Multi E-Wallet
Dukung GoPay, OVO, DANA, LinkAja, ShopeePay, dll.
SDK Lengkap
SDK untuk NodeJS, Python, PHP, Java, Go, .NET.
Analitik Lanjutan
Dashboard untuk performa transaksi dan statistik.
Panduan Integrasi
Langkah-langkah Integrasi
Daftar Akun Developer
Buat akun di dashboard.orkut.id untuk API Key.
Verifikasi Merchant QRIS
Verifikasi kode merchant QRIS Anda.
Integrasikan API
Gunakan endpoint API sesuai kebutuhan.
Uji di Mode Sandbox
Tes di mode sandbox sebelum produksi.
Deploy ke Produksi
Ganti API Key sandbox dengan produksi.
Mode Sandbox
Gunakan endpoint sandbox untuk pengujian:
https://sandbox-orkut.yilzidev.tech/api/orderkuota/
API Key sandbox tersedia di dashboard developer.
Pertanyaan Umum (FAQ)
Apa itu QRIS?
QRIS adalah standar QR code pembayaran nasional dari Bank Indonesia, memungkinkan transaksi antar bank dan e-wallet dengan satu QR code.
Berapa lama QR code berlaku?
QR code berlaku 24 jam sejak dibuat. Setelah itu, QR code kadaluarsa.
Bagaimana cara mendapatkan kode merchant QRIS?
Daftar bisnis Anda ke bank atau penyedia QRIS untuk mendapatkan kode merchant unik.
Apakah ada batas transaksi?
Minimum Rp 1.000. Maksimum tergantung bank/e-wallet, biasanya Rp 5-10 juta per transaksi.
Berapa lama waktu settlement dana?
Settlement memakan waktu 1-2 hari kerja, tergantung bank/e-wallet.
Apakah ada biaya chargeback?
Tidak ada biaya chargeback. Kami membantu investigasi transaksi bermasalah sesuai ketentuan BI.
Bagaimana jika transaksi tidak sesuai?
Laporkan via dashboard atau hubungi support untuk investigasi dan solusi.
Testimoni Pengguna
Andi Wijaya
CTO TokoOnlineKu
"API QRIS Orkut sangat mudah diintegrasikan dengan dokumentasi yang jelas. Webhook membantu kami mendapatkan update real-time."
Budi Santoso
Founder DonasiDigital
"Fitur kode unik sangat membantu tracking donasi. Tim support Orkut sangat responsif dan profesional."
Mulai Gunakan API QRIS Sekarang
Daftar akun developer dan dapatkan API Key untuk integrasi cepat.