Hash Hesaplama

Request Hash Testi

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 panelizden 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 . $merchantSecretKey . $customerKey;
$hashData = base64_encode(pack('H*', sha1($hashstr)));
      
.NET ile Ortak Ödeme ve API'ler için Hash oluşturma

String rnd = (DateTime.Now);
String str = sx + clientRefCode + amount + successUrl + failUrl + rnd + merchantSecretKey + customerKey;
System.Security.Cryptography.SHA1 sha = new System.Security.Cryptography.SHA1CryptoServiceProvider();
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str);
byte[] hashingbytes = sha.ComputeHash(bytes);
String hashData = Convert.ToBase64String(hashingbytes); 
      

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;
// $sx değeri Cancel sx değeridir. $referenceCode paynkolay referans numarası, $type işlem tipi (cancel, refund), $amount işlem tutarı, $trxDate işlem tarihi ( ödemenin alındığı tarih ) ( yyyy.mm.dd ), $merchantSecretKey paynkolay panelinizdeki secretkey'dir
$hashData = base64_encode(pack('H*', sha1($hashstr)));
    
.NET ile İptal-İade servisi için Hash oluşturma

String str = sx + referenceCode + type + amount + trxDate + merchantSecretKey;
// sx değeri Cancel sx değeridir. referenceCode paynkolay referans numarası, type işlem tipi (cancel, refund), amount işlem tutarı, trxDate işlem tarihi ( ödemenin alındığı tarih ) ( yyyy.mm.dd ), merchantSecretKey paynkolay panelinizdeki secretkey'dir
System.Security.Cryptography.SHA1 sha = new System.Security.Cryptography.SHA1CryptoServiceProvider();
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str);
byte[] hashingbytes = sha.ComputeHash(bytes);
String hashData = Convert.ToBase64String(hashingbytes);
    

PHP ile Raporlama servisi için Hash oluşturma

      $hashstr = $sx . $startDate . $endDate . $clientRefCode . $merchantSecretKey;
      // $sx değeri Listeleme sx değeridir. $startDate raporlama başlangıç tarihi ( dd.mm.yyyy ), $endDate raporlama bitiş tarihi ( dd.mm.yyyy ), $clientRefCode sizin referans numaranız (tüm işlemleri görmek için boş gönderebilirsiniz), $merchantSecretKey paynkolay panelinizdeki secretkey'dir
      $hashData = base64_encode(pack('H*', sha1($hashstr)));
      
.NET ile Raporlama servisi için Hash oluşturma

      String str = sx + startDate + endDate + clientRefCode + merchantSecretKey;
      // sx değeri Listeleme sx değeridir. startDate raporlama başlangıç tarihi ( dd.mm.yyyy ), endDate raporlama bitiş tarihi ( dd.mm.yyyy ), clientRefCode sizin referans numaranız (tüm işlemleri görmek için boş gönderebilirsiniz), merchantSecretKey paynkolay panelinizdeki secretkey'dir
      System.Security.Cryptography.SHA1 sha = new System.Security.Cryptography.SHA1CryptoServiceProvider();
      byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str);
      byte[] hashingbytes = sha.ComputeHash(bytes);
      String hashData = Convert.ToBase64String(hashingbytes);
      


    $hashstr = $sx . $full_name . $email . $gsm . $amount .$link_expiration_time . $merchantSecretKey;
    // $sx değeri Listeleme sx değeridir. $link_expiration_time linkin geçerliği olacağı son tarihi ( yyyy-mm-dd ), $merchantSecretKey paynkolay panelinizdeki secretkey'dir
    $hashData = base64_encode(pack('H*', sha1($hashstr)));
    
.NET ile Pay By Link için Hash oluşturma

    String str = sx + full_name + email + gsm + amount + link_expiration_time + merchantSecretKey;
    // sx değeri Listeleme sx değeridir. link_expiration_time linkin geçerliği olacağı son tarihi ( yyyy-mm-dd ), merchantSecretKey paynkolay panelinizdeki secretkey'dir
    System.Security.Cryptography.SHA1 sha = new System.Security.Cryptography.SHA1CryptoServiceProvider();
    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str);
    byte[] hashingbytes = sha.ComputeHash(bytes);
    String hashData = Convert.ToBase64String(hashingbytes);