LogoLogo
GitHubFeedback Form
TR
TR
  • Başlangıç
  • Ön Hazırlıklar
    • Entegrasyon Kontrol Listesi
    • Kimlik Doğrulama
      • HMACSHA256 Kimlik Doğrulama
    • Sandbox
    • Postman Collections
    • Live vs Sandbox
    • Eşleştirme
    • Limitler
  • Ödeme Metotları
    • Non-3DS
      • NON-3DS Entegrasyonu
        • Ödeme Oluşturma
        • Ödeme Sorgulama
    • 3DS
      • 3DS Entegrasyonu
        • 3DS Başlatma
        • 3DS Tamamlama
    • iyzico ile Öde (PWI)
      • PWI Entegrasyonu
        • PWI Başlatma
        • PWI Sorgulama
        • PWI Örnek Entegrasyon
    • Ödeme Formu (CheckoutForm)
      • CF Entegrasyonu
        • CF Başlatma
        • CF Sorgulama
        • CF Örnek Entegrasyon
    • Tokenize Cüzdan Ödemesi
      • Tokenization Entegrasyonu
        • iyzico ile Öde (PWI)
        • Ödeme ve Session Sorgulama
        • Access Token Alma
        • Son Ödeme Bilgisi Alma
        • Son Ödeme Bilgisi ile Ödeme Başlatma
          • Bakiye Ödeme Servisi
          • Kart Ödeme Servisi
  • Ürünler
    • Online Ödeme
    • Pazaryeri
      • Pazaryeri Entegrasyonu
        • Pazaryerlerinde Stopaj Uygulaması
        • Alt Üye
          • Alt Üye Güncelleme
          • Alt Üye Sorgulama
          • Alt Üye / Hak Ediş Güncelleme
        • Pazaryeri Ödemesi
        • Onay
    • Abonelik
      • Abonelik Entegrasyonu
        • Abonelik Ürünü
        • Ödeme Planı
        • Abonelik İşlemleri
        • Abone İşlemleri
    • Ceppos App2App
      • App2App Entegrasyonu
        • Kullanıcı Listeleme
        • Ödeme Başlatma
        • İptal / İade
        • Sorgulama
    • Korumalı Havale/EFT
      • Havale/EFT Entegrasyonu
        • Havale/EFT Başlatma
        • Havale/EFT Sorgulama
      • Havale/EFT SSS
    • iyzilink
      • iyzilink API
    • Alışveriş Kredisi
      • Alışveriş Kredisi Entegrasyonu
        • Alışveriş Kredisi Başlatma
        • Alışveriş Kredisi Sonucu Alma
        • Alışveriş Kredisi Örnek Entegrasyon
  • Ek Servisler
    • Kart Saklama
    • Raporlama Servisi
    • İptal ve İade
    • Webhook
    • SFTP
    • Mutabakat Dosyaları
    • Fraud Bildirimleri
    • Taksit ve BIN Sorgulama
    • iyzico Hesabına İade
    • Ödeme Sorgulama
    • İmza Yanıtının Doğrulanması
  • Platformlar
    • Woocommerce
    • Opencart
    • PrestaShop
    • Magento
    • IdeaSoft
    • Ticimax
    • T-Soft
    • Shopify
    • WIX
  • Ek Bilgiler
    • Hata Kodları
    • Test Kartları
    • iyzico Logo Paketi
Powered by GitBook
LogoLogo

Company

  • About
  • Career
  • Social
  • Youtube

Community

  • Github
  • Medium

Integration

  • Brand Guide
  • Solution Partners
  • Open Source

Contact

  • Contact Us
  • Support Center
On this page
  • Anahtar Tanımlar
  • Entegrasyon Öncesi Hazırlıklar
  • Entegrasyon Adımları
  • Örnek Uygulama
  • Kimlik Doğrulama
  • iyzico ile Öde (PWI) Ödemesi ve Session Oluşturma
  • Ödeme ve Session Sorgulama Servisi
  • Access Token Alma Servisi
  • Son Ödeme ve Session Detayını Sorgulama Servisi
  • Webhook
  1. Ödeme Metotları
  2. Tokenize Cüzdan Ödemesi

