Abonelik İşlemleri

Abonelik işlemleri içerisinde yer alan servisler aşağıda listelenmiştir.

Abonelik Başlatma

Tüm aşamaları tamamlandıysanız artık abonelik başlatabilirsiniz.

Abonelik 2 farklı şekilde başlatılabilir.

Yukarıdaki her iki metod aynı sonucu verir ancak kullanım şeklinde farklılık vardır.

Abonelik süreci her zaman için ACTIVE veya PENDING durumu ile başlar. Eğer durum PENDING ise veya durum ACTIVE ancak ödeme planında bir deneme süresi belirtilmişse, iyzico abonelik isteğinde sadece kartın validasyonunu gerçekleştirir. Kart validasyonu 1 TL’lik bir çekim ve akabinde iade ile gerçekleşir. Bunun dışında herhangi bir işlem veya ödeme gerçekleşmez.

Eğer abonelik durumu ACTIVE ise ve planlamada herhangi bir deneme süresi belirtilmemişse karttan planda belirtilen ödeme alınır ve aboneliği başlatılmış olur.

Her abonelik bir kart bilgisi gerektirir. Müşterileriniz iyzico ortamında sakladıkları kartlar ile veya yeni bir kart ile abonelik başlatabilir. Kart güncellemesi isteğinde ilgili aboneliğe ait subscriptionReferenceCode gönderilmelidir. Bu durumda sadece ilgili aboneliğin kart bilgisi güncellenecektir.

Abonelik Durumlarının Tablosu

DURUMUAÇIKLAMA

ACTIVE

Bir abonelik aktif ise ve ödemeler düzenli olarak alınıyorsa status active olur.

PENDING

Bir abonelik durdurulmuşsa status pending olur.

UNPAID

Abonelik sırasında ödeme alınamamış ise status unpaid olur.

UPGRADED

Abonelik başka bir plan ile güncellenmişse status upgraded olur.

CANCELED

Abonelik iptal edilmişse status cancelled olur.

EXPIRED

Abonelik periyodu bitmişse status expired olur. Karttan başka bir ödeme alınmaz.

Ödeme Formu ile Abonelik Başlatma

Bir checkout form oluşturmak için üye işyerleri aşağıdaki bilgileri göndermelidir.

  • Ödeme Planı Referans Kodu

  • Müşteri Bilgisi

  • Abonelik Durumu

  • CallBackURL (Checkout Form sonucunun post edileceği adres)

CallBackUrl üye işyerleri tarafından istek sırasında verilir ve ödeme yapıldıktan sonra son kullanıcının yönlendirileceği sayfayı belirler. Müşteri ödemeyi yaptığı anda yönlendirme gerçekleşir. Bu noktada ödeme isteği bankaya gönderilmiş ve sonuç iyzico tarafında işlenmiştir. Üye işyeri ayrı bir istekle ödemenin alınıp alınmadığını kontrol etmelidir. Eğer kart validasyonu veya ilk ödeme başarılıysa diğer tüm süreç iyzico tarafında ilerletilir.

NOT : Müşterinizin iyzico ortamında sakladığı bir kart varsa checkout formunda saklı kartla ödeme seçeneği görünecektir. Bu durumda üye iş yerlerimizin ek bir istek göndermesi gerekmez.

iyzico Checkout Form oluşturma isteği sonucunda bir htmlContent parametresi döner. Bu javascript kod parçacığı sayfaya yazdırıldığında, iyzico kütüphanesi aşağıda belirtilen “div” lerin herhangi birine yüklenmeye hazırdır. Sayfa tamamen yüklendiğinde checkout form görünecektir.

Checkout formun yükleneceği div'ler responsive veya popup şeklinde olabilir. Aşağıda örnekleri iletilmiştir.

<div id="iyzipay-checkout-form" class="responsive"></div>
<div id="iyzipay-checkout-form" class="popup"></div>

Ödeme Formu ile Abonelik Başlatma

