İmza uyuşmazlığı
En yaygın neden, tam ham gövde yerine ayrıştırılmış JSON'yi imzalamak veya istek başlığından farklı bir zaman damgası kullanmaktır.
Webhook test araci
Örnek gövdeyi düzenleyin, HMAC-SHA256 imzası ve cURL isteği oluşturun. Doğrulamayı test ortamınızda kontrol edin.
Adres, test anahtarı ve zaman damgasını girin.
İmza tarayıcıda hesaplanır. Test anahtarı kullanın.
BoltUtil başlıklarıyla uyumlu, milisaniye cinsinden Unix zaman damgası.
JSON düzenlendiğinde imza ve cURL güncellenir.
Geçerli anahtar, zaman damgası ve JSON girin.
Zaman damgası, ham gövde ve test anahtarından hesaplanır.
Geçerli adres, anahtar, zaman damgası ve JSON girin.USDC sipariş geri çağrısı örneği; USDT olarak değiştirilebilir. Sipariş, adresler ve işlem karması örnektir, ödeme kanıtı değildir.
Araç istek göndermez. cURL komutunu test ortamınızda elle çalıştırın.
İmza doğrulama
Aynı kuralla doğrulayın, olayı güvenle kaydedin ve siparişi güncelleyin.
Doğrulama kılavuzuHMAC_SHA256(timestamp + "." + rawBody, secret)JSON'yi ayrıştırmadan önce HMAC'yi hesaplamak için başlıktaki milisaniyelik zaman damgasını ve tam ham gövdeyi kullanın. Boşluk, satır sonları ve alan sırası imzayı etkiler.
Alınan imzayı, dil çalışma zamanınız tarafından sağlanan sabit zamanlı bir yardımcıyla karşılaştırın.
Başarıyı ancak olayı kaydettikten veya dayanıklı bir dahili kuyruğa koyduktan sonra döndürün.
Webhook sorun giderme
Sorunlarin cogu imza dogrulama, body parse etme, retry yonetimi veya odeme olayini kalici kaydetmeden once basarili yanit donmekten kaynaklanir.
En yaygın neden, tam ham gövde yerine ayrıştırılmış JSON'yi imzalamak veya istek başlığından farklı bir zaman damgası kullanmaktır.
Satıcı uç noktası için yapılandırılan web kancası sırrını kullanın. API anahtarları ve webhook sırları farklı kimlik bilgileri olarak ele alınmalıdır.
JSON ara yazılımı, yükleri yeniden sıralayabilir veya yeniden biçimlendirebilir. HMAC imzalarını doğrularken ayrıştırmadan önce ham gövdeyi yakalayın.
2xx dışındaki yanıtlar başarısızdır. Yeniden deneme, geri çağrı türü, HTTP durumu ve politikaya bağlıdır.
Sipariş ve durum ya da benzersiz olay kimliğiyle tekilleştirin. Bir işlem karması birden çok aktarım içerebilir.
HTTP 2xx'yi yalnızca olayı veritabanınıza veya sıranıza yazdıktan sonra döndürün. Aksi takdirde, bir kilitlenme tamamlanmış ödeme bildirimini kaybedebilir.
SSS
Odeme tamamlandigi halde uygulaman guncellenmediginde bu kontrolleri kullan.
Tam ham istek gövdesini, zaman damgası başlığını ve yapılandırılmış web kancası sırrını doğrulayın. Ayrıştırılmış JSON'nin veya yeniden biçimlendirilmiş bir gövdenin imzalanması genellikle farklı bir HMAC üretir.
Hayır. BoltUtil HTTP durumunu kullanır: 2xx başarılı teslimdir. Önce doğrulayın ve olayı kaydedin.
Sipariş ve durum ya da olay kimliği için benzersiz kısıt veya atomik işlem kullanın. Yalnızca işlem karmasına dayanmayın.
Doğrulama ve kayıttan sonra 2xx döndürün. Hatalarda uygun durum kodu kullanın; yeniden deneme türe ve politikaya bağlıdır.