Dokumentasi API Qios Payment
Referensi endpoint partner v1 - request, response, dan kode error.
Base URL
https://qiospayment.biz.id/partner/v1
Struktur ini adalah fondasi awal (Phase 1). Modul products, transactions, inquiry, payment, dan webhook akan menyusul di fase berikutnya.
POST
/auth/register.php
application/json
Register
Mendaftarkan akun user baru. Menolak jika uid, alamat_email, atau no_handphone sudah terdaftar.
Request Body
| Field | Tipe | Keterangan |
|---|---|---|
| uid | string | Wajib, unik, 3-20 karakter alfanumerik |
| nama_pengguna | string | Wajib |
| alamat_email | string | Wajib, format email valid |
| no_handphone | string | Wajib, 9-15 digit angka |
Contoh Request
curl -X POST https://qiospayment.biz.id/partner/v1/auth/register.php \
-H "Content-Type: application/json" \
-d '{
"uid": "AHTB",
"nama_pengguna": "Ahmad Taufik",
"alamat_email": "ahmad@example.com",
"no_handphone": "081234567890"
}'
201Registrasi berhasil
{
"status": true,
"message": "Registrasi berhasil",
"data": {
"id": 872222,
"uid": "AHTB",
"code_merchant": "MAC-29822",
"code_referral": "REFAHTB4821",
"status_akun": "belum terverifikasi",
"jenis_akun": "member"
}
}
409Data sudah terdaftar - AUTH_001
{
"status": false,
"code": "AUTH_001",
"message": "uid, alamat_email, atau no_handphone sudah terdaftar"
}
400Validasi gagal - SYS_003
{
"status": false,
"code": "SYS_003",
"message": "uid wajib diisi, format alamat_email tidak valid"
}
POST
/auth/create-pin.php
application/json
Buat PIN
Membuat PIN baru. Hanya berhasil jika user belum pernah punya PIN sebelumnya.
Request Body
| Field | Tipe | Keterangan |
|---|---|---|
| uid | string | Wajib |
| nama_pengguna | string | Wajib, harus cocok |
| alamat_email | string | Wajib, harus cocok |
| no_handphone | string | Wajib, harus cocok |
| pin | string | Wajib, tepat 4 digit angka |
Contoh Request
curl -X POST https://qiospayment.biz.id/partner/v1/auth/create-pin.php \
-H "Content-Type: application/json" \
-d '{
"uid": "AHTB",
"nama_pengguna": "Ahmad Taufik",
"alamat_email": "ahmad@example.com",
"no_handphone": "081234567890",
"pin": "1234"
}'
200Berhasil dibuat
{
"status": true,
"message": "PIN berhasil dibuat",
"data": { "sudah_punya_pin": true }
}
409Sudah pernah buat PIN - AUTH_002
{
"status": false,
"code": "AUTH_002",
"message": "User sudah memiliki PIN, tidak bisa membuat PIN baru"
}
POST
/auth/verify-pin.php
application/json
Verifikasi PIN
Memeriksa apakah PIN yang dimasukkan benar. Dipakai sebagai konfirmasi sebelum transaksi.
Request Body
| Field | Tipe | Keterangan |
|---|---|---|
| uid | string | Wajib |
| nama_pengguna | string | Wajib, harus cocok |
| alamat_email | string | Wajib, harus cocok |
| no_handphone | string | Wajib, harus cocok |
| pin | string | Wajib, 4 digit angka |
Contoh Request
curl -X POST https://qiospayment.biz.id/partner/v1/auth/verify-pin.php \
-H "Content-Type: application/json" \
-d '{
"uid": "AHTB",
"nama_pengguna": "Ahmad Taufik",
"alamat_email": "ahmad@example.com",
"no_handphone": "081234567890",
"pin": "1234"
}'
200PIN benar
{
"status": true,
"message": "PIN benar",
"data": { "pin_valid": true }
}
401PIN salah - AUTH_004
{
"status": false,
"code": "AUTH_004",
"message": "PIN salah"
}
400Belum punya PIN - AUTH_003
{
"status": false,
"code": "AUTH_003",
"message": "User belum memiliki PIN, silakan buat PIN terlebih dahulu"
}
POST
/account/balance.php
application/json
Cek Saldo
Mengambil saldo akun, saldo QRIS, dan poin saja - lebih ringan dibanding menarik seluruh data profil.
Request Body
| Field | Tipe | Keterangan |
|---|---|---|
| uid | string | Wajib |
| nama_pengguna | string | Wajib, harus cocok |
| alamat_email | string | Wajib, harus cocok |
| no_handphone | string | Wajib, harus cocok |
Contoh Request
curl -X POST https://qiospayment.biz.id/partner/v1/account/balance.php \
-H "Content-Type: application/json" \
-d '{
"uid": "AHTB",
"nama_pengguna": "Ahmad Taufik",
"alamat_email": "ahmad@example.com",
"no_handphone": "081234567890"
}'
200Saldo ditemukan
{
"status": true,
"message": "Saldo ditemukan",
"data": {
"saldo_akun": "150000.00",
"saldo_qris": "50000.00",
"poin_akun": "120"
}
}
404Tidak ditemukan - SYS_004
{
"status": false,
"code": "SYS_004",
"message": "Data tidak ditemukan"
}
POST
/profile/info.php
application/json
Info Profil
Menarik seluruh data profil user, termasuk saldo dan poin.
Request Body
| Field | Tipe | Keterangan |
|---|---|---|
| uid | string | Wajib |
| nama_pengguna | string | Wajib, harus cocok |
| alamat_email | string | Wajib, harus cocok |
| no_handphone | string | Wajib, harus cocok |
Contoh Request
curl -X POST https://qiospayment.biz.id/partner/v1/profile/info.php \
-H "Content-Type: application/json" \
-d '{
"uid": "AHTB",
"nama_pengguna": "Ahmad Taufik",
"alamat_email": "ahmad@example.com",
"no_handphone": "081234567890"
}'
200Data ditemukan
{
"status": true,
"message": "Data ditemukan",
"data": {
"id": "872222",
"uid": "AHTB",
"nama_pengguna": "Ahmad Taufik",
"alamat_email": "ahmad@example.com",
"no_handphone": "081234567890",
"jenis_kelamin": "L",
"alamat_lengkap": "Jl. Merdeka No. 10",
"saldo_akun": "150000.00",
"saldo_qris": "50000.00",
"poin_akun": "120",
"code_referral": "REFAHTB4821",
"status_akun": "belum terverifikasi",
"jenis_akun": "member",
"tanggal_mendaftar": "2026-08-16 05:10:22"
}
}
404Tidak ditemukan - SYS_004
{
"status": false,
"code": "SYS_004",
"message": "Data tidak ditemukan"
}
Daftar Kode Error
Setiap response gagal menyertakan field "code" agar partner bisa menangani error berdasarkan kode, bukan menebak dari teks pesan.
Umum / Sistem
| Code | Arti | HTTP Status |
|---|---|---|
| SYS_001 | Method tidak diizinkan | 405 |
| SYS_002 | Kesalahan internal server | 500 |
| SYS_003 | Validasi input gagal | 400 |
| SYS_004 | Akun tidak ditemukan / identitas tidak cocok | 404 |
Auth
| Code | Arti | HTTP Status |
|---|---|---|
| AUTH_001 | uid/email/no_handphone sudah terdaftar | 409 |
| AUTH_002 | User sudah memiliki PIN | 409 |
| AUTH_003 | User belum memiliki PIN | 400 |
| AUTH_004 | PIN salah | 401 |