Hash Hesaplama

Request Hash Testi (hashDataV2)

paynkolay'a gönderdiğiniz her istekte ilgili hash'i de oluşturup göndermelisiniz. Hash aşağıdaki yöntemlerle hesaplanmaktadır. Size özel sx ve merchantSecretKey bilgilerinizi panelinizden alabilirsiniz.

* Kart saklama hizmeti alınyorsa customerKey boş olacaktır.

PHP ile Ortak Ödeme ve API'ler için Hash oluşturma

$hashstr = $sx . "|" . $clientRefCode . "|" . $amount . "|" . $successUrl . "|" . $failUrl . "|" . $rnd . "|" . $customerKey . "|" . $merchantSecretKey;
$hash = mb_convert_encoding($hashstr, 'UTF-8');
$hashedBytes = hash("sha512", $hash, true);
$HashDatav2 = base64_encode($hashedBytes);
      
.NET ile Ortak Ödeme ve API'ler için Hash oluşturma

var raw = $"{Sx}|{ClientRefCode}|{Amount}|{SuccessUrl}|{FailUrl}|{Rnd}|{CustomerKey}|{merchantSecretKey}";
using var sha512 = SHA512.Create();
HashDatav2 = Convert.ToBase64String(sha512.ComputeHash(Encoding.UTF8.GetBytes(raw)));
      

Hash değerini bize diğer parametreler ile post ettiğinizde, biz de aynı değerleri hashliyoruz. Sizin gönderdiğiniz hash ile bizim ürettiğimiz hash bir birini tutar ise, request’in sizden geldiğini teyit ediyoruz.


PHP ile İptal-İade servisi için Hash oluşturma

$hashstr = $sx . "|" . $referenceCode . "|" . $type . "|" . $amount . "|" . $trxDate . "|" . $merchantSecretKey;
$hash = mb_convert_encoding($hashstr, 'UTF-8');
$hashedBytes = hash("sha512", $hash, true);
$HashDatav2 = base64_encode($hashedBytes);
    

Aynı gün iade servisi için hash string'i şu şekilde olmalıdır. $sx . "|" . $referenceCode . "|" . $refundAmount . "|" . $merchantSecretKey

.NET ile İptal-İade servisi için Hash oluşturma

var raw = $"{sx}|{referenceCode}|{type}|{amount}|{trxDate}|{merchantSecretKey}";
using var sha512 = SHA512.Create();
HashDatav2 = Convert.ToBase64String(sha512.ComputeHash(Encoding.UTF8.GetBytes(raw)));
    

Aynı gün iade servisi için hash string'i şu şekilde olmalıdır. {sx}|{referenceCode}|{refundAmount}|{merchantSecretKey}


PHP ile Raporlama servisi için Hash oluşturma

$hashstr = $sx . "|" . $startDate . "|" . $endDate . "|" . $clientRefCode . "|" . $merchantSecretKey;
$hash = mb_convert_encoding($hashstr, 'UTF-8');
$hashedBytes = hash("sha512", $hash, true);
$HashDatav2 = base64_encode($hashedBytes);

      
.NET ile Raporlama servisi için Hash oluşturma

var raw = $"{sx}|{startDate}|{endDate}|{clientRefCode}|{merchantSecretKey}";
using var sha512 = SHA512.Create();
HashDatav2 = Convert.ToBase64String(sha512.ComputeHash(Encoding.UTF8.GetBytes(raw)));
      


$hashstr = $sx . "|" . $full_name . "|" . $email . "|" . $gsm . "|" . $amount . "|" . $link_expiration_time . "|" . $merchantSecretKey;
$hash = mb_convert_encoding($hashstr, 'UTF-8');
$hashedBytes = hash("sha512", $hash, true);
$HashDatav2 = base64_encode($hashedBytes);

    
.NET ile Pay By Link için Hash oluşturma

var raw = $"{sx}|{full_name}|{email}|{gsm}|{amount}|{link_expiration_time}|{merchantSecretKey}";
using var sha512 = SHA512.Create();
HashDatav2 = Convert.ToBase64String(sha512.ComputeHash(Encoding.UTF8.GetBytes(raw)));
    


$hashstr = $sx . "|" . $gsm . "|" . $amount . "|" . $clientRefCode . "|" . $merchantSecretKey;
$hash = mb_convert_encoding($hashstr, 'UTF-8');
$hashedBytes = hash("sha512", $hash, true);
$HashDatav2 = base64_encode($hashedBytes);

    
.NET ile Düzenli Ödeme için Hash oluşturma

var raw = $"{sx}|{gsm}|{amount}|{clientRefCode}|{merchantSecretKey}";
using var sha512 = SHA512.Create();
HashDatav2 = Convert.ToBase64String(sha512.ComputeHash(Encoding.UTF8.GetBytes(raw)));
    


$hashstr = $sx . "|" . $InstructionNumber . "|" . $merchantSecretKey;
$hash = mb_convert_encoding($hashstr, 'UTF-8');
$hashedBytes = hash("sha512", $hash, true);
$HashDatav2 = base64_encode($hashedBytes);

    
.NET ile Düzenli Ödeme İptal için Hash oluşturma


string hashStr = $"{sx}|{instructionNumber}|{merchantSecretKey}";
using var sha512 = SHA512.Create();
HashDatav2 = Convert.ToBase64String(sha512.ComputeHash(Encoding.UTF8.GetBytes(hashStr)));
    
Kayıtlı Kartlar için HashDatav2 Oluşturma
  • Kart Kayıt Etmek:
    $hashstr = $sx . "|" . $cardNumber . "|" . $cvv . "|" . $merchantSecretKey;
  • Kayıtlı Kartları Listelemek:
    $hashstr = $sx . "|" . $customerKey . "|" . $merchantSecretKey;
  • Kayıtlı Kartları Silmek:
    $hashstr = $sx . "|" . $customerKey . "|" . $tranId . "|" . $token . "|" . $merchantSecretKey;
  • Saklı Karttan Ödeme Almak:
    $hashstr = $sx . "|" . $clientRefCode . "|" . $amount . "|" . $successUrl . "|" . $failUrl . "|" . $rnd . "|" . $csCustomerKey . "|" . $merchantSecretKey;

Yukarıdaki örneklerde oluşturulan $hashstr değerini, diğer örneklerde olduğu gibi UTF-8'e çevirip SHA-512 ile hashleyip, Base64 ile encode ederek HashDatav2 parametresini elde edebilirsiniz.