API Payment Gateway Crypto: 12 Hal yang Wajib Dicek Sebelum Integrasi
Semua API pembayaran crypto bisa membuat invoice. Perbedaannya terlihat saat retry, pembayaran sebagian, dan webhook yang gagal. Checklist 12 poin untuk developer, lengkap dengan cara API mistKET menangani setiap poin.

Setiap API payment gateway crypto menjanjikan hal yang sama: buat invoice, terima pembayaran, dapatkan callback. Perbedaannya baru terlihat belakangan — saat dua request saling berebut, saat pelanggan mengirim sedikit kurang dari nominal invoice, saat server Anda mati selama satu jam, atau saat penyerang memutar ulang request yang berhasil disadap. Memilih API dengan cermat menghemat jauh lebih banyak waktu daripada mengintegrasikannya dengan terburu-buru.
Ini adalah checklist untuk developer dan CTO yang membandingkan API pembayaran crypto sebelum menulis satu baris kode pun. Untuk setiap poin, Anda akan melihat apa yang perlu dicari, mengapa itu penting, dan bagaimana API mistKET menanganinya. Jika Anda sudah memilih dan ingin kode langkah demi langkah, langsung saja ke panduan integrasi API pembayaran crypto kami.
Kumpulan endpoint minimum
API pembayaran crypto yang layak pakai butuh lebih dari sekadar “buat pembayaran”. Minimal, carilah:
| Kemampuan | Mengapa Anda membutuhkannya | Endpoint mistKET |
|---|---|---|
| Membuat invoice | Satu permintaan pembayaran per pesanan, dengan masa berlaku | POST /invoices |
| Mengambil invoice | Rekonsiliasi saat ada webhook yang terlewat | GET /invoices/{uuid} |
| Menampilkan dan memfilter invoice | Tampilan back-office dan rekonsiliasi malam hari | GET /invoices |
| Membatalkan invoice | Melepas stok saat pesanan ditinggalkan | POST /invoices/{uuid}/cancel |
| Aset yang didukung | Hanya menampilkan jaringan yang bisa dibayar saat ini | GET /assets |
| Kuotasi kurs | Menampilkan nominal kripto sebelum membuat invoice | GET /rate |
| Health check | Monitoring dan fallback yang mulus | GET /health |
Jika penyedia tidak bisa mengambil atau menampilkan daftar invoice, Anda terpaksa memercayai webhook begitu saja — posisi yang buruk saat pertama kali ada pengiriman yang gagal.
1. Autentikasi: apakah setiap request ditandatangani?
API key yang dikirim di header adalah opsi paling lemah: siapa pun yang menyadap atau membocorkannya bisa membuat dan membatalkan invoice. Pilih API yang setiap request-nya ditandatangani dengan secret yang tidak pernah dikirim lewat jaringan. Request ke mistKET membawa X-Api-Key, X-Api-Timestamp, dan signature HMAC-SHA256 dari timestamp dan raw body. Secret hanya ditampilkan sekali di panel merchant.
2. Perlindungan replay
Signature saja tidak mencegah seseorang mengirim ulang request yang disadap. Carilah jendela timestamp dan dukungan nonce. mistKET menolak timestamp yang selisihnya lebih dari ±300 detik dari waktu server dan menolak signature yang sama dipakai dua kali untuk request yang mengubah state. Signature versi 2 menambahkan nonce per request dan juga menandatangani method dan path, sehingga signature tidak bisa dipakai ulang di endpoint lain.
3. Idempotensi saat membuat invoice
Koneksi bisa timeout. Jika checkout Anda mengulang panggilan “buat invoice”, jangan sampai satu pesanan punya dua invoice. API yang baik menyediakan idempotency key. Di mistKET, order_id milik Anda sendiri berperan sebagai kunci itu: memanggil lagi dengan ID pesanan yang sama akan mengembalikan invoice yang sudah ada dengan "idempotent": true, bukan membuat invoice baru.
4. Model status yang mencakup pembayaran nyata
“Lunas / belum lunas” tidak cukup. Pelanggan mengirim sedikit kurang karena exchange memotong biaya, atau mengirim lebih, atau membayar setelah invoice kedaluwarsa. Pastikan API menampilkan kasus-kasus ini secara eksplisit. Invoice mistKET bergerak melalui status new, pending, underpaid, paid, confirmed, overpaid, expired, dan cancelled, dengan field seperti paid_amount, remaining_amount, can_pay_remaining, dan under_review sehingga kode Anda tidak perlu menebak-nebak.
paid berarti transfer sudah terdeteksi dan sedang menunggu konfirmasi; penuhi pesanan hanya saat status confirmed atau overpaid.5. Konfirmasi yang bisa dilihat
API harus memberi tahu berapa konfirmasi blok yang sudah dimiliki sebuah pembayaran dan berapa yang dibutuhkan, beserta hash transaksi dan link explorer. Dengan begitu, tiket dukungan soal pembayaran bisa dicek dalam hitungan detik. mistKET mengembalikan confirmations, required_confirmations, dan array transactions[] berisi hash, nominal, status, dan URL explorer untuk setiap invoice.
6. Penguncian kurs dan mata uang harga
Anda menetapkan harga dalam fiat; pelanggan membayar dalam kripto. Tanyakan mata uang fiat apa saja yang diterima dan berapa lama kurs yang dikutip ditahan. mistKET menerima harga dalam USD, EUR, TRY, RUB, GBP, dan AED (atau langsung dalam simbol kripto), mengunci kurs selama masa berlaku invoice, dan memungkinkan Anda mengatur masa berlaku itu antara 5 hingga 1.440 menit per invoice.
7. Pemilihan jaringan
Bisakah Anda menetapkan jaringan di panggilan API, atau membiarkan pelanggan memilih di halaman hosted? Keduanya berguna: menetapkan jaringan cocok untuk bot dan alur otomatis, sedangkan membiarkan pelanggan memilih mengurangi pembayaran ke jaringan yang salah. mistKET mendukung keduanya lewat pay_currency + network atau asset_id, dan GET /assets melaporkan available: false saat sebuah jaringan tidak punya alamat yang tersedia. Saat ini USDT di TRON (TRC-20) sudah aktif; aset dan jaringan lain diaktifkan per merchant atas permintaan. Baca USDT TRC20 vs ERC20 untuk tahu mengapa TRON menjadi pilihan default yang umum.
8. Webhook yang ditandatangani, di-retry, dan bisa dilacak
Di webhook-lah sebagian besar integrasi gagal. Periksa empat hal: payload ditandatangani, ada timestamp untuk menolak pengiriman yang basi, pengiriman yang gagal di-retry selama berjam-jam (bukan hitungan detik), dan setiap pengiriman punya ID yang bisa dipakai untuk deduplikasi. mistKET menandatangani webhook dengan webhook secret terpisah, mengirim header X-Mistket-Delivery dan X-Mistket-Event, dan mengulang respons non-2xx pada 10 s, 30 s, 2 min, 10 min, 30 min, 1 h, 2 h, dan 3 h, dengan riwayat pengiriman yang terlihat di dashboard. Artikel kami tentang webhook pembayaran crypto membahas desain handler secara mendalam.
9. Error dan rate limit yang terdokumentasi
Anda harus tahu sejak awal seperti apa respons untuk signature yang salah, IP yang diblokir, atau error validasi. mistKET mengembalikan body yang konsisten { "success": false, "error": … } dengan detail per field untuk error validasi, memakai kode standar (401, 403, 404, 422, 429, 503), dan mendokumentasikan batasnya: 120 request per menit per API key.
10. Kontrol di level jaringan
Dengan IP allow-list, API key yang bocor tidak berguna di mana pun selain dari server Anda. mistKET memungkinkan Anda mengaturnya di dashboard; request dari alamat lain mendapat 403. Dikombinasikan dengan request bertanda tangan dan jendela timestamp yang pendek, ini menutup jalur serangan yang paling umum.
11. Tanpa ketergantungan pada SDK
SDK memang praktis sampai tertinggal dari versi bahasa pemrograman Anda. API yang dibangun di atas HTTPS dan JSON biasa, dengan penandatanganan cukup satu panggilan HMAC, bisa dipakai dari PHP, Node.js, Python, Go, atau shell script. mistKET menyediakan contoh klien siap salin untuk PHP, Node.js, dan Python di dokumentasi API-nya, tetapi tidak satu pun yang wajib dipakai.
12. Jalur manual untuk non-developer
Bisnis yang API-first pun sesekali perlu menagih klien satu kali. Pastikan invoice juga bisa dibuat di panel dan dibagikan sebagai link, sehingga tim sales dan support tidak perlu memanggil developer. Di mistKET, invoice yang sama tersedia di panel merchant, dan setiap halaman hosted checkout berfungsi sebagai link pembayaran.
GET /invoices/{uuid} dan bandingkan. Cara ini memverifikasi penandatanganan, handler webhook, dan rekonsiliasi Anda sekaligus.Tanda bahaya saat menilai API pembayaran crypto
- Webhook tanpa signature atau webhook yang “diamankan” hanya dengan URL rahasia.
- Tidak ada cara mengambil invoice setelah dibuat.
- Tidak ada status underpaid atau overpaid — kasus khusus berakhir di chat support.
- Retry hanya beberapa menit, atau tidak ada log pengiriman.
- Rate limit dan format error yang tidak terdokumentasi.
- Biaya per transaksi yang tidak jelas — bandingkan dengan panduan kami tentang biaya payment gateway kripto.
Mendapatkan akses API mistKET
Merchant di-onboard oleh tim mistKET: kirim pesan ke @mistnetwork di Telegram berisi website, jenis bisnis, dan perkiraan volume Anda. Setelah disetujui, Anda membuat API key, secret, dan pengaturan webhook di panel merchant. Integrasi pada umumnya selesai dalam satu sore.
Pelajari bagian developer, harga, dan referensi API lengkap sebelum mulai.


