• Sanal Pos

Genel Açıklama

Buraya Tami Sanal Pos Hakkında Genel Açıklama Eklenecektir.

Hash Hesaplama

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.”:

public class SHA256Example {\n public static String sha256(Long merchantNumber, Long terminalNumber, String secretKey) {\n String text = merchantNumber.toString() + terminalNumber.toString() + secretKey;\n try {\n MessageDigest digest = MessageDigest.getInstance(\"SHA-256\");\n byte[] hash = digest.digest(text.getBytes(StandardCharsets.UTF_8));\n String sha256Hex = DatatypeConverter.printBase64Binary(hash);\n return sha256Hex;\n } catch (NoSuchAlgorithmException e) {\n e.printStackTrace();\n return null;\n }\n }\n

TAMİ Test Portalı Bilgileri

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.

Test Ortamı API Kullanıcısı Bilgileri

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.

Taksit Sorgulama

Tami üye işyerlerinin kart bilgisinin ilk 8 hanesi veya 6 hane ile query edip kartın bilgilerini ve taksit yapılabilirliğini öğrenecekleri servistir. Yapabileceği taksit seçeneklerini de response içerisinde görüntüleyebilir.

Taksit Sorgulama İşlemi API Bilgileri

Test Ortamı Bağlantısı:\nhttps://pagoapi-t.garantibbva.com.tr/installment/installment-info?binNumber={binNumber}\n\nÜretim Ortamı Bağlantısı:\nhttps://pagoapi.garantibbva.com.tr/installment/installment-info?binNumber={binNumber}

İstek Parametreleri ve Açıklamaları

Alan Format Uzunluk (O)psiyonel / (Z)orunlu Açıklama
Params/ binNumber Number 8 Z Detayları öğrenilmek istenen kart numarasının ilk 6 hanesi veya 8 hanesi gönderilmelidir.

İşlem HTTPGET isteği ile yapılmalıdır. İstek yapıldıktan sonraki akış aşağıda belirtilmiştir.

API İstek Cevabı Örneği

{\n \"bankName\": \"T. GARANTİ BANKASI A.Ş.\",\n \"bankId\": \"62\",\n \"cardType\": \"CREDIT\",\n \"cardOrg\": \"VISA\",\n \"commercial\": false,\n \"rewardType\": \"Bonus\",\n \"force3ds\": false,\n \"forceCvc\": false,\n \"installments\": [\n 1,\n 3,\n 5\n ],\n \"success\": true,\n \"systemTime\": \"2023-09-15T14:05:06.422\",\n \"correlationId\": \"correlation5291\",\n \"isInstallment\": true\n}

İstek Cevabı Parametreleri ve Açıklamaları

Parametre Adı Format Açıklama
bankName String Bankanın adıdır
bankId String Banka EFT kodudur
cardType String Kart tipidir. Debit/Credit
cardOrg String Kart organizasyon bilgisidir. VISA/MASTERCARD/TROY/AMEX vb.
commercial Boolean Kartın kurumsal kart olup olmadığı bilgisidir. true ise kurumsal kart, false ise bireysel kart
rewardType String Kartın ödül grubudur. BONUS, AXESS, CHIP, WORLD vb.
force3ds Boolean Üye işyeri yetkisine bakarak işlemin 3d ile yapılma zorunluluğunu belirtir. true ise işlem 3dsiz gönderildiğinde hata alınacaktır.
forceCvc Boolean Üye işyeri yetkisine bakarak işlemin cvv ile yapılma zorunluluğunu belirtir. true ise işlem cvvsiz gönderildiğinde hata alınacaktır.
installments list Üye işyerinin sorguladı BIN numarasına göre yapılabilecek taksit seçeneklerini verir.
isInstallment Boolean Üye işyeri yetkisine bakarak işlemin taksit ile yapılabilirliğini belirtir. false ise işlem taksitli gönderildiğinde hata alınacaktır.
success Boolean Servisin başarılı cevap verip vermediği durumudur. true ise karta ait bir data bulunduğunu gösterir. false ise karta ait bir data bulunmadığını gösterir
systemTime dateTime Response zamanı
correlationId String Requestte gönderilen istek correlationid bilgisi
errorCode String success: false olması durumunda hata kodu
errorMessage String success: false olması durumunda dönen hatanın açıklaması

Kod Örnekleri

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ı

Test kartları listesine bu sayfadan ulaşabilirsiniz.

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

Soru Sor Soru Sor