Abonelik Ürünü

Abonelik çözümü temel olarak planlar üzerine kurulmuştur. Planlar ise ürünlere bağlı olmak zorundadır. Bir ürün oluşturmak için sadece isim (name) parametresini iletmek yeterli olacaktır.

Bir ürün birden fazla ödeme planına sahip olabilir ve hem API hem de iyzico merchant panelinden tüm bu işlemleri yapmak mümkündür.

Ürün adı eşşiz bir değerdir. Birbirinden farklı olacak şekilde sınırsız ürün oluşturmak mümkündür.

Ürünler üzerinde kullanılabilecek 5 farklı metod vardır.

NOT: Bir ürün kendisine bağlı bir plan olmadıkça silinebilir. Eğer bir plana bağlı ürün silinmek istenirse, önce bağlı plan silinmelidir.

Ürün Oluşturma

Subscription API ödeme planlarına göre tekrarlı ödeme alır ve her ödeme planı en az bir ürüne bağlıdır. Ürün sayısında herhangi bir sınırlama yoktur ve sadece isim bilgisi gönderilerek bir ürün oluşturulabilir.

Ürün Oluşturma

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

Request Body

NameTypeDescription

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 ürün numarasıdır.

locale

String

iyzico istek sonucunda dönen metinlerin dilini ayarlamak için kullanılır. Varsayılan değeri tr’dir. en olarak kullanılabilir.

Description

String

Ürün açıklaması. Bu açıklama müşterilere gösterilebilir veya tarafınızda bir not olabilir.

name*

String

Ürün adı. Eşsiz bir isim olmalıdır. Mevcut bir isim başka bir ürüne verilemez.

{
    "status": "success",
    "systemTime": 1686785492734,
    "data": {
        "referenceCode": "ac3afdd2-69af-4ca6-a284-46bf8540a954",
        "createdDate": 1686785492730,
        "name": "Product Name",
        "description": "Product Description",
        "status": "ACTIVE",
        "pricingPlans": []
    }
}

Ürün Oluşturma 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.

referenceCode

String

Oluşturulan ürüne ait eşsiz referans kodu. Ürün güncellemek veya silmek, ürün detayı görmek ve plan oluşturmak için kullanılır.

createdDate

Long

Ürün oluşturulma tarihi.

name

String

Ürün adı. İstek sırasında ürüne verdiğiniz isimdir.

description

String

Ürün açıklaması. İstek anında gönderilmiş ise cevapta bu bilgi geri iletilir.

pricingPlans

Array

Ürün'e bağlı planları gösterir. Ürün oluşturulduğu anda henüz bir plan olmadığı için boş gelmektedir.

Ürün Oluşturma Örnek Kodlar

$request = new \Iyzipay\Request\Subscription\SubscriptionCreateProductRequest();
$request->setLocale("tr");
$request->setConversationId("1234567889");
$request->setName("KingOfProduct");
$request->setDescription("DescriptionOfProduct");

$result = \Iyzipay\Model\Subscription\SubscriptionProduct::create($request,Config::options());

Ürün Güncelleme

Bir ürünün isim ve açıklama bilgileri hem API hem de iyzico merchant paneli üzerinden düzenlenebilir. API üzerinden bu işlemi yapabilmek için, ürüne ait eşsiz referans kodu kullanılmalıdır.

Ürün Güncelleme

POST https://api.iyzipay.com/v2/subscription/products/{reference_code}

Request Body

NameTypeDescription

productReferenceCode*

String

Ürüne ait eşsiz referans kodu

locale

String

iyzico istek sonucunda dönen metinlerin dilini ayarlamak için kullanılır. Varsayılan değeri tr’dir. en olarak kullanılabilir.

Description

String

Ürüne verilecek yeni açıklama.

name*

String

Ürüne verilecek yeni isim.

{
    "status": "success",
    "systemTime": 1686786694036,
    "data": {
        "referenceCode": "561d57c4-6db8-437d-86a7-a12af6b47a7d",
        "createdDate": 1686786574621,
        "name": "New Product Name",
        "description": "New Product Description",
        "status": "ACTIVE",
        "pricingPlans": []
    }
}

Ürün Güncelleme 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.

referenceCode

String

Ürüne ait eşsiz referans kodu.

createdDate

Long

Ürün oluşturulma tarihi.

name

String

Ürün adı. İstek sırasında ürüne verdiğiniz isimdir.

description

String

