• 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.

İptal İşlemi

TAMİ üzerinden gerçekleştirilen ödeme, aynı gün içinde (gün sonu yapılmadan) iptal edilebilir. İptal yapılabilmesi için ödemeye ait sipariş numarası (orderId) gönderilmesi gerekir. Tutar ve reason gönderilmesi zorunlu değildir. İptal işlemi başarılıysa iptal edilen tutar (amount) servisten döner.

İptal İşlemi API Bilgileri

Test Ortamı Bağlantısı:\nhttps://pagoapi-t.garantibbva.com.tr/payment/reverse\n\nÜretim Ortamı Bağlantısı:\nhttps://pagoapi.garantibbva.com.tr/payment/reverse

İstek Parametreleri ve Açıklamaları

Alan Format Uzunluk (O)psiyonel / (Z)orunlu Açıklama
orderId String (2-36) M iptal edilmek istenen satış işlemine ait sipariş numarası bilgisidir.
amount Decimal O Parçalı iade istekleri için kullanılmaktadır. İşlemin tamamının değil belli bir kısmını iade etmek istenildiğinde gönderilmeli. Boş ise orderın değerini alır. Küsurat ayracı nokta (.) ile yapılmalıdır.
reason String 150 O İade nedeni alınmalıdır. 

API İstek Örneği

{\n \"amount\":\"300\",\n \"orderId\": \"5312asdas2f123qdfasd123\"\n}

API İstek Cevabı Örneği

{\n \"amount\": 50,\n \"currency\": \"TRY\",\n \"orderId\": \"33gsefsfafdqaassaadadas\",\n \"success\": true,\n \"systemTime\": \"2023-09-05T00:56:38.402\",\n \"correlationId\": \"correlation3349\"\n}

İstek Cevabı Parametreleri ve Açıklamaları

Parametre Adı Format Açıklama
success String success ya da false değeri alabilir işlem sonucunun başarı durumunu göstermektedir.
currency String Başarılı iptal edilen işlemin döviz kodu bilgisidir.
amount Number Başarılı iptal edilen işlemin tutar bilgisidir.
errorCode String success=false olduğu durumda hata kodudur
errorMessage String success=false olduğu durumda hata mesajıdır
systemTime dateTime İşlemin gerçekleşme zamanı
correlationId String reverse isteğinde clientın gönderdiği correlationId değeridir

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