Tokenization Entegrasyonu

Last updated 2 days ago

iyzico tokenization modelinde iyzico ile Öde yöntemiyle entegrasyon gerçekleştirebilirsiniz:

"iyzico ile Öde", kullanıcıların çevrimiçi alışverişlerini hızlı, kolay ve güvenli bir şekilde tamamlamalarını sağlayan bir dijital ödeme yöntemidir. iyzico tarafından sunulan bu hizmet sayesinde kullanıcılar, kart bilgilerini her alışverişte yeniden girmeye gerek kalmadan ödeme işlemini gerçekleştirebilirler. Ayrıca, iyzico'nun sunduğu taksitlendirme gibi ek avantajlardan da faydalanmaya devam edebilirler.

Bu ödeme yöntemi, hem kullanıcılar hem de işletmeler için güvenli bir ödeme altyapısı sunarak alışveriş deneyimini iyileştirmeyi hedefler.

"iyzico ile Öde" ödeme yöntemini başlatarak son kullanıcıyı iyzico hesabına login olması için yönlendirebilirsiniz.

Anahtar Tanımlar

Entegrasyon Öncesi Hazırlıklar

  • Üye işyerimizin bu servisi kullanabilmesi için IP adresilerini iyzico'ya whitelist ettirmesi gerekmektedir.

  • Üye işyerimizin bu servisi kullanabilmesi için hesap ayarlarının düzenlenmesi gerekmektedir.

Entegrasyon Adımları

Her iyzico ile Öde oluşturma işlemi, mevcut session'ı sonlandırarak yeni bir session başlatır. Session süresince ödeme yöntemi değiştirilemez; ödeme yöntemi değiştirebilmek için iyzico ile Öde oluşturulmak zorundadır. Bu işlem, yeni bir session oluşturur ve ödeme süreci bu yeni session üzerinden devam eder.

Örnek Uygulama

Kimlik Doğrulama

Detayları için kimlik doğrulama sayfasını ziyaret edebilirsiniz.

iyzico ile Öde (PWI) Ödemesi ve Session Oluşturma

Aşağıda örnek olarak iyzico ile Öde (PWI) üzerinden yapılan initialize işlemi için request ve response verisi paylaşılmıştır. Member'ın ödeme işlemi gerçekleştirebilmesi için ve session bilgisi oluşabilmesi için iyzico ile Öde (PWI) servisi initialize edilmelidir.

Örnek İstek

{
    "paidPrice": 1.0,
    "locale": "tr",
    "enabledInstallments": [ 
        1,
        2,
        3,
        6,
        9,
        12
    ],
    "price": 1.0,
    "conversationId": "2224",
    "paymentGroup": "PRODUCT",
    "callbackUrl": "https://merchant-callback.com",
    "currency": "TRY",
    "basketId": "B67832",
    "buyer": {
        "id": "BY789",
        "name": "John",
        "surname": "Doe",
        "identityNumber": "74300864711",
        "email": "sandboxtest0@gmail.com",
        "gsmNumber": "+9055555555",
        "registrationAddress": "Adres",
        "city": "Istanbul",
        "country": "Turkey",
        "ip": "buyer Ip",
        "zipCode": "34580"
    },
    "shippingAddress": {
        "address": "Altunizade Mah. İnci Çıkmazı Sokak No: 3 İç Kapı No: 10",
        "contactName": "Jane Doe",
        "city": "Istanbul",
        "country": "Turkey",
        "zipCode": "34580"
    },
    "billingAddress": {
        "address": "Altunizade Mah. İnci Çıkmazı Sokak No: 3 İç Kapı No: 10",
        "contactName": "Jane Doe",
        "city": "Istanbul",
        "country": "Turkey",
        "zipCode": "34580"
    },
    "basketItems": [
        {
            "id": "BI101",
            "price": 1.0,
            "name": "Binocular",
            "category1": "Collectibles",
            "itemType": "PHYSICAL"
        }
    ]
}

