Ödeme Planı
Abonelik sistemi varsayılan olarak belirtilen plan doğrultusunda çalışır. Ödeme planı tekrarlı ödeme için gerekli tüm özelliklerin belirtildiği adımdır.
Planlar eşsiz bir isim alır ve bir plan sadece bir ürüne bağlanabilir. Eğer bir plan aktif olarak bir aboneliğe bağlıysa bu plan silinemez.
Planlar üzerinde kullanılabilecek 5 farklı metod vardır.
Ödeme Planı Oluşturma
Bir plan oluşturmak için, ürün referans numarası, isim, fiyat, para birimi, ödeme periyodu gibi aşağıda detayları paylaşılan parametrelerlerin gönderilmesi gerekir.
Bir aboneliğin deneme sürecinin olması istenirse trialPeriodDays parametresi kullanılabilir. Eğer bu parametre gönderilirse, belirtilen değer süresince abonelik başlatılmaz ve karttan hiçbir şekilde ödeme alınmaz.
İstekte belirtilen Payment Interval parametresi ödeme periyodunu belirtir. Bir plan oluştururken “WEEKLY” parametresi gönderilirse, iyzico belirtilen tutarı her hafta karttan çekecektir. Bu periyodun özelleştirilmesi de mümkündür. Örneğin ödemenin 2 haftada bir alınmasını isterseniz, PaymentInterval değerini “WEEKLY” ve paymentIntervalCount değerini 2 olarak göndermeniz gerekmektedir.
NOT : planPaymentType parametresi zorunludur ve şu an için sadece RECURRING değerini alabilir.
Ödeme Planı Oluşturma
POST
https://api.iyzipay.com/v2/subscription/products/{product_reference}/pricing-plans
Request Body
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 plan numarasıdır.
locale
String
iyzico istek sonucunda dönen metinlerin dilini ayarlamak için kullanılır. Varsayılan değeri TR.
name*
String
Plan adı. Ödeme planı ile ilgili kısa bir bilgilendirme olacak şekilde değer girilmelidir.
productReferenceCode*
String
Planın ilişkilendirileceği ürünün referans kodu.
recurrenceCount
Integer
Ödeme periyodunun kaç kez tekrarlanacağını belirler. Örneğin ayda bir ödeme alan planınıza bu değeri 12 olarak girerseniz, 12 ay boyunca ödeme alınacaktır.
planPaymentType*
String
Abonelik tipini belirtir. RECURRING değeri girilmelidir.
trialPeriodDays
Integer
Deneme süresi veya ücretsiz kullanım süresi olarak kullanılır. Bu değer girilirse, ilk ödeme girilen gün sayısı sonunda alınır.
paymentIntervalCount*
Integer
Ödeme periodunun hangi sıklıkta olacağını belirler. Örneğin paymentInterval değeri WEEKLY, paymentIntervalCount değeri 2 olursa, ödemeler 2 hafta bir alınır.
paymentInterval*
String
Tekrarlı ödemenin alınacağı periodu belirler. DAILY, WEEKLY, MONTHLY, YEARLY değerlerini alabilir.
currencyCode*
String
Ödemenin alınacağı para birimi. TL, USD, EUR olabilir. TL dışındaki para birimlerinin hesabınıza tanımlandığından emin olunuz.
price*
Decimal
Ödeme periyotlarında karttan çekilecek tutar. Plan için geçerli abonelik fiyatı.
Ödeme Planı Oluşturma Dönen Parametreler
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.
referenceCode
String
Oluşturulan plana ait eşsiz referans kodu. Plan güncellemek veya silmek, plan detayını görmek, abonelik başlatmak için kullanılır.
createdDate
Long
Plan oluşturulma tarihi.
name
String
Plan adı. İstek sırasında plana verdiğiniz isimdir.
productReferenceCode
String
Plana bağlı ürünün referans kodu. İstekte gönderdiğiniz ürün bilgisi geri iletilir.
price
Decimal
İstekte gönderdiğiniz değer geri iletilir. Ödeme periyotlarında karttan çekilecek tutardır.
currencyCode
String
İstekte gönderdiğiniz değer geri iletilir. Ödemenin alınacağı para birimi.
paymentInterval
String
İstekte gönderdiğiniz değer geri iletilir. Tekrarlı ödemenin alınacağı periodu belirler.
paymentIntervalCount
Integer
İstekte gönderdiğiniz değer geri iletilir. Ödeme periodunun hangi sıklıkta olacağını belirler.
trialPeriodDays
Integer
İstekte gönderdiğiniz değer geri iletilir. Bu değer gönderilmediyse 0 olarak döner.
planPaymentType
String
RECURRING değerini döner ve ödemenin tekrarlı olduğunu belirtir.
recurrenceCount
Integer
İstekte gönderdiğiniz değer geri iletilir. Ödeme periyodunun kaç kez tekrarlanacağını belirler(opsiyonel)
status
String
Planın durumunu gösterir. ACTIVE değerini alır.
Ödeme Planı Güncelleme
Bu metod sadece name ve trialPeriodDays parametrelerinin güncellenmesine izin verir. Plan güncellemesi yapabilmek için o plana ait eşsiz referans kodu kullanılmalıdır. Güncellemenin hem API hem de iyzico merchant paneli üzerinden yapılması mümkündür.
Ödeme Planı Güncelleme
POST
https://api.iyzipay.com/v2/subscription/pricing-plans/{pricingPlanReferenceCode}
Request Body
conversationId
String
İstek esnasında gönderip, sonuçta alabileceğiniz bir değer, request/response eşleşmesi yapmak için kullanılabilir.
locale
String
iyzico istek sonucunda dönen metinlerin dilini ayarlamak için kullanılır. Varsayılan değeri TR.
name*
String
Plan adı. Ödeme planı ile ilgili kısa bir bilgilendirme olacak şekilde değer girilmelidir.
pricingPlanReferenceCode*
String
Plana ait eşsiz referans kodu. Plan güncellemek veya silmek, plan detayını görmek, abonelik başlatmak için kullanılır.
trialPeriodDays
Integer
Deneme süresi veya ücretsiz kullanım süresi olarak kullanılır. Bu değer girilirse, ilk ödeme girilen gün sayısı sonunda alınır.
Ödeme Planı Güncelleme Dönen Parametreler
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.
referenceCode
String
Plana ait eşsiz referans kodu. Plan güncellemek veya silmek, plan detayını görmek, abonelik başlatmak için kullanılır.
createdDate
Long
Plan oluşturulma tarihi.
name
String
Plan adı. İstek sırasında plana verdiğiniz isimdir.
productReferenceCode
String
Plana bağlı ürünün referans kodu.
price
Decimal
Ödeme periyotlarında karttan çekilecek tutardır.
currencyCode
String
Ödemenin alınacağı para birimi.
paymentInterval
String
Tekrarlı ödemenin alınacağı periodu belirler.
paymentIntervalCount
Integer
Ödeme periodunun hangi sıklıkta olacağını belirler.
trialPeriodDays
Integer
İstekte gönderdiğiniz değer geri iletilir. Bu değer gönderilmediyse 0 olarak döner.
planPaymentType
String
RECURRING değerini döner ve ödemenin tekrarlı olduğunu belirtir.
recurrenceCount
Integer
Ödeme periyodunun kaç kez tekrarlanacağını belirler.
status
String
Planın durumunu gösterir. ACTIVE değerini alır.
Ödeme Planı Silme
Bir plan ancak kendisine bağlı herhangi bir abonelik yoksa silinebilir. Silme işlemi için üye işeyeri plan referans kodunu kullanmalıdır. İstek success veya failure olarak cevaplanır. Success ise plan başaırı ile silinmiş demektir.
Ödeme Planı Silme
DELETE
https://api.iyzipay.com/v2/subscription/pricing-plans/{pricingPlanReferenceCode}
Request Body
pricingPlanReferenceCodee*
String
Plana ait eşsiz referans kodu
Ödeme Planı Silme Dönen Parametreler
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.
Ödeme Planı Detayı
Üye işyerleri bir planın tüm detaylarını hem merchant panelinden hem de API istekleri üzerinden görebilir.
Ödeme Planı Detayı
GET
https://api.iyzipay.com/v2/subscription/pricing-plans/{pricingPlanReferenceCode}
Request Body
pricingPlanReferenceCode*
String
Plana ait eşsiz referans kodu
Ödeme Planı Detayı Dönen Parametreler
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.
referenceCode
String
Plana ait eşsiz referans kodu. Plan güncellemek veya silmek, plan detayını görmek, abonelik başlatmak için kullanılır.
createdDate
Long
Plan oluşturulma tarihi.
name
String
Plan adı. İstek sırasında plana verdiğiniz isimdir.
productReferenceCode
String
Plana bağlı ürünün referans kodu.
price
Decimal
Ödeme periyotlarında karttan çekilecek tutardır.
currencyCode
String
Ödemenin alınacağı para birimi.
paymentInterval
String
Tekrarlı ödemenin alınacağı periodu belirler.
paymentIntervalCount
Integer
Ödeme periodunun hangi sıklıkta olacağını belirler.
trialPeriodDays
Integer
İstekte gönderdiğiniz değer geri iletilir. Bu değer gönderilmediyse 0 olarak döner.
planPaymentType
String
RECURRING değerini döner ve ödemenin tekrarlı olduğunu belirtir.
recurrenceCount
Integer
Ödeme periyodunun kaç kez tekrarlanacağını belirler(opsiyonel)
status
String
Planın durumunu gösterir. ACTIVE değerini alır.
Ödeme Planı Listeleme
Tüm planlar ve bağlı olduğu ürünler bu istek sonucu görülebilir. Cevap sayfalar halinde iletilir
Ödeme Planı Listeleme
GET
https://api.iyzipay.com/v2/subscription/products/{product_reference}/pricing-plans
Request Body
page*
Integer
Belirtilen sayfa için tüm planları getirir.
count*
Integer
Sayfa başına kaç plan listelenceğini belirtir.
Ödeme Planı Listeleme Dönen Parametreler
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
Plan detaylarını içeren dizidir.
Last updated