Dokumentasi API YNA PAY
Panduan integrasi resmi untuk menerima pembayaran QRIS Dinamis otomatis pada Bot WhatsApp, Bot Telegram, Web Store, dan Aplikasi Anda. Semua response menggunakan format standar JSON.
🔑 Autentikasi Kunci API (API Key)
Setiap permintaan ke seluruh endpoint /api/v2/* wajib menyertakan X-Api-Key pada header request. Dapatkan API Key unik Anda dari Dashboard User menu API & Webhook.
X-Api-Key: yna-xxxxxxxxxxxxxxxxxxxx Content-Type: application/json
⚠️ Format & Kode Error
Jika terjadi kegagalan (misalnya API key salah, nominal tidak valid, atau rate limit terlampaui), server YNA PAY akan mengembalikan format error JSON standar.
{
"status": "error",
"message": "Nominal pembayaran minimal Rp1.000."
}
Membuat invoice baru dan menghasilkan QRIS Dinamis instan otomatis. Nominal amount adalah jumlah dana yang ingin Anda terima utuh.
Parameter Request (JSON Body)
| Field | Tipe | Status | Deskripsi |
|---|---|---|---|
| amount | Number | Wajib | Nominal transaksi dalam Rupiah (contoh: 50000). |
| note | String | Opsional | Catatan transaksi / nama produk (maksimal 200 karakter). |
| customer_name | String | Opsional | Nama pembeli / username pelanggan Anda. |
curl -X POST https://api.ynapay.my.id/api/v2/qris/create \
-H "Content-Type: application/json" \
-H "X-Api-Key: yna-xxxxxxxxxxxxxxxxxxxx" \
-d '{
"amount": 50000,
"note": "Pembelian Akun Premium #123",
"customer_name": "Yuna"
}'
{
"status": "success",
"data": {
"ref_no": "YNA-QR-20260826-87421",
"amount": 50000,
"fee": 350,
"total_amount": 50350,
"qr_string": "00020101021126570011ID.DANA.WWW0118936009153827135233...",
"qr_image_url": "https://api.ynapay.my.id/api/v2/qris/image/YNA-QR-20260826-87421.png",
"status": "PENDING",
"expired_at": "2026-08-26T04:20:00.000Z"
}
}
Mengecek status pembayaran QRIS terkini secara real-time berdasarkan nomor referensi transaksi (ref_no).
curl -X GET https://api.ynapay.my.id/api/v2/qris/status/YNA-QR-20260826-87421 \ -H "X-Api-Key: yna-xxxxxxxxxxxxxxxxxxxx"
{
"status": "success",
"data": {
"ref_no": "YNA-QR-20260826-87421",
"amount": 50000,
"total_amount": 50350,
"status": "SUCCESS",
"paid_at": "2026-08-26T04:12:30.000Z",
"customer_name": "Yuna",
"created_at": "2026-08-26T04:05:00.000Z"
}
}
Mengambil daftar seluruh riwayat transaksi merchant Anda dengan dukungan pagination (page & limit) serta filter status.
curl -X GET "https://api.ynapay.my.id/api/v2/transactions?page=1&limit=10&status=SUCCESS" \ -H "X-Api-Key: yna-xxxxxxxxxxxxxxxxxxxx"
Mengambil informasi saldo akun merchant Anda saat ini, termasuk saldo siap ditarik, saldo tertahan, dan total penarikan.
curl -X GET https://api.ynapay.my.id/api/v2/balance \ -H "X-Api-Key: yna-xxxxxxxxxxxxxxxxxxxx"
Membuat tagihan deposit saldo otomatis via QRIS. Dana langsung masuk ke saldo akun Anda seketika setelah pembayaran diselesaikan.
curl -X POST https://api.ynapay.my.id/api/v2/deposit \
-H "Content-Type: application/json" \
-H "X-Api-Key: yna-xxxxxxxxxxxxxxxxxxxx" \
-d '{ "amount": 100000 }'
Melihat histori seluruh pengajuan top-up deposit saldo akun Anda beserta status pembayarannya.
curl -X GET https://api.ynapay.my.id/api/v2/deposits \ -H "X-Api-Key: yna-xxxxxxxxxxxxxxxxxxxx"
Mengambil daftar channel bank & e-wallet aktif yang tersedia untuk metode pencairan withdraw saldo merchant.
curl -X GET https://api.ynapay.my.id/api/v2/payment-channels \ -H "X-Api-Key: yna-xxxxxxxxxxxxxxxxxxxx"
Mengubah atau mendaftarkan Callback Webhook URL tujuan yang akan menerima HTTP POST notifikasi otomatis saat pembayaran lunas.
curl -X PUT https://api.ynapay.my.id/api/v2/settings/callback-url \
-H "Content-Type: application/json" \
-H "X-Api-Key: yna-xxxxxxxxxxxxxxxxxxxx" \
-d '{ "callback_url": "https://domain-anda.com/api/webhook" }'
Mengambil histori log pengiriman notifikasi webhook ke server Anda lengkap dengan status HTTP response server Anda.
curl -X GET https://api.ynapay.my.id/api/v2/webhook-logs \ -H "X-Api-Key: yna-xxxxxxxxxxxxxxxxxxxx"
🔔 Format Notifikasi Webhook Otomatis
Saat pelanggan Anda berhasil membayar QRIS, server YNA PAY akan secara instan mengirimkan notifikasi HTTP POST ke Callback URL yang Anda daftarkan di dashboard.
{
"event": "PAYMENT_SUCCESS",
"ref_no": "YNA-QR-20260826-87421",
"amount": 50000,
"total_amount": 50350,
"status": "SUCCESS",
"paid_at": "2026-08-26T04:12:30.000Z",
"note": "Pembelian Akun Premium #123",
"signature": "a6b7c8d9e0f1..."
}