Pindah dari secret per website ke satu webhook secret
PAYWISE kini menandatangani semua webhook dengan satu secret merchant. Website lama tetap memakai secret lamanya sampai Anda pindah. Begini cara pindah tanpa kehilangan satu webhook pun.
Terbit 10 Oktober 2026 2 menit baca
PAYWISE menandatangani semua webhook dengan satu signing secret untuk seluruh akun Anda. Secret ini ada di halaman Website & Webhook, dan tombol Buat secret baru menggantinya saat diperlukan.
Jika Anda menambahkan website dengan URL webhook sendiri sebelum perubahan ini, website tersebut masih menandatangani webhook-nya dengan secret lamanya sendiri. Tidak ada yang rusak: integrasi Anda tetap berjalan. Website itu menampilkan pesan "Website ini masih memakai secret lamanya sendiri" dan tombol Pindah ke secret utama.

Kenapa sebaiknya pindah?
- Cukup simpan satu secret. Semua server mengecek nilai yang sama, jadi lebih sedikit yang harus disamakan.
- Satu tempat untuk mengganti. Jika secret bocor, satu klik menggantinya untuk semua website.
- Lebih sedikit kesalahan. Kebanyakan masalah "signature tidak cocok" terjadi karena server memakai secret yang salah.
Pindah tanpa kehilangan webhook
Begitu Anda menekan Pindah ke secret utama, signature dari secret lama langsung tidak berlaku. Supaya tidak ada jeda sedikit pun, biarkan server Anda menerima kedua secret untuk sementara:
$raw = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_PAYWISE_SIGNATURE'] ?? '';
$secrets = [getenv('PAYWISE_WEBHOOK_SECRET'), getenv('PAYWISE_OLD_SITE_SECRET')];
$valid = false;
foreach (array_filter($secrets) as $secret) {
if (hash_equals(hash_hmac('sha256', $raw, $secret), $signature)) {
$valid = true;
break;
}
}
if (! $valid) {
http_response_code(401);
exit;
}
Lalu ikuti langkah berikut:
- Salin secret utama dari halaman Website & Webhook dan tambahkan ke server Anda di samping secret lama.
- Deploy, lalu tekan Kirim webhook uji untuk memastikan webhook yang ditandatangani secret utama diterima.
- Tekan Pindah ke secret utama pada website tersebut.
- Cek Riwayat pengiriman: pengiriman baru seharusnya dijawab dengan HTTP 2xx.
- Setelah satu hari tanpa masalah, hapus secret lama dari server Anda.
Punya beberapa website di server berbeda?
Lakukan langkah di atas sekali untuk setiap website. Setiap website pindah sendiri-sendiri, jadi Anda bisa memindahkannya satu per satu.
Terlanjur ada webhook yang gagal?
Pengiriman yang gagal dikirim ulang otomatis, setelah sekitar 1 menit, 5 menit, 30 menit, dan 2 jam. Anda juga bisa menekan Kirim ulang sekarang pada pengiriman yang gagal. Pengiriman ulang ditandatangani dengan secret Anda yang sekarang.
Selengkapnya tentang signature: verifikasi signature webhook PAYWISE.