POST https://api.iyzipay.com/v2/subscription/checkoutform/initialize

Request Body

NameTypeDescription

locale

String

iyzico istek sonucunda dönen metinlerin dilini ayarlamak için kullanılır. Varsayılan değeri TR.

conversationId

String

İstek esnasında gönderip, sonuçta alabileceğiniz bir değer, request/response eşleşmesi yapmak için kullanılabilir. En yaygın kullanış biçimi üye iş yerinin abonelik numarasıdır.

callbackUrl*

String

Ödeme sonucunun post edileceği url adresi.

shippingAddress.contactName*

String

Kargo iletişim ismi.

shippingAddress.country*

String

Kargo ülkesi.

shippingAddress.city*

String

Kargo şehri.

shippingAddress.zipCode

String

Kargo zip kodu.

shippingAddress.address*

String

Kargo adresi.

billingAddress.contactName*

String

Fatura iletişim ismi.

billingAddress.country*

String

Fatura adresi.

billingAddress.city*

String

Fatura şehri.

billingAddress.zipCode

String

Fatura zip kodu.

billingAddress.address*

String

Fatura adresi.

identityNumber*

String

Müşteri telefon numarası.

gsmNumber*

String

Müşteri email adresi.

email*

String

Müşteri kimlik numarası.

surname*

String

Müşteri soyadı.

name*

String

Müşteri adı.

subscriptionInitialStatus

String

Abonelik başlangıç durumu (PENDING veya ACTIVE)

pricingPlanReferenceCode*

String

Abonelikte uygulanacak plan referans kodu.

{
    "status": "success",
    "locale": "tr",
    "systemTime": 1687095783124,
    "conversationId": "954b389e-b147-43d3-a26a-bc9df9ca2868",
    "token": "8e86b16e-9c0f-450d-a09d-0fd8a27e5197",
    "checkoutFormContent": "<script type=\"text/javascript\">if (typeof iyziInit == 'undefined') {var iyziInit = {currency:\"TRY\",token:\"8e86b16e-9c0f-450d-a09d-0fd8a27e5197\",price:1.00,locale:\"tr\",baseUrl:\"https://sandbox-api.iyzipay.com\", merchantGatewayBaseUrl:\"https://sandbox-merchantgw.iyzipay.com\", registerCardEnabled:false,bkmEnabled:false,bankTransferEnabled:false,bankTransferTimeLimit:{\"value\":5,\"type\":\"day\"},bankTransferRedirectUrl:\"\",bankTransferCustomUIProps:{},campaignEnabled:false,campaignMarketingUiDisplay:null,paymentSourceName:\"\",plusInstallmentResponseList:null,payWithIyzicoSingleTab:false,payWithIyzicoOneTab:false,mixPaymentEnabled:true,creditCardEnabled:true,bankTransferAccounts:[],userCards:[],fundEnabled:false,memberCheckoutOtpData:{},force3Ds:false,isSandbox:true,storeNewCardEnabled:true,paymentWithNewCardEnabled:true,enabledApmTypes:[],payWithIyzicoUsed:false,payWithIyzicoEnabled:false,payWithIyzicoCustomUI:{},buyerName:\"Bünyamin\",buyerSurname:\"Yaşar\",merchantInfo:\"\",merchantName:\"Sandbox Merchant Name - 376927\",cancelUrl:\"\",buyerProtectionEnabled:false,hide3DS:true,gsmNumber:\"+905554443322\",email:\"kerem@altintas.com\",checkConsumerDetail:{},subscriptionPaymentEnabled:true,ucsEnabled:true,fingerprintEnabled:false,payWithIyzicoFirstTab:false,creditEnabled:true,payWithIyzicoLead:false,goBackUrl:\"\",metadata : {\"debitCardAllowed\":\"false\"},createTag:function(){var iyziJSTag = document.createElement('script');iyziJSTag.setAttribute('src','https://sandbox-static.iyzipay.com/checkoutform/v2/bundle.js?v=1687095783108');document.head.appendChild(iyziJSTag);}};iyziInit.createTag();}</script><script type=\"text/javascript\">if (typeof iyziUcsInit == 'undefined') {var iyziUcsInit = {\"baseUrl\":\"https://sandbox-api.iyzipay.com\", \"ucsToken\":\"28fac7ba-d34b-4e21-86a8-89785364d59f\",\"scriptType\":\"UCS_CONSENT\",\"buyerProtectedMerchant\":false,\"maskedGsmNumber\":\"+90****22\",\"gsmNumber\":\"+905554443322\",\"merchantName\":\"Sandbox Merchant Name - 376927\", createTag: function () {var iyziUcsJSTag = document.createElement('script'); iyziUcsJSTag.setAttribute('src', 'https://sandbox-static.iyzipay.com/checkoutform/v2/bundle.js?v=1687095783122'); document.head.appendChild(iyziUcsJSTag);}};if (typeof iyziInit == 'undefined') { iyziUcsInit.createTag(); }}</script><script type=\"text/javascript\">if (typeof iyziSubscriptionInit == 'undefined') {var iyziSubscriptionInit = {\"daysOfTrialPeriod\":\"30\",\"intervalCount\":\"1\",\"subscriptionState\":\"START_WITH_TRIAL_PERIOD\",\"interval\":\"WEEKLY\",\"recurrenceCount\":\"5\",\"pricingPlanPrice\":\"30.00\"}}</script>",
    "tokenExpireTime": 1800
}