Ürün açıklaması. İstek anında gönderilmiş ise cevapta bu bilgi geri iletilir.

status

String

Ürün durumunu belirtir. Varsayılan olarak ACTIVE.

pricingPlans

Array

Ürüne bağlı planları gösterir.

Ürün Güncelleme Örnek Kodlar

$request = new \Iyzipay\Request\Subscription\SubscriptionUpdateProductRequest();
$request->setLocale("tr");
$request->setConversationId("1234567889");
$request->setProductReferenceCode("bbab6ca0-9054-45c7-8060-57a417167738");
$request->setName("newName");
$request->setDescription("newDescription");
$result = \Iyzipay\Model\Subscription\SubscriptionProduct::update($request,Config::options());

Ürün Silme

Ürünler kendilerine bağlı herhangi bir plan olmadıkça hem API hem de iyzico merchant panel üzerinden silinebilir.

Ürün Silme

DELETE https://api.iyzipay.com/v2/subscription/products/{reference_code}

Request Body

NameTypeDescription

productReferenceCode*

String

Ürüne ait eşsiz referans kodu

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

Ürün Silme 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.

Ürün Detayı

Bir ürünün detaylarına API isteği ile ulaşılabilir. Bunun için gönderilen istekte ürün refereans kodunu belirtmek yeterlidir.

Ürün Detayı

GET https://api.iyzipay.com/v2/subscription/products/{reference_code}

Request Body

NameTypeDescription

productReferenceCode*

String

Ürüne ait eşsiz referans kodu

{
    "status": "success",
    "systemTime": 1686863264574,
    "data": {
        "referenceCode": "235dbc68-d281-4626-9c85-98002e558ce7",
        "createdDate": 1675684451778,
        "name": "test",
        "status": "ACTIVE",
        "pricingPlans": [
            {
                "referenceCode": "a3dde7ac-dff4-4d96-a6da-5780aeee9c9a",
                "createdDate": 1675684471828,
                "name": "testop",
                "price": 100.00000000,
                "paymentInterval": "MONTHLY",
                "paymentIntervalCount": 1,
                "trialPeriodDays": 0,
                "currencyCode": "TRY",
                "productReferenceCode": "235dbc68-d281-4626-9c85-98002e558ce7",
                "planPaymentType": "RECURRING",
                "status": "ACTIVE"
            }
        ]
    }
}

Ürün 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

Long

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

referenceCode

String

Ürüne ait eşsiz referans kodu.

createdDate

Long

Ürün oluşturulma tarihi.

name

String

Ürün adı. İstek sırasında ürüne verdiğiniz isimdir.

description

String

Ürün açıklaması. İstek anında gönderilmiş ise cevapta bu bilgi geri iletilir.

status

String

Ürün durumunu belirtir. Varsayılan olarak ACTIVE.

pricingPlans

Array

Ürüne bağlı planları gösterir.

Ürün Listeleme

Ürün listeleme tüm ürünlere ve ürünlere bağlı planlara ulaşmak için kullanılır. Cevap süresini kısaltmak ve cevap boyutunu kısaltmak için sayfalama metodu kullanulmıştır. Bu sayede ürün listesini sayfa sayfa hızlıca alabilirsiniz.

Ürün Listeleme

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

Request Body

NameTypeDescription

page*

Integer

Belirtilen sayfa için tüm ürünleri getirir.

count*

Integer

Sayfa başına kaç ürün listelenceğini belirtir.

{
    "status": "success",
    "systemTime": 1686862833975,
    "data": {
        "totalCount": 5,
        "currentPage": 1,
        "pageCount": 1,
        "items": [
            {
                "referenceCode": "235dbc68-d281-4626-9c85-98002e558ce7",
                "createdDate": 1675684451778,
                "name": "test",
                "status": "ACTIVE",
                "pricingPlans": [
                    {
                        "referenceCode": "a3dde7ac-dff4-4d96-a6da-5780aeee9c9a",
                        "createdDate": 1675684471828,
                        "name": "testop",
                        "price": 100.00000000,
                        "paymentInterval": "MONTHLY",
                        "paymentIntervalCount": 1,
                        "trialPeriodDays": 0,
                        "currencyCode": "TRY",
                        "productReferenceCode": "235dbc68-d281-4626-9c85-98002e558ce7",
                        "planPaymentType": "RECURRING",
                        "status": "ACTIVE"
                    }
                ]
            }
        ]
    }
}

Ürün Listeleme 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

Ürün detaylarını içeren dizidir.

Last updated