• Ortak Ödeme Sayfası

Ortak Ödeme Sayfası 

Tami ortak ödeme sayfası, ürünleri listeleyeceği bir websitesi olan ancak ödeme sayfası bulunmayan işyerleri için sağlanan bir ortak ödeme sayfasıdır. Akış aşağıdaki gibidir:

Masterpass cüzdan hizmetini sunduğumuz Ortak Ödeme ürünümüze, prod ortamda entegre olmak istiyorsan TeknikDestek@tami.com.tr adresine e-mail atmalısın. 

  • İşyeri Tami token servisinden url tokenı alır.
  • İşyeri ortak ödeme sayfası urlini token bilgisi dolu şekilde çağırır.
  • Ortak ödeme sayfası açılır, sayfada tutar, işyeri bilgisi ve masterpass/ödeme alanı listelenir.
  • Müşteri varsa masterpass’e kayıtlı kartlarından seçim yaparak, ya da yeni kart bilgisi girerek “Ödeme” butonuna tıklar.
  • Ödeme masterpass tarafından Tami posa yönlendirilerek geçirilir, başarılı ise işyerinin token servisinde ilettiği callback url sayfasına yönlendirilir.
  • Bir hata alması durumunda sayfada ilgili mesaj gösterilir.
  • İşyerinin cevap alamadığı durumda, tami/Query servisi ile işlem durumunu sorgulaması beklenir.
  • Sayfada belirlenen süre içinde aksiyon alınmaması durumunda işlem geçirilmesine izin verilmez (test: 15 dk, prod: 6 dk)

1. İşyeri tarafından tami/token servisinin çağırılması: 

İşyeri tami/token servisini çağırır, tutar, order id, callback url bilgileri beslenerek ortak ödeme sayfasının token bilgisini alır. Token tek seferlik üretilir, testte expire olma süresi 15 dk’dır. Token isteğinde iletilecek telefon numarası formatı 905xxxxxxxxx” olarak iletilmelidir.

Header alanında gönderilmesi beklenen parametreler: 

Parametre Adı (O)psiyonel /(Z)orunlu Açıklama
correlationId Z İletişim id
PG-Auth-Token  Z merchantNumber:terminalNumber:hash

PG-Auth-Token için HashGenerator: 

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.getInstanc e(\"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}

Endpoint / Test kimlik bilgileri: 

TEST
Bağlantı Noktası https://sandbox-paymentapi.tami.com.tr/hosted/create-one-time-hosted-token
Test Kimlikleri “Test işyerleri ve Kullanıcı Bilgileri” başlığında iletilmiştir. 
PROD
Bağlantı Noktası https://paymentapi.tami.com.tr/hosted/create-one-time-hosted-token

İstek Parametreleri: 

Alan Tür Uzunluk (O)psiyonel(Z)orunlu (Ş)artlı Açıklama
Amount Decimal Z Ödeme alınmak istenen ürün tutarı
OrderID String 50 Z Sipariş numarası
successCallbackUrl String 300 Z Ödeme başarılı tamamlandığında yönlendirilmesi istenen işyeri sayfası
failCallbackUrl String 300 Z Ödemede hata ile karşılaşıldığında yönlendirilmesi istenen işyeri sayfası (şu an için bu yönlendirme yapılmamaktadır, sucess url ile aynı aynı beslenebilir)
mobilePhoneNumber String 100 Z Müşteri telefon numarası (Masterpass doğrulaması yapılabilmesi için zorunludur) Örn: 905xxxxxxxxx
Data/key alanları String 100 O İletilmek istenen ek bilgi 

Cevap Parametreleri: 

Alan Tür Açıklama
oneTimeToken String Sayfa çağırımı için gerekli token bilgisi 
tokenCreateTime String Token yaratılma zamanı, token belli bir süre validdir

Örnek İstek: 

{\n \"amount\": 10,\n \"orderId\": \"hosted-payment-35\",\n \"successCallbackUrl\": \"www.google.com.tr\",\n \"mobilePhoneNumber\": \"\",\n \"failCallbackUrl\": \"www.google.com.tr\",\n \"data\": {\n \"key-1\": \"xxx\"\n }\n}

Örnek Cevap:

{\n \"oneTimeToken\": \"8wz8KLjrDI4B5aEKUGeGdOXSvk3mOCjf9Ns1vE5j7Ec=\",\n \"tokenCreateTime\": \"2024-07-09T16:18:50.243003602\"\n}

2. İşyeri tarafından sayfanın çağırılması: 

Urldeki token bilgisi doldurularak aşağıdaki şekilde url çağırılır; 

TEST: https://sandbox-portal.tami.com.tr/hostedPaymentPage?token=8wz8KLjrDI4B5aEKUGeGdOXSvk3mOCjf9Ns1vE5j7Ec=

PROD: https://portal.tami.com.tr/hostedPaymentPage?token=uljH69/LreFWmOEsfxFNkJTM0FFtiSmdk+diG6mLVRs=

3. Ödeme yapılması ve sonuç sayfasına yönlendirme: 

Kullanıcı ödeme alanında Masterpass kart bilgilerini kullanarak ya da yeni kart bilgilerini girerek ödeme yapar. Ödeme sonucu başarılı ise işyerinin verdiği sucess call back url’ine yönlendirme yapılır. Hata alınırsa ekranda hata mesajı gösterilir,“ tekrar dene” adımından istenirse kullanıcı tekrar işlem denemesi yapabilir. İşyerine işlem sonuç bilgisi ulaşmadığı durumda time out süresi sonunda Query servisi çağırılarak işlem sorgulanmalıdır. Dökümanın önceki kısımlarında belirtilen Query servis bilgilerine ulaşılabilir.

Test işyerleri ve Kullanıcı Bilgileri

Sandbox test portaline https://sandbox-portal.tami.com.tr adresinden ulaşabilirsin. Test kullanıcıları ile test portale giriş yapıldığında bu kullanıcıya bağlı işyeri tarafından gerçekleştirilen işlemleri görüntülenebilir. İşlemler iptal/iade edilebilir. Test kullanıcı bilgileri için TeknikDestek@tami.com.tr adresine ulaşabilirsin.  

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

Soru Sor Soru Sor