Ödeme Formu ile Abonelik Başlatma Dönen Parametreler

Parametre ismiTipAçıklama

status

String

Yapılan isteğin sonucunu belirtir. Aboneliğin başarılı şekilde başlaması durumunda success değeri döner.

systemTime

Long

Dönen sonucun o anki unix timestamp değeridir.

checkoutFormContent

String

Checkout formun gösterilmesi için gerekli javascript html kodu.

token

String

Checkout form için oluşturulan tekil değer. Her istek için özel üretilir ve işyerine dönülür. Abonelik detaylarını öğrenmek için kullanılmalıdır.

tokenExpireTime

StringInteger

Checkout form için üretilmiş olan token değerinin geçerlilik süresi.

Ödeme Formu Sonucunu Alma

Son kullanıcı kredi kartı bilgilerini girip veya saklı kartı ile ödemeyi tamamladığında, işlem başarılı ise, sayfa init isteğinde belirtilen callBackUrl adresine yönlendirilir. Bu adrese aynı zamanda post metodu ile token bilgisi gönderilir. Bu sorguda kullanacağınız token değerini ödeme formunu oluşturduğunuz anda(init) ya da callbackUrl adresinize gönderilen post datasından alabilirsiniz.

Ödeme Formu Sonucunu Alma

POST https://api.iyzipay.com/v2/subscription/checkoutform/{{ token }}

Request Body

NameTypeDescription

token*

String

Checkout form için oluşturulan tekil değer. Her istek için özel üretilir ve işyerine dönülür. Abonelik sonucunu öğrenmek için zorunlu bir alandır.

{
"status":"success",
"systemTime":1687093881913,
"data":{
    "referenceCode":"2c9025f4-725a-47e0-8114-97642dd63f0b",
    "parentReferenceCode":"47f703ce-76e9-49fd-8ef7-c46dd0942804",
    "pricingPlanReferenceCode":"d128e8bf-60e4-42f8-8d1b-3190d61b755d",
    "customerReferenceCode":"525b7ac7-901a-42cf-bb9f-627c0453fb38",
    "subscriptionStatus":"ACTIVE",
    "trialDays":30,
    "trialStartDate":1687093881545,
    "trialEndDate":1689685881545,
    "createdDate":1687093881545,
    "startDate":1687093881545,
    "endDate":1692709881545
    }
}

Ödeme Formu Sonucunu Alma Dönen Parametreler

Parametre ismiTipAçıklama

status

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise success değeri döner.

systemTime

