• 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 147855 147852 77006950 84006953 0edad05a-7ea7-40f1-a80c-d600121ca51b
5346484709 147851 147852 77006951 84006954 c8581bb6-a4b2-4925-8c94-529fc651399e
5346484803 147856 147852 77006952 84006955 ff7d4895-0c32-4f48-86ab-fb9ecca9f3d7
5346484807 147850 147852 77006953 84006956 33124ff0-0b19-4cf9-b002-13a35eae865b
5346484800 147851 147852 77006954 84006957 7daf9631-e136-4164-9ddb-dd1c02df851d
5346484808 147854 147852 77006956 84006959 fe6f3fff-0434-4932-a27d-bb3dac9de49d

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

Soru Sor Soru Sor