Skip to content

5. Body'yi Hazırlayın ve Sabit Tutun ​

Body Nedir? ​

Body, API'ye gönderilecek olan JSON veri gövdesinin ham ve değişmeyen halidir. Bu veri, signature (imza) üretiminde ve HTTP isteğinde birebir aynı şekilde kullanılmalıdır.

Kritik Nokta

Body'nin tek bir karakteri bile değişirse (boşluk, satır sonu, tab, property sırası vs.) imza doğrulama başarısız olur.

Nasıl Kullanılmalıdır? ​

✅ Doğru Uygulama ​

  • Body'yi bir değişkende saklayın.
  • Signature oluştururken de HTTP POST isteğinde de aynı değişkeni kullanın.
  • JSON'u yeniden serialize etmeyin, formatlamayın.

❌ Yanlış Uygulamalar ​

  • JSON.stringify ile tekrar serialize etmek (özellikle JavaScript'te).
  • Body'yi tek satır yapıp göndermek.
  • JSON formatter ile yeniden biçimlendirmek.
  • Editör kaynaklı fazladan boşluk veya satır sonu eklemek.
  • JSON property sırasının otomatik değişmesi.

Önemli Noktalar ​

  • Karakterler → Nokta, boşluk, tab, satır sonu dahil her şey korunmalı.

  • Property Sırası → JSON içindeki alanların sırası değişmemelidir.

  • Satır Sonları → Platform bağımlı farklılıklar olabilir:

    • Windows → CRLF (\r\n)
    • Unix/Linux → LF (\n)
    • Mac → CR (\r)

    Signature üretiminde ve gönderimde mutlaka aynı satır sonu karakteri kullanılmalıdır.

Özet ​

AlanAçıklama
BodyAPI'ye gönderilecek ham JSON veri gövdesi
Kritik NoktaSignature üretimi ve HTTP isteğinde birebir aynı olmalı
DeğiştirilemezSatır sonları, boşluklar, tab'lar, property sırası
Yanlış KullanımTekrar serialize, formatter, otomatik JSON sıralaması
Doğru KullanımTek bir değişkende sakla → Hem signature hem de API isteğinde aynı kullan

Bu nedenle, Body'nin hazırlanışı ve korunması, Signature doğrulama sürecinin en hassas adımıdır.

Örnek Body

Aşağıdaki body örneğinde CRLF satır sonları kullanılmıştır:

json
{
  "orderId": "9f51af45-aab3-4c30-aeb9-f3fb2fc4e775",
  "cardNo": "{creditCardPattern_1}",
  "expiry": 3312,
  "cvv2": "000",
  "amount": 100,
  "currency": 949
}