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

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)
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\": \"05343000201\",\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şabilirsiniz. Aşağıda iletilen 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.

Kullanıcı Telefon Numarası Kullanıcı Şifre Sms / Email Otp İşyeri Numarası Terminal Numarası Secret Key
5346484700 147852 147852 77006866 84006869 8e6883ba-e73b-4de2-b58c-aad37d34bc72
5346484709 147852 147852 77006870 84006873 7db5e4a8-fbe1-4b41-8454-81243be79334
5346484803 147852 147852 77006867 84006870 e952ea73-5d0e-4b57-800b-8233e2fb8eb5
5346484807 147852 147852 77006868 84006871 d6fa3cd5-4a2c-4cb0-973a-1c3ebeaddcab
5346484800 147852 147852 77006869 84006872 f3f5fb7e-a58b-4e8f-90b8-347a01394bad
5346484808 147852 147852 77006871 84006874 4448cb84-3697-49a1-99ab-57695b51360e

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

Soru Sor Soru Sor