Integer

Dönen sonucun o anki unix timestamp değeridir.

referenceCode

String

Abonelik için üretilen eşsiz referans kodu.

parentReferenceCode

String

Abonelik güncellemelerinde üye işeyerinin eşleştirme yapılabileceği eşsiz referans kodu.

pricingPlanReferenceCode

Integer

Aboneliğe ait plan referans kodu.

customerReferenceCode

String

Müşteri bilgilerine istinaden oluşturulmuş eşsiz müşteri kodu. Bu kod email adresi baz alınarak oluşturulur ve müşteri işlemleri bu kod ile de yapılabilir.

subscriptionStatus

String

Abonelik durumunu gösterir. İstek esnasında gönderilmişse, sonuçta aynen geri iletilir. Gönderilmemişse ACTIVE değeri döner.

trialDays

Integer

Ödeme planında belirlenen deneme süresidir. Bu süreç boyunca karttan ödeme alınmaz.

trialStartDate

Integer

Deneme süresinin başlangıç tarihini gösteren unix timestamp değeridir.

trialEndDate

Integer

Deneme süresinin bitiş tarihini gösteren unix timestamp değeridir.

createdDate

Integer

Abonelik oluşturulma tarihinin unix timestamp değeridir.

startDate

Integer

Abonelik başlangıç tarihinin unix timestamp değeridir.

NON-3DS ile Abonelik Başlatma

Üye iş yerleri aşağıdaki parametreleri göndererek abonelik başlatabilir.

NON-3DS ile Abonelik Başlatma

POST https://api.iyzipay.com/v2/subscription/initialize

Request Body

NameTypeDescription

locale

String

iyzico istek sonucunda dönen metinlerin dilini ayarlamak için kullanılır. Varsayılan değeri TR.

conversationId

String

İstek esnasında gönderip, sonuçta alabileceğiniz bir değer, request/response eşleşmesi yapmak için kullanılabilir. En yaygın kullanış biçimi üye iş yerinin abonelik numarasıdır.

shippingAddress.contactName*

String

Kargo iletişim ismi.

shippingAddress.country*

String

Kargo ülkesi.

shippingAddress.city*

String

Kargo şehri.

shippingAddress.zipCode

String

Kargo zip kodu.

shippingAddress.address*

String

Kargo adresi.

billingAddress.contactName*

String

Fatura iletişim ismi.

billingAddress.country*

String

Fatura adresi.

billingAddress.city*

String

Fatura şehri.

billingAddress.zipCode

String

Fatura zip kodu.

billingAddress.address*

String

Fatura adresi.

identityNumber*

String

Müşteri telefon numarası.

gsmNumber*

String

Müşteri email adresi.

email*

String

Müşteri kimlik numarası.

surname*

String

Müşteri soyadı.

name*

String

Müşteri adı.

subscriptionInitialStatus

String

Abonelik başlangıç durumu (PENDING veya ACTIVE)

pricingPlanReferenceCode*

String

Abonelikte uygulanacak plan referans kodu.

paymentCard.consumerToken

String

Saklı kartın kullanılabilmesi için kullanıcı için oluşturulmuş token. Geçerlilik süresi 30 dakikadır.

paymentCard.cardToken

String

Seçilen karta ait token.

paymentCard.ucsToken

String

Kartın iyzico ortamında çözümlenmesi için kullanıcı için oluşturulmul değer. Geçerlilik süresi 30 dakikadır.

paymentCard.registerConsumerCard*

Boolean

Kartın saklanması için gerekli değer. True gönderilmelidir. Kartın iyzico ortamında saklanacağının onayı alınamlı. detaylı bilgi için iyzico korumalı kart saklama dökümanını inceleyeniz.

paymentCard.cvc

String

Kart CVC kodu

paymentCard.expireMonth

String

Kart son kullanma ayı

paymentCard.expireYear

String

Kart son kullanma yılı.

paymentCard.cardNumber

String

Kredi kartı numarası.

