Ö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.
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.
Belirli bir ürün için yeni bir ödeme planı oluşturur.
Planın ilişkilendirileceği ürünün referans kodu.
Authorization header, IYZWSv2 ile başlayan ve base64 formatında üretilmiş imzalı hash değeridir.
İstek içeriğinin formatı.
application/json
Plan adı.
Ödeme periyotlarında karttan çekilecek tutar.
Para birimi. (Yabancı para biriminde sadece yabancı kart kullanılabilir.)
Tekrarlı ödemenin alınacağı periyot.
Abonelik tipi.
Ödeme periodunun hangi sıklıkta olacağını belirler. Örneğin haftalık bir ödeme planı için 2 gönderilirse, ödemeler 2 haftada bir alınır.
2
Kaç kez tekrarlanacağını belirtir (ör. 12 => 12 ay). Gönderilmezse abonelik iptal edilene kadar devam eder.
12
Gün bazında deneme/ücretsiz kullanım süresi. Gönderilirse ilk ödeme bu sürenin sonunda alınır.
10
Yanıt ve hata mesajlarının dili.
İsteğe özel takip değeri.
Başarılı yanıt
Başarısız yanıt
POST https://api.iyzipay.com/v2/subscription/products/8d562f84-f8d5-441a-b086-9483fc5133a0/pricing-plans
Authorization: IYZWSv2 YXBpS2V5OnNhbmRib....E0OGI1MTE=
Content-Type: application/json
{
"locale": "tr",
"conversationId": "conv-001",
"name": "Aylık Plan",
"recurrenceCount": 12,
"planPaymentType": "RECURRING",
"trialPeriodDays": 0,
"paymentIntervalCount": 1,
"paymentInterval": "MONTHLY",
"currencyCode": "TRY",
"price": 99.99
}
{
"status": "success",
"systemTime": 1755561449951,
"data": {
"referenceCode": "08159c1d-6fe9-4934-8a55-e191bd4119e0",
"createdDate": 1755552252531,
"name": "Aylık Plan",
"productReferenceCode": "8d562f84-f8d5-441a-b086-9483fc5133a0",
"price": 99.99,
"currencyCode": "TRY",
"paymentInterval": "MONTHLY",
"paymentIntervalCount": 1,
"planPaymentType": "RECURRING",
"recurrenceCount": 12,
"trialPeriodDays": 0,
"status": "ACTIVE"
}
}
Örnek Kodlar
Bu metod sadece name ve trialPeriodDays parametrelerinin güncellenmesine izin verir. Güncelleme için planın referans kodu path parametresi olarak gönderilmelidir. Güncellemenin hem API hem de iyzico merchant paneli üzerinden yapılması mümkündür. Aktif abonelikler ektilenmez.
Güncellenecek ödeme planının referans kodu.
Authorization header, IYZWSv2 ile başlayan ve base64 formatında üretilmiş imzalı hash değeridir.
İstek içeriğinin formatı.
application/json
Güncellenmiş plan adı.
Güncellenmiş deneme süresi (gün).
Başarılı yanıt
Başarısız yanıt
POST https://api.iyzipay.com/v2/subscription/pricing-plans/7515f763-5da3-4a35-8f7f-d425ae44ac04
Authorization: IYZWSv2 YXBpS2V5OnNhbmRib....E0OGI1MTE=
Content-Type: application/json
{
"name": "Güncel Plan",
"trialPeriodDays": 5
}
{
"status": "success",
"systemTime": 1755587559228,
"data": {
"referenceCode": "7515f763-5da3-4a35-8f7f-d425ae44ac04",
"createdDate": 1755587137033,
"name": "Güncel Plan",
"price": 99.99,
"paymentInterval": "MONTHLY",
"paymentIntervalCount": 1,
"trialPeriodDays": 5,
"currencyCode": "TRY",
"productReferenceCode": "8d562f84-f8d5-441a-b086-9483fc5133a0",
"planPaymentType": "RECURRING",
"status": "ACTIVE",
"recurrenceCount": 12
}
}
Örnek Kodlar
Bir ödeme planının detaylarını getirir. Üye işyerleri bir planın tüm detaylarını hem merchant panelinden hem de API istekleri üzerinden görebilir.
Ödeme planının referans kodu.
Authorization header, IYZWSv2 ile başlayan ve base64 formatında üretilmiş imzalı hash değeridir.
İstek içeriğinin formatı.
application/json
Başarılı yanıt
Başarısız yanıt
GET https://api.iyzipay.com/v2/subscription/pricing-plans/7515f763-5da3-4a35-8f7f-d425ae44ac04
Authorization: IYZWSv2 YXBpS2V5OnNhbmRib....E0OGI1MTE=
Content-Type: application/json
{
"status": "success",
"systemTime": 1755561449951,
"data": {
"referenceCode": "7515f763-5da3-4a35-8f7f-d425ae44ac04",
"name": "Aylık Plan",
"price": 99.99,
"currencyCode": "TRY",
"paymentInterval": "MONTHLY",
"paymentIntervalCount": 1,
"planPaymentType": "RECURRING",
"recurrenceCount": 12,
"trialPeriodDays": 0,
"productReferenceCode": "8d562f84-f8d5-441a-b086-9483fc5133a0",
"status": "ACTIVE",
"createdDate": 1755552252531
}
}
Örnek Kodlar
Belirli bir ürüne ait tüm ödeme planlarını listeler. Cevap sayfalar halinde iletilir
Ürün referans kodu.
Listelenecek sayfa numarası.
Sayfa başına kayıt sayısı.
Authorization header, IYZWSv2 ile başlayan ve base64 formatında üretilmiş imzalı hash değeridir.
İstek içeriğinin formatı.
application/json
Başarılı yanıt
Başarısız yanıt
GET https://api.iyzipay.com/v2/subscription/products/8d562f84-f8d5-441a-b086-9483fc5133a0/pricing-plans?page=1&count=20
Authorization: IYZWSv2 YXBpS2V5OnNhbmRib....E0OGI1MTE=
Content-Type: application/json
{
"status": "success",
"systemTime": 1755561449951,
"data": {
"totalCount": 2,
"currentPage": 1,
"pageCount": 1,
"items": [
{
"referenceCode": "plan-123",
"name": "Aylık Plan",
"price": 99.99,
"currencyCode": "TRY",
"paymentInterval": "MONTHLY",
"paymentIntervalCount": 1,
"status": "ACTIVE"
},
{
"referenceCode": "plan-456",
"name": "Yıllık Plan",
"price": 999.99,
"currencyCode": "TRY",
"paymentInterval": "YEARLY",
"paymentIntervalCount": 1,
"status": "ACTIVE"
}
]
}
}
Örnek Kodlar
Ödeme planı referans kodu kullanılarak, belirtilen ödeme planını siler. Üzerinde aktif abonelik bulunan veya güncelleme (update) kaydı olan ödeme planları silinemez.
Silinecek ödeme planının referans kodu.
Authorization header, IYZWSv2 ile başlayan ve base64 formatında üretilmiş imzalı hash değeridir.
İstek içeriğinin formatı.
application/json
Başarılı yanıt
Başarısız yanıt
DELETE https://api.iyzipay.com/v2/subscription/pricing-plans/7515f763-5da3-4a35-8f7f-d425ae44ac04
Authorization: IYZWSv2 YXBpS2V5OnNhbmRib....E0OGI1MTE=
Content-Type: application/json
{
"status": "success",
"systemTime": 1755561449951
}
Örnek Kodlar
Last updated