• Tami Sanal POS

Cevap Token’ı Çözümleme Genel Açıklama

Tami Sanal POS API’lerinden dönen cevap, HS512 ile imzalı bir JWT’dir (JWS). İstekten farklı olarak şifreli değildir — yani içeriği doğrudan okunabilir, ancak işleme alınmadan önce imzasının doğrulanması zorunludur.

Nasıl Çalışır?

Cevap, nokta ile ayrılmış 3 parçalı standart bir JWT’dir. İmza, size iletilen JWK’daki k değeri ile atılmıştır, yani token üretirken kullanılan aynı anahtarla doğrulanır.

verify( signedResponse, HS512, k ) → geçerliyse claim'ler okunur

Cevabın İçindeki Claim’ler

Claim Değer
iss “tami” (sabit)
aud “<merchantNumber>:<terminalNumber>“ biçiminde, üye işyerine ait merchant:terminal bilgisi (örnek: “77006950:84006953”)
jti / iat / exp benzersiz kimlik, üretim anı, geçerlilik süresi (+10 dakika)
tami:body asıl cevap gövdesi (JSON); işleme alınacak veri burada yer alır
tami:apiVersion “v4”

Yapılması Gerekenler

  • İmza doğrulanmalıdır (HS512 + k). İmzası doğrulanamayan bir cevap işleme alınmamalıdır.
  • aud değerinin, üye işyerine ait kendi merchant:terminal bilgisiyle eşleştiği kontrol edilmelidir.
  • tami:body içindeki JSON alınarak, ilgili işlem sayfasında tanımlı cevap parametrelerine göre işlenmelidir.

Token üretiminde kullanılan JOSE kütüphanesinin verify fonksiyonu bu doğrulama için yeterlidir; ek bir kurulum gerekmez. Hazır örnekler için aşağıdaki “Kod Örnekleri” başlığına bakabilirsiniz.

Kod Örnekleri

Aşağıdaki diller için hazır, çalıştırılabilir örnekler Kod Örnekleri sayfasında yer almaktadır. Tüm örnekler yukarıdaki 3 maddelik akışın birebir uygulamasıdır; ilgili dil seçilip değerler girilerek çalıştırılabilir.

Tüm soru ve destek taleplerinde yanındayız.

Soru Sor Soru Sor