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

  1. 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.
  2. Paygate sudah memeriksanya di depan. Token dicek di alamat webhook Paygate. Callback palsu ditolak di situ dan tidak pernah sampai ke aplikasimu.
  3. 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-token pada endpoint yang menerima dari Paygate.
  • Verifikasi X-Paygate-Signature (lihat Aplikasi penerima).
  • Baca reference_id dan status dari body Paygate. Payload Xendit asli ada di field raw.

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.