Dokumentasi API ShannonPay
Integrasikan ShannonPay langsung ke aplikasi Anda. Buat transaksi QRIS, cek status pembayaran, batalkan transaksi, ambil riwayat transaksi, dan cek saldo merchant menggunakan satu API Key.
https://shannon.web.id/api/v1
Autentikasi API
Semua Public API ShannonPay memerlukan API Key merchant. API Key dikirimkan menggunakan HTTP Authorization header dengan format Bearer Token.
Authorization
Gunakan API Key yang tersedia pada Dashboard Merchant bagian Integrasi API.
Authorization: Bearer YOUR_API_KEY
Response
API mengembalikan response dalam format JSON menggunakan struktur success dan data.
Content-Type: application/json
Contoh Header
Authorization: Bearer YOUR_API_KEY
Cek Saldo Merchant
Mengambil saldo dan nama merchant berdasarkan API Key yang digunakan.
Saldo Merchant
Mengambil informasi saldo akun merchant yang sedang terautentikasi.
/saldo
curl -X GET "https://shannon.web.id/api/v1/saldo" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"success": true,
"data": {
"saldo": 100000,
"nama": "Nama Merchant"
}
}
Daftar Transaksi
Mengambil daftar transaksi milik merchant yang sedang terautentikasi.
Daftar Transaksi
Mengambil transaksi terbaru dengan jumlah data yang dapat dikontrol melalui query parameter.
/transactions
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
limit
|
integer | Tidak | Jumlah transaksi yang ingin diambil. Default 20. |
curl -X GET "https://shannon.web.id/api/v1/transactions?limit=20" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"success": true,
"data": {
"transactions": [
{
"id": "transaction-id",
"order_id": "ARTSHNN-...",
"user_id": "user-id",
"amount_base": 10000,
"fee": 0,
"fee_percent": 0,
"amount_total": 10000,
"status": "PENDING",
"qr_url": "https://...",
"checkout_url": "https://...",
"qr_string": "...",
"expiry_time": "...",
"created_at": "..."
}
]
}
}
Detail Transaksi
Mengambil satu transaksi berdasarkan Transaction ID.
Detail Transaksi
Hanya transaksi milik merchant terautentikasi yang dapat diakses.
/transactions/:id
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
id
|
string | Wajib | Transaction ID yang ingin diperiksa. |
curl -X GET "https://shannon.web.id/api/v1/transactions/TRANSACTION_ID" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"success": true,
"data": {
"id": "transaction-id",
"order_id": "ARTSHNN-...",
"user_id": "user-id",
"amount_base": 10000,
"fee": 0,
"fee_percent": 0,
"amount_total": 10000,
"status": "SETTLED",
"qr_url": "https://...",
"checkout_url": "https://...",
"qr_string": "...",
"expiry_time": "...",
"created_at": "...",
"paid_at": "..."
}
}
Generate QRIS
Membuat transaksi QRIS baru melalui API. Sistem akan membuat Transaction ID, Order ID, QR URL, QR String, dan Checkout URL untuk pelanggan.
Generate Transaksi QRIS
Buat transaksi pembayaran QRIS baru untuk merchant.
/qris/generate
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
amount
|
number | Wajib | Nominal pembayaran dalam rupiah. Minimum Rp 1.000 dan maksimum Rp 10.000.000. |
curl -X POST "https://shannon.web.id/api/v1/qris/generate" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 10000
}'
{
"amount": 10000
}
{
"success": true,
"data": {
"id": "transaction-id",
"order_id": "ARTSHNN-...",
"user_id": "user-id",
"amount_base": 10000,
"fee": 0,
"fee_percent": 0,
"amount_total": 10000,
"status": "PENDING",
"qr_url": "https://...",
"checkout_url": "https://shannon.web.id/pay/...",
"qr_string": "...",
"expiry_time": "...",
"created_at": "..."
}
}
checkout_url
untuk mengarahkan pelanggan ke
halaman pembayaran ShannonPay.
Status QRIS
Memeriksa status transaksi QRIS melalui Transaction ID.
Cek Status Pembayaran
Mengecek status terbaru transaksi dari provider pembayaran.
/qris/status
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
transaction_id
|
string | Wajib | Transaction ID yang diperoleh dari Generate QRIS. |
curl -X POST "https://shannon.web.id/api/v1/qris/status" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transaction_id": "TRANSACTION_ID"
}'
{
"transaction_id": "TRANSACTION_ID"
}
{
"success": true,
"data": {
"transaction_status": "settlement"
}
}
Cancel QRIS
Membatalkan transaksi QRIS yang masih berstatus PENDING.
Batalkan Transaksi QRIS
Membatalkan transaksi melalui provider dan memperbarui status transaksi ShannonPay.
/qris/cancel
| Parameter | Tipe | Wajib | Keterangan |
|---|---|---|---|
transaction_id
|
string | Wajib | Transaction ID yang ingin dibatalkan. |
curl -X POST "https://shannon.web.id/api/v1/qris/cancel" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transaction_id": "TRANSACTION_ID"
}'
{
"transaction_id": "TRANSACTION_ID"
}
{
"success": true,
"data": null,
"message": "Transaksi berhasil dibatalkan"
}
Checkout URL
Setiap transaksi QRIS yang berhasil dibuat menghasilkan Checkout URL yang dapat diberikan langsung kepada pelanggan.
Cara Kerja
Generate
Panggil
/qris/generate
dengan nominal transaksi.
Ambil URL
Ambil
checkout_url
dari response API.
Kirim
Kirim URL kepada pelanggan melalui WhatsApp, email, website, atau aplikasi.
Bayar
Pelanggan membuka checkout dan melakukan pembayaran QRIS.
Contoh Checkout URL
https://shannon.web.id/pay/TRANSACTION_ID
Status Transaksi
Status internal yang digunakan ShannonPay untuk transaksi QRIS.
Webhook AutoGoPay
Endpoint webhook berikut digunakan oleh provider pembayaran untuk mengirim event kepada ShannonPay. Endpoint ini bukan endpoint yang perlu dipanggil oleh merchant.
AutoGoPay Webhook
Menerima notifikasi transaksi dari provider pembayaran.
/webhook/autogopay
X-Signature: PROVIDER_SIGNATURE
{
"event": "transaction.received",
"transaction": {
"id": "transaction-id",
"status": "settlement",
"time": "..."
}
}