Örnek Response

{
    "status": "success",
    "locale": "tr",
    "systemTime": 1749027773192,
    "conversationId": "2224",
    "token": "d9d9fc30-8178-4ca9-8f93-1b150f465da6",
    "signature": "a53e433a982bc9f927aed4e0383d083bd48de9cff343490ba7477f9964cfbfb1",
    "payWithIyzicoPageUrl": "https://sandbox-ode.iyzico.com/sdk?token=d9d9fc30-8178-4ca9-8f93-1b150f465da6&lang=tr",
    "tokenExpireTime": 600,
    "tokenExpireDate": 1749028373178
}

Ödeme ve Session Sorgulama Servisi

Member'ın session kapsamında yaptığı ödemelerin detayını ve session bilgilerini döner.

Örnek İstek

{
    "checkoutFormToken": "{{checkoutToken}}",
    "locale": "tr",
    "conversationId": "conversationId"
}

Örnek Yanıt

{
    "status": "success",
    "locale": "tr",
    "systemTime": 1749032413350,
    "conversationId": "conversationId",
    "token": "e54b957b-a153-410c-8761-79c9bd4ff44f",
    "callbackUrl": "https://merchant-callback.com",
    "paymentStatus": "SUCCESS",
    "price": 1.00000000,
    "paidPrice": 1.00000000,
    "installment": 1,
    "paymentId": "24259238",
    "memberEmail": "sandboxtest@gmail.com",
    "memberGsmNumber": "+905555555555",
    "merchantCommissionRate": 0E-8,
    "merchantCommissionRateAmount": 0E-8,
    "iyziCommissionRateAmount": 0.01750000,
    "iyziCommissionFee": 0E-8,
    "cardType": "CREDIT_CARD",
    "cardAssociation": "MASTER_CARD",
    "cardFamily": "Advantage",
    "binNumber": "550472",
    "lastFourDigits": "0003",
    "basketId": "B67832",
    "currency": "TRY",
    "itemTransactions": [
        {
            "itemId": "BI101",
            "paymentTransactionId": "26268394",
            "transactionStatus": 2,
            "price": 1.00000000,
            "paidPrice": 1.00000000,
            "merchantCommissionRate": 0E-8,
            "merchantCommissionRateAmount": 0E-8,
            "iyziCommissionRateAmount": 0.01750000,
            "iyziCommissionFee": 0E-8,
            "blockageRate": 0E-8,
            "blockageRateAmountMerchant": 0E-8,
            "blockageRateAmountSubMerchant": 0E-8,
            "blockageResolvedDate": "2025-06-05 00:00:00",
            "subMerchantPrice": 0E-8,
            "subMerchantPayoutRate": 0E-8,
            "subMerchantPayoutAmount": 0E-8,
            "merchantPayoutAmount": 0.98250000,
            "convertedPayout": {
                "paidPrice": 1.00000000,
                "iyziCommissionRateAmount": 0.01750000,
                "iyziCommissionFee": 0E-8,
                "blockageRateAmountMerchant": 0E-8,
                "blockageRateAmountSubMerchant": 0E-8,
                "subMerchantPayoutAmount": 0E-8,
                "merchantPayoutAmount": 0.98250000,
                "iyziConversionRate": 0E-8,
                "iyziConversionRateAmount": 0E-8,
                "currency": "TRY"
            }
        }
    ],
    "authCode": "054626",
    "phase": "AUTH",
    "hostReference": "mock00034iyzihostrfn",
    "signature": "a77fac0a954181b9816bac2d0ba55047d2bfb1934d8efaa6de39b93b91bc9d6c",
    "sessionInfo": {
        "sessionToken": "f403ef2f-fb08-4111-afd6-495811ef6b25",
        "sessionStatus": "ACTIVE",
        "memberIdentifier": "f1409923-57cb-468f-8df2-704ea02075e3",
        "paymentType": "CARD_PAYMENT"
    }
}

