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.
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)));
PHP ile Pay By Link için Hash oluşturma
$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)));
PHP ile Düzenli Ödeme için Hash oluşturma
$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)));
PHP ile Düzenli Ödeme İptal için Hash oluşturma
$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)));
-
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.