XXAVIERADEVELOPER SPACEPanduan API
Semua endpoint ↗← Panel API

Integrasi jelas.
Bisnis lebih mudah.

Pelajari deposit, pembayaran QRIS, dan pembagian keuntungan di Xaviera.

PANDUAN PENGGUNA API

Tidak perlu membuka toko di Xaviera.

Gunakan website atau aplikasimu sendiri. API key disimpan di server milikmu; jangan menaruhnya pada JavaScript browser.

DepositModal memakai saldo Xaviera.
Tanpa depositQRIS per pesanan, laba dicatat otomatis.
01

Mode deposit tetap tersedia

Endpoint pembelian lama POST /api/v1/products/order memakai saldo deposit seperti sebelumnya. SMM dan top up game tetap memakai API lama.

02

Pilih mode di panel akun

Pilih dan simpan Deposit atau Tanpa deposit di panel pembayaran API. Tidak perlu membuka toko reseller. Pilihan akun tersedia di GET /api/v1/reseller/finance sebagai paymentMode.

Untuk pesanan baru, gunakan POST /api/v1/reseller/order dengan header dan body seperti checkout di bawah. Sistem mengikuti pilihan akun: Deposit langsung memakai saldo dan mengembalikan mode: deposit, order, serta saldo; Tanpa deposit mengembalikan mode: no-deposit dan payment QRIS.

Gunakan Idempotency-Key yang sama saat mencoba ulang pesanan yang sama, meskipun pilihan mode telah berubah. Pesanan yang sudah dibuat tidak diubah. Jika mode tanpa deposit tidak tersedia, pesanan baru ditolak; saldo deposit tidak dipotong diam-diam. Endpoint lama tetap memakai cara pembayaran masing-masing.

03

Mode tanpa deposit

Endpoint baru tahap ini mendukung produk akun stok lokal biasa. Produk undangan, generate, pemasok cadangan, SMM, game, dan kategori khusus belum didukung endpoint baru. Admin perlu mengaktifkan mode tanpa deposit dan menyiapkan WaroengPay live terlebih dahulu.

  1. Ambil katalog lewat GET /api/v1/products.
  2. Hitung rincian lewat POST /api/v1/reseller/quote.
  3. Buat tagihan lewat POST /api/v1/reseller/checkout.
  4. Tampilkan payment.qrisImage dan payment.amount persis, termasuk kode unik, di website sendiri.
  5. Periksa GET /api/v1/reseller/payments/:id setiap 10–15 detik selama pembayaran berlangsung. Endpoint status membaca data tersimpan; pembaruan pembayaran berasal dari webhook WaroengPay yang diverifikasi dan pemeriksaan latar belakang.
  6. Jika status paid, produk tersedia di payment.order. Jangan menganggap tagihan lunas dari halaman redirect, gambar bukti bayar, atau klaim pembeli.
04

Permintaan checkout

Header: Authorization: Bearer API_KEY, Content-Type: application/json, dan Idempotency-Key: ORDER_UNIK_123. Kunci 8–100 karakter huruf/angka, garis bawah atau tanda minus. Gunakan kunci yang sama untuk mencoba ulang pesanan yang sama, termasuk setelah timeout.

{"productId":"ID_PRODUK","variantId":"ID_VARIAN","qty":1,"sellPrice":15000}

sellPrice adalah harga jual TOTAL pesanan dalam rupiah, bukan harga per barang. Hilangkan variantId untuk produk tanpa varian. qty harus angka bulat 1–100. Kupon tidak diterapkan pada endpoint baru.

05

Pembagian uang

Contoh total jual Rp15.000, harga Xaviera Rp10.000, biaya 10% dari harga jual: bagian Xaviera Rp10.000, biaya Rp1.500, keuntungan Rp3.500. Seluruh pembayaran masuk akun WaroengPay Xaviera. Kode unik menjadi selisih penerimaan pusat dan tidak dikreditkan sebagai keuntungan penjual. Keuntungan dicatat setelah produk berhasil dipenuhi, dengan masa tahan sesuai pengaturan saat tagihan dibuat.

Harga minimum dihitung server agar harga Xaviera dan biaya tertutup, dibulatkan ke atas Rp100. Harga di bawah minimum ditolak; gunakan hasil quote untuk memperbaiki harga sebelum membuat tagihan.

06

Saldo dan penarikan

GET /api/v1/reseller/finance menampilkan saldo keuntungan dan pengaturan. Pengajuan penarikan hanya melalui panel akun di Saldo & Penarikan API, memakai sesi login, password, PIN Wallet, dan OTP ke email akun. Isi rincian rekening, klik Kirim kode, lalu masukkan kode email untuk konfirmasi. Kode berlaku 10 menit dan hanya untuk nominal, rekening, serta pengajuan tersebut. Perubahan rincian memerlukan kode baru; maksimal lima percobaan dan jeda kirim ulang 60 detik. API key tidak dapat meminta kode atau menarik uang. Penarikan memerlukan pemeriksaan dan transfer manual oleh admin.

07

Jika pesanan gagal setelah dibayar

Stok belum ditahan saat tagihan dibuat. Jika stok habis atau harga naik sebelum pembayaran dipenuhi, status menjadi failed dan pembayaran masuk daftar pengembalian admin. Tidak ada laba yang dikreditkan. Admin mengembalikan nominal penuh termasuk kode unik kepada pembayar dan mencatat referensi transfer. Jangan membuat tagihan baru untuk menggantikan pembayaran yang sudah diterima.

Simpan ID pesanan Xaviera pada sistemmu. Kunci permintaan yang sama dengan isi berbeda ditolak HTTP 409. Data dan produk hanya dapat dibaca pemilik API key. Kunci API harus disimpan di server.