GoMerch Pro API
Integrasikan pembayaran QRIS ke dalam bot Telegram, website, atau aplikasi Anda. Buat deposit, pantau status pembayaran secara real-time, dan kelola riwayat transaksi melalui API yang sederhana dan powerful.
https://go-pay.yilzi.tech
Authentication
Semua request harus menyertakan API key
Setiap request ke API memerlukan header x-api-key yang berisi API key Anda.
API key bisa dibuat dari Dashboard setelah login.
x-api-key: gm_your_api_key_here
Jangan bagikan API key Anda. Jika API key bocor, segera hapus dari dashboard dan buat yang baru. Token GoBiz merchant tersimpan di server dan otomatis di-refresh ketika expired.
/v1/deposit/create
Buat deposit QRIS baru. Server akan menghasilkan QR code dinamis dari string QRIS statis yang Anda berikan. Deposit berlaku selama 30 menit sebelum otomatis expired.
Request Body
| Parameter | Type | Required | Deskripsi |
|---|---|---|---|
amount |
integer | Yes | Nominal pembayaran dalam Rupiah (contoh: 50000) |
static_qr |
string | Optional | String QRIS statis milik merchant Anda. Opsional jika QRIS Statis sudah disimpan melalui menu Settings di Dashboard. |
curl -X POST https://go-pay.yilzi.tech/v1/deposit/create \
-H "Content-Type: application/json" \
-H "x-api-key: gm_your_api_key" \
-d '{
"amount": 50000,
"static_qr": "00020101021126670016..."
}'
{
"success": true,
"data": {
"deposit_id": "DEP-1717148400-A1B2C3D4",
"amount": 50000,
"qr_image_url": "https://go-pay.yilzi.tech/v1/qris/image/DEP-...",
"qr_string": "00020101021254...",
"status": "PENDING",
"created_at": "2026-05-31T10:00:00.000Z",
"expired_at": "2026-05-31T10:30:00.000Z"
}
}
/v1/deposit/status
Cek status pembayaran deposit. Jika masih PENDING,
server akan secara real-time mengecek ke jurnal transaksi GoBiz untuk mencocokkan pembayaran.
Request Body
| Parameter | Type | Required | Deskripsi |
|---|---|---|---|
deposit_id |
string | Yes | ID deposit yang didapat dari create deposit |
curl -X POST https://go-pay.yilzi.tech/v1/deposit/status \
-H "Content-Type: application/json" \
-H "x-api-key: gm_your_api_key" \
-d '{
"deposit_id": "DEP-1717148400-A1B2C3D4"
}'
{
"success": true,
"data": {
"deposit_id": "DEP-1717148400-A1B2C3D4",
"amount": 50000,
"status": "PAID",
"created_at": "2026-05-31T10:00:00.000Z",
"paid_at": "2026-05-31T10:05:12.000Z",
"payment_data": {
"reference_id": "TXN-...",
"payment_type": "qris"
}
}
}
Possible Status Values
/v1/deposit/cancel
Batalkan deposit yang masih berstatus PENDING.
Deposit yang sudah PAID, EXPIRED, atau CANCELLED tidak bisa dibatalkan.
Request Body
| Parameter | Type | Required | Deskripsi |
|---|---|---|---|
deposit_id |
string | Yes | ID deposit yang ingin dibatalkan |
curl -X POST https://go-pay.yilzi.tech/v1/deposit/cancel \
-H "Content-Type: application/json" \
-H "x-api-key: gm_your_api_key" \
-d '{
"deposit_id": "DEP-1717148400-A1B2C3D4"
}'
{
"success": true,
"data": {
"deposit_id": "DEP-1717148400-A1B2C3D4",
"amount": 50000,
"status": "CANCELLED",
"cancelled_at": "2026-05-31T10:03:45.000Z"
}
}
/v1/deposit/history
Ambil riwayat semua deposit yang dibuat menggunakan API key Anda. Bisa difilter berdasarkan status dan dibatasi jumlahnya.
Request Body
| Parameter | Type | Required | Deskripsi |
|---|---|---|---|
limit |
integer | No | Jumlah maksimal data (default: 50, max: 100) |
status |
string | No | Filter status: PENDING, PAID, EXPIRED, CANCELLED |
curl -X POST https://go-pay.yilzi.tech/v1/deposit/history \
-H "Content-Type: application/json" \
-H "x-api-key: gm_your_api_key" \
-d '{
"limit": 10,
"status": "PAID"
}'
{
"success": true,
"data": {
"total": 2,
"deposits": [
{
"deposit_id": "DEP-...",
"amount": 50000,
"status": "PAID",
"created_at": "...",
"paid_at": "..."
}
]
}
}
/v1/qris/image/:deposit_id
Ambil gambar QR code dari deposit. Endpoint ini tidak memerlukan API key sehingga bisa langsung di-embed di halaman web atau dikirim sebagai gambar di bot.
URL Parameters
| Parameter | Type | Required | Deskripsi |
|---|---|---|---|
deposit_id |
string | Yes | ID deposit (bagian dari URL path) |
<!-- Embed di HTML --> <img src="https://go-pay.yilzi.tech/v1/qris/image/DEP-1717148400-A1B2C3D4" /> # Download via curl curl -o qris.png https://go-pay.yilzi.tech/v1/qris/image/DEP-1717148400-A1B2C3D4
Response berupa file image/png (bukan JSON). Cocok untuk langsung di-embed sebagai <img> tag atau dikirim sebagai photo di bot Telegram.
HTTP Status Codes
| Code | Status | Deskripsi |
|---|---|---|
| 200 | OK | Request berhasil |
| 400 | Bad Request | Parameter tidak lengkap atau tidak valid |
| 401 | Unauthorized | API key tidak valid atau expired |
| 403 | Forbidden | Tidak punya akses ke resource ini |
| 404 | Not Found | Deposit tidak ditemukan |
| 500 | Server Error | Kesalahan internal server |
Error Codes
Kode error dalam field "code" pada response
// Error response format { "success": false, "error": "Deskripsi error", "code": "ERROR_CODE" }
| Code | Deskripsi |
|---|---|
MISSING_API_KEY |
Header x-api-key tidak ditemukan |
INVALID_API_KEY |
API key tidak valid atau tidak terdaftar |
TOKEN_EXPIRED |
Token merchant expired, perlu regenerate API key |
MISSING_PARAMS |
Parameter wajib tidak lengkap |
INVALID_AMOUNT |
Nominal tidak valid (harus angka positif) |
NOT_FOUND |
Deposit tidak ditemukan |
FORBIDDEN |
Tidak punya akses ke deposit milik API key lain |
CANNOT_CANCEL |
Deposit sudah PAID/EXPIRED/CANCELLED, tidak bisa dibatalkan |