Skip to content

6. Signature Text'i Doğru Sırayla ve Yan Yana Ekleyerek Oluşturun ​

Signature Text Nedir? ​

Signature Text, API isteklerinde güvenlik doğrulaması için kullanılan özel bir metin yapısıdır. Belirli alanların kesin sırayla ve hiçbir ayraç, boşluk veya ek karakter olmadan birleştirilmesiyle oluşturulur.

Nasıl Oluşturulur? ​

Signature Text, aşağıdaki değerlerin yan yana eklenmesiyle oluşur:

client_token_hash + secret_key + nonce + timestamp + body
  • 🟢 Sıralama değiştirilemez
  • 🟢 Araya boşluk veya özel karakter eklenmemelidir
  • 🟢 Body olduğu gibi kullanılmalıdır (satır sonları, boşluklar ve tab karakterleri korunmalıdır)

Dikkat Edilmesi Gerekenler

  • Her alan belirtilen sırada olmalıdır.
  • Body çok satırlıysa Signature Text de çok satırlı olur.
  • JSON formatındaki boşluk, satır sonu ve girintiler değiştirilmemelidir.
  • JSON.stringify veya başka formatter işlemleri ile body formatını değiştirmeyin.
  • Fazladan boşluk, tab veya satır sonu eklemeyin.
  • Sıralamayı değiştirmeyin; tek karakter farkı imzayı geçersiz kılar.

Kod Örnekleri ​

C# ​

csharp
string signatureText = clientTokenHash + secretKey + nonce + timestamp + body;

Java ​

java
String signatureText = clientTokenHash + secretKey + nonce + timestamp + body;

JavaScript / TypeScript ​

javascript
const signatureText = clientTokenHash + secretKey + nonce + timestamp + body;

✅ Özet ve Önemli Noktalar ​

  • Signature Text, deterministik bir stringtir; tek bir karakter bile değişirse imza geçersiz olur.
  • Body mutlaka orijinal haliyle kullanılmalıdır.
  • Satır sonları (CRLF, LF), boşluklar, tab karakterleri ve JSON property sırası değiştirilmemelidir.
  • Kurallara uyulmazsa, API signature doğrulama hatası döner.

Örnek Signature Text

MtvH3Fh746S86CT6ArkM01OCbNTsrk+KnTDf2a6EKaM=bfc0ada8-42e8-41fb-9e18-c4f11da6a9350299a659-09a7-453f-8fbc-559662f5e16a20250811205932{
  "orderId": "9f51af45-aab3-4c30-aeb9-f3fb2fc4e775",
  "cardNo": "{creditCardPattern_1}",
  "expiry": 3312,
  "cvv2": "000",
  "amount": 100,
  "currency": 949
}