Kenapa tidak ada x-callback-token di aplikasiku?
Di aplikasi tujuan kamu tidak akan melihat header x-callback-token dari Xendit. Itu disengaja.
Kenapa tidak diteruskan
- Itu kunci akun Xendit-mu, bukan kunci aplikasi. Satu akun Xendit dipakai banyak aplikasi. Kalau tokennya diteruskan, setiap aplikasi ikut memegangnya, dan siapa pun yang memilikinya bisa memalsukan callback Xendit.
- Paygate sudah memeriksanya di depan. Token dicek di alamat webhook Paygate. Callback palsu ditolak di situ dan tidak pernah sampai ke aplikasimu.
- Aplikasimu cukup memastikan satu hal: request ini benar-benar dari Paygate. Itu dilakukan lewat tanda tangan
X-Paygate-Signature, dengan kunci rahasia yang khusus untuk aplikasi itu. Kalau satu aplikasi bocor, cukup buat kunci baru untuk aplikasi itu; akun Xendit dan aplikasi lain tidak terpengaruh.
Yang perlu diubah di aplikasimu
- Hapus pengecekan
x-callback-tokenpada endpoint yang menerima dari Paygate. - Verifikasi
X-Paygate-Signature(lihat Aplikasi penerima). - Baca
reference_iddanstatusdari body Paygate. Payload Xendit asli ada di fieldraw.
Apa yang kami lindungi
- Token/Server Key penyedia dan kunci rahasia aplikasi disimpan terenkripsi (AES-256), bukan teks biasa.
- Log menyamarkan token, kunci, dan kata sandi.
- Alamat tujuan harus https dan publik (perlindungan SSRF).
- Data tiap akun terpisah.
Detail lengkap ada di Keamanan & data.