paymentCard.cardHolderName

String

Kart sahibi adı ve soyadı.

{
    "status": "success",
    "systemTime": 1687096973255,
    "data": {
        "referenceCode": "91e96872-1d07-4b53-936f-9afaeeb2594b",
        "parentReferenceCode": "0a523735-db2d-41c2-a861-924fbbb3be7c",
        "pricingPlanReferenceCode": "10d3f566-6554-41e5-81fa-79d3df8edec0",
        "customerReferenceCode": "c38d6334-3096-40b6-95ea-37fb6c92e740",
        "subscriptionStatus": "ACTIVE",
        "trialDays": 30,
        "trialStartDate": 1687096973244,
        "trialEndDate": 1689688973244,
        "createdDate": 1687096973244,
        "startDate": 1687096973244,
        "endDate": 1692712973244
    }
}

NOT : Eğer yeni bir kart ile abonelik başlatılacaksa kart bilgileri ile birlikte registerConsumerCard parametresinin true gönderilmesi gerekir. Ayrıca müşteriden kartının iyzico ortamında saklanacağı ile ilgili onay alınmalıdır.

Eğer saklı kartla abonelik başlatılacaksa ucsToken, cardToken, consumerToken bilgileri gönderilmelidir.

NON-3DS ile Abonelik Başlatma Dönen Parametreler

Parametre ismiTipAçıklama

status

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise success değeri döner.

systemTime

Integer

Dönen sonucun o anki unix timestamp değeridir.

referenceCode

String

Abonelik için üretilen eşsiz referans kodu.

parentReferenceCode

String

Abonelik güncellemelerinde üye işeyerinin eşleştirme yapılabileceği eşsiz referans kodu.

pricingPlanReferenceCode

Integer

Aboneliğe ait plan referans kodu.

customerReferenceCode

String

Müşteri bilgilerine istinaden oluşturulmuş eşsiz müşteri kodu. Bu kod email adresi baz alınarak oluşturulur ve müşteri işlemleri bu kod ile de yapılabilir.

subscriptionStatus

String

Abonelik durumunu gösterir. İstek esnasında gönderilmişse, sonuçta aynen geri iletilir. Gönderilmemişse ACTIVE değeri döner.

trialDays

Integer

Ödeme planında belirlenen deneme süresidir. Bu süreç boyunca karttan ödeme alınmaz.

trialStartDate

Integer

Deneme süresinin başlangıç tarihini gösteren unix timestamp değeridir.

trialEndDate

Integer

Deneme süresinin bitiş tarihini gösteren unix timestamp değeridir.

createdDate

Integer

Abonelik oluşturulma tarihinin unix timestamp değeridir.

startDate

Integer

Abonelik başlangıç tarihinin unix timestamp değeridir.

Abonelik Aktifleştirme

Pending durumunda bir abonelik bu istek ile aktifleştirilebilir

Abonelik Aktifleştirme

POST https://api.iyzipay.com/v2/subscription/subscriptions/{subscriptionReferenceCode}/activate

Request Body

NameTypeDescription

subscriptionReferenceCode*

String

Eşsiz abonelik referans numarası

{
    "status": "success",
    "systemTime": 1687096973255
}

Abonelik Aktifleştirme Dönen Parametreler

Parametre ismiTipAçıklama

status

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise success değeri döner.

systemTime

Long

Dönen sonucun o anki unix timestamp değeridir.

Abonelik Ödeme Tekrarlama

Eğer abonelik süresince bir ödeme başarısız olduysa, işlemi yenilemek ve ödemeyi almak için bu istek kullanılabilir.

Abonelik Ödeme Tekrarlama

POST https://api.iyzipay.com/operation/retry

Request Body

NameTypeDescription

referenceCode*

String

Başarısız ödemenin referans kodu

{
    "status": "success",
    "systemTime": 1687096973255
}

Abonelik Ödeme Tekrarlama Dönen Parametreler

Parametre ismiTipAçıklama