Access Token Alma Servisi

Ödeme tetiklenebilmesi ve son ödeme bilgilerinin alınabilmesi için gerekli accessToken bilgisi bu servis ile sorgulanır.

Örnek İstek

{
    "sessionToken": "{{sessionToken}}",
    "memberIdentifier": "{{memberIdentifier}}",
    "locale": "tr",
    "conversationId": "test"
}

Örnek Yanıt

{
    "status": "success",
    "locale": "tr",
    "systemTime": 1749027862133,
    "conversationId": "test",
    "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiItIiwic2NvcGUiOlsidGhpcmRQYXJ0eVNlc3Npb24iXSwic2Vzc2lvblRva2VuIjoiZDUzZWRiNzItNTNmMy00NmY0LTk5NWQtNDM1NzBhOTdiZDg4IiwiZXhwIjoxNzQ5MDI4MjIyLCJhdXRob3JpdGllcyI6WyJwd2lfdHBfc2Vzc2lvbl9jYXJkX2F1dGgiLCJwd2lfdHBfc2Vzc2lvbl9pbml0M2RzX2F1dGgiLCJwd2lfdHBfc2Vzc2lvbl9sYXN0X3BheW1lbnRfcmV0cmlldmUiLCJwd2lfdHBfc2Vzc2lvbl9mdW5kX2F1dGgiXSwianRpIjoiMTUwODdmNTgtZGE4Yy00OTFhLWFjN2QtYmYyODI2ODNmMGRlIiwiY2xpZW50X2lkIjoidGhpcmRQYXJ0eVNlc3Npb25DbGllbnQifQ.YC5McE1SdXrPeCpljrMU1X3kzc3FV7I8DoZ5G0qcS30"
}

Son Ödeme ve Session Detayını Sorgulama Servisi

Member'a ait son ödeme bilgisinin detaylarının dönüldüğü servistir. Access Token Alma servisinden elde edilen accessToken ile gelinmelidir.

Örnek Sorgulama İsteği

{
    "sessionToken": "{{sessionToken}}",
    "memberIdentifier": "{{memberIdentifier}}",
    "locale": "tr",
    "conversationId": "conversationId"
}

Örnek Sorgulama Yanıtı

{
    "status": "success",
    "locale": "tr",
    "systemTime": 1749032543970,
    "conversationId": "conversationId",
    "card": {
        "cardHolderName": "John Doe",
        "cardAssociation": "MASTER_CARD",
        "cardFamily": "Advantage",
        "binNumber": "55047200",
        "lastFourDigits": "0003",
        "cardBankName": "HSBC",
        "cardType": "CREDIT_CARD",
        "expireMonth": "05",
        "expireYear": "2026",
        "expired": false,
        "willExpireSoon": false
    },
    "paymentType": "CARD_PAYMENT",
    "sessionToken": "f403ef2f-fb08-4111-afd6-495811ef6b25",
    "token": "e54b957b-a153-410c-8761-79c9bd4ff44f",
    "paymentId": 24259238
}

Ödeme Tipleri

Dönebilecek Ödeme Tipleri
Parametre
Açıklama
Gönderilebilecek Ödeme Tipleri

Son ödeme bakiye ile yapıldığında, paymentType "FUND" dönmektedir.

FUND

Bakiye ile Ödeme Yapıldığı Anlamına Gelir.

Bu durumda sonraki ödeme isteğinde paymentType "FUND" gönderilmelidir.

Son ödeme Kart ile yapıldığında, paymentType "CARD_PAYMENT" olarak dönmektedir.

CARD_PAYMENT

Kart ile ödeme yapıldığı anlamına gelir.

2D İşlem için, "NON3D" olarak gönderilmelidir. 3DS İşlem için, "3DS" gönderilmelidir.

