Ö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
Name | Type | Description |
---|---|---|
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
Parametre ismi | Tip | Açı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. |
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
Name | Type | Description |
---|---|---|
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
Parametre ismi | Tip | Açı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. |
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
Name | Type | Description |
---|---|---|
pricingPlanReferenceCodee* | String | Plana ait eşsiz referans kodu |
Ödeme Planı Silme Dönen Parametreler
Parametre ismi | Tip | Açı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. |
Ö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
Name | Type | Description |
---|---|---|
pricingPlanReferenceCode* | String | Plana ait eşsiz referans kodu |
Ödeme Planı Detayı Dönen Parametreler
Parametre ismi | Tip | Açı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. |
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
Name | Type | Description |
---|---|---|
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
Parametre ismi | Tip | Açı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 | Plan detaylarını içeren dizidir. |
Last updated