status

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise success değeri döner.

systemTime

Long

Dönen sonucun o anki unix timestamp değeridir.

Abonelik Yükseltme

Abonelik planını abonelik süresince değiştirmek veya yükseltmek mümkündür. Bunun için tek gerekli koşul, güncelleme yapılacak yeni plan, aboneliğin bağlı olduğu mevcut ürüne ait olmalıdır.

NOT : Güncelleme yapılacak planların PaymentInterval ve PaymentIntervalCount parametreleri aynı olmalıdır.

Abonelik Yükseltme

POST https://api.iyzipay.com/v2/subscription/subscriptions/{subscriptionReferenceCode}/upgrade

Request Body

NameTypeDescription

subscriptionReferenceCode*

String

Eşsiz abonelik referans numarası

resetRecurrenceCount

Boolean

Eğer TRUE gönderilirse ve yeni plan recurrence count değerine sahipse abonelik sonlanma süresi yeni değere göre hesaplanır. Eğer FALSE gönderilirse önceki planın sonlanma tarihi yeni plana aktarılır.

useTrial

Boolean

Eğer TRUE gönderilir ise deneme süreci dahil edilir.

upgradePeriod

String

Abonelik güncelleme tarihi.

newPricingPlanReferenceCode

String

Yeni plan referens numarası.

{
    "status": "success",
    "systemTime": 1687096973255
}

Abonelik Yükseltme Dönen Parametreler

Parametre ismiTipAçıklama

status

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise success değeri döner.

systemTime

Long

Dönen sonucun o anki unix timestamp değeridir.

Abonelik İptali

Bu istek aktif bir aboneliği iptal eder.

Abonelik İptali

POST https://api.iyzipay.com/v2/subscription/subscriptions/{subscriptionReferenceCode}/cancel

Request Body

NameTypeDescription

locale

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise success değeri döner.

subscriptionReferenceCode*

String

Abonelik referans numarası.

conversationId

String

Dönen sonucun o anki unix timestamp değeridir.

{
    "status": "success",
    "systemTime": 1687096973255
}

Abonelik İptali Dönen Parametreler

Parametre ismiTipAçıklama

status

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise success değeri döner.

systemTime

Long

Dönen sonucun o anki unix timestamp değeridir.

Abonelik Detayı

Bir aboneliğin tüm detayları bu istek ile görülebilir.

Abonelik Detayı

GET https://api.iyzipay.com/v2/subscription/subscriptions/{subscriptionReferenceCode}

Request Body

NameTypeDescription

subscriptionReferenceCode

String

Abonelik refereans numarası

{
    "status": "success",
    "systemTime": 1687100005457,
    "data": {
        "totalCount": 0,
        "currentPage": 1,
        "pageCount": 0,
        "items": []
    }
}

Abonelik Detayı Dönen Parametreler

Parametre ismiTipAçıklama

status

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise success değeri döner.

systemTime

Integer

Dönen sonucun o anki unix timestamp değeridir.

referenceCode

String

Abonelik için üretilen eşsiz referans kodu.

parentReferenceCode

String

Abonelik güncellemelerinde üye işeyerinin eşleştirme yapılabileceği eşsiz referans kodu.

pricingPlanReferenceCode

Integer

Aboneliğe ait plan referans kodu.

customerEmail

String

Müşteri email adresi.

customerReferenceCode

String

Müşteri bilgilerine istinaden oluşturulmuş eşsiz müşteri kodu. Bu kod email adresi baz alınarak oluşturulur ve müşteri işlemleri bu kod ile de yapılabilir.

subscriptionStatus

String

Abonelik durumunu gösterir. İstek esnasında gönderilmişse, sonuçta aynen geri iletilir. Gönderilmemişse ACTIVE değeri döner.

trialDays

Integer

Ödeme planında belirlenen deneme süresidir. Bu süreç boyunca karttan ödeme alınmaz.

trialStartDate

Integer

