Buraya Tami Sanal Pos Hakkında Genel Açıklama Eklenecektir.
Hash hesaplanırken merchantNumber + terminalNumber + secretKey bilgileri metin ifadesi olarak uç uca eklenir. Birleştirilmiş bu ifade daha sonrasında SHA-256 methodu ile şifrelenir ve daha sonrasında şifrelenen veri base64 metin ifadesine dönüştürülür.
Test bilgileri yukarıdaki ortam bilgileri kısmında paylaşılmıştır.
Hash hesabı yapılan veri;
İstekler gönderilirken header bilgisine PG-Auth-Token değeri aşağıdaki formatta eklenmiş olması gerekmektedir.
PG-Auth-Token : "merchantNumber:terminalNumber:hash"
“Hash hesaplamasında kullanılacak generator aşağıda verilmiştir.”:
Tami test portalına https://pagoportal-t.garantibbva.com.tr adresinden erişebilirsiniz.Bu adresten üye olarak başvuru yapabilir ve portal ekranlarını görüntüleyebilirsiniz.
Üretim ortamı bilgileriniz için eticaret destek birimine başvuruda bulunabilirsiniz.
| Alan | Veri |
|---|---|
| Merchant ID | 770000678 |
| Terminal ID | 840000678 |
| Secret Key | a3e9a5ab-f3e1-43d1-9a12-f702ada09411 |
Önemli Bilgilendirme: Secret Key bilgisi her terminal için farklılık göstermektedir.
Tami üzerinden gerçekleşen işlemlerin son durumunu öğrenmek için kullanılacak servistir. İşlemin sipariş numarası ve işlem detay görüntüleme true gönderilerek sorgulanır. İşlemin son durumu ve bu siparişle ilgili yapılan tüm işlemlere ait bilgileri gösteren servistir.
| Alan | Format | Uzunluk | (O)psiyonel / (Z)orunlu | Açıklama |
|---|---|---|---|---|
| Params/orderId | String | (2-36) | M | iptal edilmek istenen satış işlemine ait sipariş numarası bilgisidir. |
| Params/isTransactionDetail | String | O | Eğer true gönderilirse order'ın başından geçen tüm işlemler paylaşılacaktır. Eğer false ya da boş gönderilirse order'ın sadece son statusu order tablosundan verilecektir. |
İşlem HTTPGET isteği ile yapılmalıdır. İstek yapıldıktan sonraki akış aşağıda belirtilmiştir.
| Parametre Adı | Format | Açıklama |
|---|---|---|
| success | String | Query işlem sonucudur. true olması durumunda işleme ait diğer bilgiler de dönecektir. |
| errorCode | String | success=false olması durumunda alınan hatanın kodudur. |
| errorMessage | String | success=false olması durumunda alınan hatanın açıklamasıdır. |
| systemTime | dateTime | Query işlem zamanıdır |
| correlationId | String | Query işleminin correlation idsidir |
| amount | Number | İşlemin işlem yapılabilir tutar bilgisidir. Örneğin 100 tllik bir işlem 20 tllik bir iade transactionı geçirdiyse tutar 80 tl görünecektir. |
| orderDate | dateTime | İşlemin oluşturulma tarihidir. |
| currency | String | İşlemin döviz kodudur |
| installmentCount | Number | İşlemin taksit sayısıdır |
| orderStatus | String | İşlemin son statüsüdür |
| card | Object | İşlem yapan karta ait bilgiler içermektedir. |
| card/binNumber | String | İşlem yapılan kartın ilk 8 hanesi |
| card/cardBrand | String | Kart ödül grubu bilgisidir. BONUS, WORLD, AXESS vb. |
| card/cardOrganization | String | Kart organizasyon bilgisidir. AMEX, TROY, MASTERCARD, VISA vb. |
| card/cardType | String | Kart tipidir. CREDIT, DEBIT |
| transactions | List | isTransactionDetail='true' gönderilirse ilgili orderın başından geçen tüm transaction verisi dönülecektir. |
| transactions/amount | Number | ilgili kaydın tutarı |
| transactions/transactionType | String | ilgili kaydın işlem türü |
| transactions/transactionStatus | String | ilgili kaydın başarı durumu |
| transactions/transactionDate | dateTime | ilgili kaydın tarihi |
| transactions/reason | String | İşlem iade/iptal edilirken bir reason alanı gönderilirse sorgulamada da bu alan dönülecektir. |
Aşağıda, çeşitli yazılım dilleri kullanılarak yazılmış özel kod örneklerinin linkleri verilmiştir. Tercih ettiğiniz programlama diline ait link üzerinden, önceden belirlenmiş değerlerle yazılmış olan kodları detaylı bir şekilde inceleyebilirsiniz.
Bu örnekler, ilgili işlem tipini içeren kodları içermektedir ve farklı dillerde yazıldığı için çeşitli yaklaşımları ve pratikleri de gözlemleyebilirsiniz. Bu sayede tercih ettiğiniz programlama diline dair daha iyi anlaşılır ve özgün örneklerle çalışma imkanı bulabilirsiniz.
C# Kod Örnekleri için tıklayınız.
VB.Net Kod Örnekleri için tıklayınız.
Java Kod Örnekleri için tıklayınız.
PHP Kod Örnekleri için tıklayınız.
Unutmayın ki bu örnekler ön tanımlı değerlerle yazılmıştır ve gerçek projelerde kullanımı için gerekli uyarlama ve güvenlik önlemleri almanız gerekebilir.
Test kartları listesine bu sayfadan ulaşabilirsiniz.