Ödeme Servisi

Kullanılan son ödeme tipine göre, ödeme gerçekleştirilmesi için kullanılmaktadır. Örnek uygulamada paymentType "CARD_PAYMENT" olarak döndüğü için, kart ödemesi örneği paylaşılmaktadır.

Örnek İstek

{
    "sessionToken": "{{sessionToken}}",
    "memberIdentifier": "{{memberIdentifier}}",
    "conversationId": "conversationId",
    "locale": "tr",
    "paymentType": "3DS",
    "paidPrice": 1.0,
    "price": 1.0,
    "callbackUrl": "callbackUrl",
    "paymentGroup": "PRODUCT",
    "currency": "TRY",
    "basketId": "B67832",
    "buyer": {
        "id": "BY789",
        "name": "John",
        "surname": "Doe",
        "identityNumber": "74300864111",
        "email": "sandboxtest@gmail.com",
        "gsmNumber": "+905555555555",
        "registrationAddress": "Adres",
        "city": "Istanbul",
        "country": "Turkey",
        "ip": "buyer Ip",
        "zipCode": "34580"
    },
    "shippingAddress": {
        "address": "Altunizade Mah. İnci Çıkmazı Sokak No: 3 İç Kapı No: 10",
        "contactName": "Jane Doe",
        "city": "Istanbul",
        "country": "Turkey",
        "zipCode": "34580"
    },
    "billingAddress": {
        "address": "Altunizade Mah. İnci Çıkmazı Sokak No: 3 İç Kapı No: 10",
        "contactName": "Jane Doe",
        "city": "Istanbul",
        "country": "Turkey",
        "zipCode": "34580"
    },
    "basketItems": [
        {
            "id": "BI101",
            "price": 1.0,
            "name": "Binocular",
            "category1": "Collectibles",
            "itemType": "PHYSICAL"
        }
    ]
}

Örnek Yanıt

{
    "status": "success",
    "locale": "tr",
    "systemTime": 1749027890082,
    "conversationId": "conversationId",
    "sessionToken": "d53edb72-53f3-46f4-995d-43570a97bd88",
    "paymentId": 24258864,
    "threeDSHtmlContent": "PCFkb2N0eXBlIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8dGl0bGU+aXl6aWNvIE1vY2sgM0QtU2VjdXJlIFByb2Nlc3NpbmcgUGFnZTwvdGl0bGU+CjwvaGVhZD4KPGJvZHk+Cjxmb3JtIGlkPSJpeXppY28tM2RzLWZvcm0iIGFjdGlvbj0iaHR0cHM6Ly9zYW5kYm94LWFwaS5peXppcGF5LmNvbS9wYXltZW50L21vY2svaW5pdDNkcyIgbWV0aG9kPSJwb3N0Ij4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9yZGVySWQiIHZhbHVlPSJtb2NrNDYtODc2NzgxNDM2MDk1ODAxMGl5emlvcmQiPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYmluIiB2YWx1ZT0iNTg5MDA0Ij4KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InN1Y2Nlc3NVcmwiIHZhbHVlPSJodHRwczovL3NhbmRib3gtYXBpLml5emlwYXkuY29tL3BheW1lbnQvaXl6aXBvcy9jaGVja291dGZvcm0vY2FsbGJhY2szZHMvc3VjY2Vzcy8yNyI+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmYWlsdXJlVXJsIiB2YWx1ZT0iaHR0cHM6Ly9zYW5kYm94LWFwaS5peXppcGF5LmNvbS9wYXltZW50L2l5emlwb3MvY2hlY2tvdXRmb3JtL2NhbGxiYWNrM2RzL2ZhaWx1cmUvMjciPgogICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iY29uZmlybWF0aW9uVXJsIiB2YWx1ZT0iaHR0cHM6Ly9zYW5kYm94LWFwaS5peXppcGF5LmNvbS9wYXltZW50L21vY2svY29uZmlybTNkcyI+CiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJQYVJlcSIgdmFsdWU9IjE4ZThlZGVhLTY2ZjgtNDg4NS05OTNkLWIyYTQ5MzFlNTY0MCI+CjwvZm9ybT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIml5emljby0zZHMtZm9ybSIpLnN1Ym1pdCgpOwo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+",
    "checkoutToken": "1479d5ba-d52d-4fae-8f1c-9d9c75991f2a",
    "signature": "40c72c0d631861c7f1454baffc8f141e7947699dbe22c14ca40f75bdf775fae6"
}

