hashValue Nasıl Hesaplanır ?
-
Ödeme bilgileri gönderilirken verilen ReturnHash parametresi 1 olarak set edildiğinde,
size ödeme isteği sonrası dönen sonuçta, CodeForHash ‘de yazan GUID değerinin sonuna,
ödeme başarılı olmuşsa “T” (büyük harf), ödeme başarısız olmuşsa “F” (büyük harf) eklenerek oluşturulan string değer,
SHA256 ile HASH’ lenerek hashValue hesaplanır.
NOT : CodeForHash içerisindeki harfler Büyük harf şeklinde olmalıdır !
Başarılı Sonuç :
hashValue = SHA256(CodeForHash + “T”)
Yukarıdaki belirtilen CodeForHash için başarılı sonuç örneği:
hashValue = SHA256(“9FDFBDFC-42C5-417E-AA93-E4D9D5312AAC” + “T”) = cdb7869505bdaaac2f4c891fc9ed889885fd7a0c880127ab5d508883efa3ee83
SHA256 ile Hash kontrolu yapmak için buraya tıklayınız.
Başarısız Sonuç :
hashValue = SHA256(CodeForHash + “F”)
Yukarıdaki belirtilen CodeForHash için başarısız sonuç örneği:
hashValue= SHA256(“9FDFBDFC-42C5-417E-AA93-E4D9D5312AAC” + “F”) = acc929d261fdbf9c41de3db1ae854b1ee1e46344fad0292fd4bbbc43d094c2a3
RedirectURL’ de çalışan kod içerisinde :
Üye işyeri, kendi veritabanında saklamış olduğu CodeForHash değerinin sonuna,
başarılıysa “T”, başarısızsa “F” ekleyip ardından her ikisini de SHA256 ile HASH’ leyerek,
2 adet değer üretecek ve Moka United’ dan dönen hashValue değeri, hangisine eşitse, ödeme sonucunu bu şekilde öğrenmiş olacaktır.
Tamamen farklı bir hashValue dönmüş ise, bu ödeme BAŞARISIZ kabul edilecektir.
NOT : Ayrıca başka bir URL 'nize ödeme sonucunu bildirmemizi istemişseniz, o Url' nin kodunda da aynı değişikliği yapmanız gerekecektir !
Örnek PseudoCode :
hashValue1 = SHA256(CodeForHash + “T”);
hashValue2 = SHA256(CodeForHash + “F”);
if hashValue = hashValue1 then
     return “ÖDEMENİZ BAŞARILI”
else
     return “ÖDEMENİZ BAŞARISIZ”