Changelog
Perubahan pada API reseller, terbaru di atas. Halaman ini hanya memuat yang terlihat dari sisi Anda — bentuk respons, field baru, dan perubahan perilaku.
shield Janji kami soal kompatibilitas
- • Field baru bisa muncul kapan saja. Parser Anda harus mengabaikan field yang tidak dikenal, bukan menolak seluruh respons.
- • Field yang sudah ada tidak dihapus atau diubah artinya. Bila suatu saat harus, kami umumkan lebih dulu di halaman ini beserta tenggatnya.
- • Isi daftar bisa berubah — channel pembayaran, produk, harga. Ambil ulang secara berkala; jangan menyimpannya permanen di kode program.
- • Field bertanda deprecated masih dikirim, tetapi jangan dipakai untuk logika baru.
seller_note
tidak lagi selalu null
Pada GET /v1/trx/{ref_id}, field
seller_note di setiap item selama ini selalu
null karena kesalahan di sisi kami. Sekarang berisi catatan
penjual untuk varian yang dipesan — biasanya instruksi pemakaian seperti cara login atau
larangan mengganti password.
Berlaku juga untuk transaksi lama. Tidak ada yang perlu Anda kirim ulang:
panggil saja detail transaksi seperti biasa dan catatannya sudah ikut. Varian yang memang
tidak punya catatan tetap mengembalikan null — itu normal.
Webhook kini membawa seller_note
Sebelumnya field ini tidak ada sama sekali di payload webhook, sehingga Anda harus memanggil endpoint detail hanya untuk mengambilnya. Sekarang ikut terkirim di:
- •
order.paid,order.processing,order.completed,order.failed,order.canceled→ di setiapdata.items[] - •
order.item.sent→ didata.item
Penambahan field, jadi integrasi yang sudah berjalan tidak perlu diubah. Berlaku untuk
webhook yang dikirim setelah tanggal ini; order lama tidak dikirim ulang —
ambil lewat GET /v1/trx/{ref_id}.
Nilai h2h_provider
kini seragam
Field ini sebelumnya bisa berisi nama penyedia internal kami. Sekarang selalu
"h2h" untuk item host-to-host dan
null untuk selainnya — persis seperti contoh JSON yang selama
ini tercantum di dokumentasi, jadi integrasi yang dibangun mengikuti contoh itu tidak
berubah apa pun. Berlaku di GET /v1/item,
GET /v1/item/{id}, dan
GET /products.
Field-nya tidak dihapus dan tetap truthy untuk item H2H. Bila selama ini
Anda mencabang berdasarkan isinya, pindah ke order_process —
itu yang memang menandai alur pemrosesan (auto,
manual, h2h,
smm, vip) dan tidak akan berubah.
Detail transaksi tidak lagi gagal total karena satu data rusak
Bila satu baris data produk pada sebuah pesanan tidak terbaca, seluruh
GET /v1/trx/{ref_id} untuk pesanan itu dulu membalas
500 — pesanan yang sudah dibayar jadi tidak bisa dilihat sama
sekali. Sekarang baris itu saja yang product_license-nya
null; sisa isi pesanan tetap terkirim utuh. Bila Anda
menemukan product_license bernilai
null pada pesanan yang statusnya sudah selesai, laporkan
ref_id-nya ke tim dukungan — kami bisa menelusurinya.
Dokumentasi detail transaksi dibetulkan
Field description pernah tercantum di dokumentasi item padahal
tidak pernah dikirim; entri itu dihapus. Contoh JSON-nya juga dilengkapi
seller_note, qty, dan
note yang sebelumnya hilang.
Deposit lewat QRIS kini bisa dipakai
GET /v1/balance/channels sebelumnya hanya menampilkan sebagian
channel, sehingga beberapa metode — termasuk QRIS yang aktif — tidak pernah muncul dan
ditolak CODE_NOT_FOUND_OR_INACTIVE bila dipaksa dipakai.
Sekarang daftarnya lengkap, dan POST /v1/balance menerima
semuanya.
Ini penambahan baris; tidak ada channel yang hilang dari daftar Anda.
Channel yang sedang mati tetap dikirim, ditandai
status
status: "on" = bisa dipakai sekarang;
"off" = channel ada tetapi sedang tidak bisa dipakai.
Sengaja tetap dikirim supaya Anda bisa menampilkannya sebagai "sementara tidak tersedia" —
bukan menghilang begitu saja dari tampilan pembeli Anda, lalu muncul lagi tanpa penjelasan.
Yang aktif berada di urutan depan.
Batas harian dijawab 422, bukan
500
Saat batas harian akun tercapai, POST /v1/balance dulu menjawab
500 INTERNAL_SERVER_ERROR — terbaca seperti gangguan server,
padahal itu penolakan biasa. Sekarang 422 dengan
message berisi kode
(TOPUP_DAILY_LIMIT /
TRX_DAILY_LIMIT) dan error berisi
penjelasannya. Jangan diulang otomatis — jawabannya akan sama sampai kuota
pulih.
fees dan
fees_type
ditandai deprecated
Dua field lama pada daftar channel yang nilainya tidak mencerminkan biaya sebenarnya.
Keduanya tetap dikirim demi kompatibilitas, tetapi jangan dipakai
menghitung. Biaya yang berlaku ada di fee_flat dan
fee_percentage — dan nominal final selalu
amount pada respons
POST /v1/balance.
Ada perilaku yang tidak sesuai dengan halaman ini, atau integrasi Anda terpengaruh perubahan di
atas? Hubungi tim dukungan dengan menyertakan ref_id dan waktu
kejadiannya.