paymentType alanı 3DS olarak gönderilen ve 3DS gerçekleşmesi gereken işlemlerde, response içerisinde threeDSHtmlContent alanı yer alır. Bu alan, 3D Secure doğrulama adımını başlatmak için gerekli olan HTML içeriğini base64 encode edilmiş şekilde sunar.

Doğrulama sürecinin doğru bir şekilde ilerleyebilmesi için:

  1. threeDSHtmlContent verisi base64 formatında decode edilmelidir.

  2. Decode edilen HTML içeriği, bir web sayfasında (örneğin iframe ya da direkt HTML olarak) kullanıcıya gösterilmelidir.

Bu adım, kullanıcıyı bankanın 3DS doğrulama ekranına yönlendirmek için zorunludur.

paymentType alanında gönderilen değer, NON3D olsa dahi iyzico dinamik 3DS yapısı gereği o işlem 3DS olarak geçmesi gerekiyorsa, dönen response şemasında threeDSHtmlContent verisi dönebilir.

Webhook

Ödeme Tipi
Parametre
Açıklama

FUND

iyziEventType

İstek tipini belirtir. Alabileceği değerler:

PWI_TKN_FUND

NON3D

iyziEventType

PWI_TKN_AUTH

3DS

iyziEventType

PWI_TKN_THREEDS_AUTH

Servislere iletilecek istekler iyzico yapısı ile iletilmelidir.

Üye işyeri, member'ın session'ını başlatmak için "" servisleri kullanılır. iyzico ile Öde (PWI) ile gerçekleşen başarılı ödemeye istinaden session bilgisi oluşur.

iyzico ile Öde (PWI) ile gerçekleştirilen ödemeye ait oluşan session ve member bilgileri için "" servisi kullanılmaktadır. Session token ve member identifier üye iş yerimiz tarafından saklanmalıdır. Bu değerler access token almak ve ödeme geçirmek için ileride gerekli olacaktır. Oluşturulan sessionToken sınırlı bir süre ile oluşturulur. Bu süre üye iş yerlerine göre değişiklik gösterebilir.

Session token ve member bilgisi ile accessToken alabilmek için "" servisi kullanılır. Kullanıcın son ödeme bilgisini almak ve tokenize edilmiş bilgiler ile ödeme alabilmesi için accessToken alınmalıdır. accessToken kısa süreli bir token'dır.

Session token ve member bilgisi ile member'a ait son ödeme bilgisini alabilmek için "" servisi kullanılır. accessToken bu aşamada gerekli olan bilgidir.

Üye iş yerinin tokenize edilen son ödeme yöntemini kontrol ederek ödeme alabilmesi için "" üzerinden ödeme yöntemini seçerek ödeme isteğini iletmesi gerekir.

Tokenization cüzdan ödemeleri sonrasında iyzico tarafından üye işyerinin webhookUrl adresine gidecek bildirimlerde yer alacak eventType parametresi ödeme tipine göre değişmekte olup, aşağıdaki değerleri alacaktır. Gönderilen webhook bildirimleri, bu parametreler üzerinden ayrıştırılabilir. Detayları için sayfamızı ziyaret edebilirsiniz.

iyzico ile Öde (Pay with iyzico)
kimlik doğrulama
iyzico ile Öde (PWI)
Ödeme ve Session Sorgulama
Access Token Alma
Son Ödeme Bilgisi Alma
Single API
webhook