Skip to main content

🔐 Hash Doğrulama

3D Secure callback ve normal işlemler için kullanılan SHA-256 hash doğrulama algoritması.

Genel Bilgi

Bu hash mekanizması, ödeme sonucunun doğruluğunu garanti altına almak için kullanılır. Fincraft’ın callback veya yanıt olarak döndüğü verilerin değiştirilmediğini doğrulamak amacıyla oluşturulur. callbackKey değeri entegrasyon ekibiniz tarafından sağlanır; almak için Destek ile iletişime geçin.

Hash Algoritması

  • Algoritma: SHA-256
  • Encoding: UTF-8
  • Output: Hex (küçük harf)

3D Secure Başarılı Durum (is3DSuccess = true)

Hash Parametre Sırası

token:reconciliationId:orderId:mdStatus:amount:callbackKey

Hash String Oluşturma

hashKey = token + ":" + reconciliationId + ":" + orderId + ":" + mdStatus + ":" + amount + ":" + callbackKey

Örnek

token=ABC123
reconciliationId=456789
orderId=ORD-001
mdStatus=1
callbackKey=SECRET
amount=3.25

hashKey = ABC123:456789:ORD-001:1:3.25:SECRET

3D Secure Başarısız / Normal Durum (is3DSuccess = false)

Hash Parametre Sırası

reconciliationId:orderId:mdStatus:amount:callbackKey

Hash String Oluşturma

hashKey = reconciliationId + ":" + orderId + ":" + mdStatus + ":" + amount + ":" + callbackKey

Örnek

reconciliationId=456789
orderId=ORD-001
mdStatus=0
callbackKey=SECRET
amount=3.25

hashKey = 456789:ORD-001:0:3.25:SECRET

Hash Hesaplama

hash = SHA256(hashKey).toLowerCase()

Java Örneği

String hash = DigestUtils.sha256Hex(hashKey).toLowerCase(Locale.ENGLISH);
Dikkat:
  • Parametre sırası kesinlikle değiştirilmemelidir.
  • : karakteri separator olarak kullanılmalıdır.
  • callbackKey gizli tutulmalıdır.
  • Büyük/küçük harf duyarlılığına dikkat edilmelidir.
Hash doğrulaması başarılı ise işlem güvenlidir ve veri büttünlüğü korunmuştur.