Deneme süresinin başlangıç tarihini gösteren unix timestamp değeridir.

trialEndDate

Integer

Deneme süresinin bitiş tarihini gösteren unix timestamp değeridir.

createdDate

Integer

Abonelik oluşturulma tarihinin unix timestamp değeridir.

startDate

Integer

Abonelik başlangıç tarihinin unix timestamp değeridir.

Abonelik Arama

Bu istek farklı arama parametreleri ile abonelik bilgilerine ve ödemelerine ulaşılmasını sağlar.

Abonelik Arama

GET https://api.iyzipay.com/v2/subscription/subscriptions

Request Body

NameTypeDescription

subscriptionReferenceCode

String

Abonelik referans kodu.

count*

Integer

Sayfa başına kaç abonelik listelenceğini belirtir.

page *

Integer

Belirtilen sayfa için abonelik detaylarını getirir.

endDate

Date

Abonelik bitiş tarihi.

startDate

Date

Abonelik başlangıç tarihi.

subscriptionStatus

String

Abonelik durumu.

pricingPlanReferenceCode

Boolean

Abonelikte kullanılan plan refereans numarası.

customerReferenceCode

String

Müşteri referans kodu.

parentReferenceCode

String

Abonelik güncellemelerinde üye işeyerinin eşleştirme yapılabileceği eşsiz referans kodu.

{
    "status": "success",
    "systemTime": 1687100005457,
    "data": {
        "totalCount": 0,
        "currentPage": 1,
        "pageCount": 0,
        "items": []
    }
}

Abonelik Arama Dönen Parametreler

Parametre ismiTipAçıklama

status

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise success değeri döner.

systemTime

Long

Dönen sonucun o anki unix timestamp değeridir.

totalCount

String

Toplam kaç tane sonuç geldiğini belirtir.

currentPage

Integer

Hangi sayfa için listeleme yapıldığını belirtir.

pageCount

Integer

Toplam kaç sayfa sonuç geldiğini belirtir.

items

Array Object

Abonelik detaylarını içeren dizidir.

Abonelik Kart Güncelleme

Bu istek ile bir abonelikte kullanılan kredi kartı güncellenebilir. Ödeme hatası, kart son kullanma tarihinin geçmesi gibi durumlarda üye iş yerleri kart bilgisini kolayca güncelleyebilir. Güncellenen kredi kartının validasyonu için 1 TL’lik ödeme alınır ve hemen iadesi gerçekleşir.

Abonelik Kart Güncelleme

POST https://api.iyzipay.com/v2/subscription/card-update/checkoutform/initialize

Request Body

NameTypeDescription

locale

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise success değeri döner.

callBackUrl*

String

Ödeme sonucunun post edileceği url adresi.

subscriptionReferenceCode*

String

Abonelik referans numarası.

conversationId

String

Dönen sonucun o anki unix timestamp değeridir.

{
    "status": "success",
    "systemTime": 1687100005457,
    "checkoutFormContent": "<script type=\"text/javascript\">if (typeof iyziInit == 'undefined') {var iyziInit = {currency:\"TRY\",token:\"8e86b16e-9c0f-450d-a09d-0fd8a27e5197\",price:1.00,locale:\"tr\",baseUrl:\"https://sandbox-api.iyzipay.com\", merchantGatewayBaseUrl:\"https://sandbox-merchantgw.iyzipay.com\", registerCardEnabled:false,bkmEnabled:false,bankTransferEnabled:false,bankTransferTimeLimit:{\"value\":5,\"type\":\"day\"},bankTransferRedirectUrl:\"\",bankTransferCustomUIProps:{},campaignEnabled:false,campaignMarketingUiDisplay:null,paymentSourceName:\"\",plusInstallmentResponseList:null,payWithIyzicoSingleTab:false,payWithIyzicoOneTab:false,mixPaymentEnabled:true,creditCardEnabled:true,bankTransferAccounts:[],userCards:[],fundEnabled:false,memberCheckoutOtpData:{},force3Ds:false,isSandbox:true,storeNewCardEnabled:true,paymentWithNewCardEnabled:true,enabledApmTypes:[],payWithIyzicoUsed:false,payWithIyzicoEnabled:false,payWithIyzicoCustomUI:{},buyerName:\"Bünyamin\",buyerSurname:\"Yaşar\",merchantInfo:\"\",merchantName:\"Sandbox Merchant Name - 376927\",cancelUrl:\"\",buyerProtectionEnabled:false,hide3DS:true,gsmNumber:\"+905554443322\",email:\"kerem@altintas.com\",checkConsumerDetail:{},subscriptionPaymentEnabled:true,ucsEnabled:true,fingerprintEnabled:false,payWithIyzicoFirstTab:false,creditEnabled:true,payWithIyzicoLead:false,goBackUrl:\"\",metadata : {\"debitCardAllowed\":\"false\"},createTag:function(){var iyziJSTag = document.createElement('script');iyziJSTag.setAttribute('src','https://sandbox-static.iyzipay.com/checkoutform/v2/bundle.js?v=1687095783108');document.head.appendChild(iyziJSTag);}};iyziInit.createTag();}</script><script type=\"text/javascript\">if (typeof iyziUcsInit == 'undefined') {var iyziUcsInit = {\"baseUrl\":\"https://sandbox-api.iyzipay.com\", \"ucsToken\":\"28fac7ba-d34b-4e21-86a8-89785364d59f\",\"scriptType\":\"UCS_CONSENT\",\"buyerProtectedMerchant\":false,\"maskedGsmNumber\":\"+90****22\",\"gsmNumber\":\"+905554443322\",\"merchantName\":\"Sandbox Merchant Name - 376927\", createTag: function () {var iyziUcsJSTag = document.createElement('script'); iyziUcsJSTag.setAttribute('src', 'https://sandbox-static.iyzipay.com/checkoutform/v2/bundle.js?v=1687095783122'); document.head.appendChild(iyziUcsJSTag);}};if (typeof iyziInit == 'undefined') { iyziUcsInit.createTag(); }}</script><script type=\"text/javascript\">if (typeof iyziSubscriptionInit == 'undefined') {var iyziSubscriptionInit = {\"daysOfTrialPeriod\":\"30\",\"intervalCount\":\"1\",\"subscriptionState\":\"START_WITH_TRIAL_PERIOD\",\"interval\":\"WEEKLY\",\"recurrenceCount\":\"5\",\"pricingPlanPrice\":\"30.00\"}}</script>",
    "token": "8e86b16e-9c0f-450d-a09d-0fd8a27e5197",
    "tokenExpireTime": 1800
}

Abonelik Kart Güncelleme Dönen Parametreler

Parametre ismiTipAçıklama

status

String

Yapılan isteğin sonucunu belirtir. İşlem başarılı ise ve kart update edilmiş ise success değeri döner.

systemTime

Long

Dönen sonucun o anki unix timestamp değeridir.

checkoutFormContent

String

Checkout formun gösterilmesi için gerekli javascript html kodu.

token

String

Checkout form için oluşturulan tekil değer. Her istek için özel üretilir ve işyerine dönülür.

tokenExpireTime

Integer

Checkout form için üretilmiş olan token değerinin geçerlilik süresi.

NOT : Üye işyerleri tüm isteklerde locale ve conversationId parametrelerini gönderebilir ancak bu zorunlu değildir. Locale parametresi cevabın dilini belirler. Eğer “EN” olarak belirtilirse hata mesajları İngilizce alınacaktır. Conversation id ise yazılımcıların istek ve cevapları eşleştirmede kullanabilecekleri bir değerdir. Bu parametre gönderilirse cevapta aynı değer alınacaktır.

Bu istek ile checkout form oluşturulur ve müşteri ödemeyi yaptığında belirtilen callBackUrl adresine token bilgisi post edililir. Bu durumda kart başarıyla güncellenmiş demektir.

Last updated