Endpointler

HTTP metodu URL Açıklama
PUT /payment/v2/subscription/{subscriptionId} Aboneliğin temel alanlarını günceller.
PUT /payment/v2/subscription/{subscriptionId}/variable-plan Değişken ödeme planı atar.
PUT /payment/v2/subscription/{subscriptionId}/payment-steps Ödeme dönemlerini atlama durumunu günceller.
POST /payment/v2/subscription/renew-subscription Aboneliği hemen yeniler.
POST /payment/v2/subscription/{subscriptionId}/periods/{period}/charge Harici tetiklenen dönemi tahsil eder.
GET /payment/v2/subscription/{subscriptionId}/payments/{subscriptionPeriodId} Harici tahsilat sonucunu sorgular.
POST /payment/v2/subscription/{subscriptionId}/termination/charge Sonlandırma bedelini tahsil eder ve aboneliği kapatır.

Abonelik güncelleme isteği

Tüm alanlar opsiyoneldir; yalnızca değiştirilmek istenen alanlar gönderilir.

Alan Tip Açıklama
periodType string/integer WEEK/7, MONTH/30 veya YEAR/365.
price decimal Yeni dönem tutarı.
status string Yeni abonelik durumu.
card object Yeni saklı kart bilgisi.
noChargeDayCount integer Yeni ücretsiz gün sayısı.
paymentCount integer Yeni toplam dönem sayısı.
{
  "price": 129.90,
  "periodType": "MONTH",
  "status": "ACTIVE",
  "paymentCount": 12
}

Başarılı güncelleme data altında güncel abonelik nesnesini döndürür.

Hemen yenileme

{ "subscriptionId": 4821 }

Harici dönem tahsilatı

Alan Tip Zorunlu Kural
subscriptionPeriodId string Evet En fazla 100 karakter.
invoiceNumber string Evet En fazla 255 karakter.
price decimal Evet Pozitif; en fazla 22 tam ve 8 ondalık basamak.
{
  "subscriptionPeriodId": "period-2026-11",
  "invoiceNumber": "INV-2026-00042",
  "price": 129.90
}

Response; subscriptionId, subscriptionPeriodId, invoiceNumber, originalPeriod, originalPeriodDate, price, paymentId, status, attemptCount ve nextRetryDate alanlarını içerir.

Ödeme adımı atlama

{
  "paymentSteps": [
    { "startPeriod": 4, "skipPaymentPeriod": true }
  ]
}

Başarılı istek 204 No Content döndürür.

Sonlandırma bedeli

Alan Tip Zorunlu Açıklama
amount decimal Evet Pozitif sonlandırma tutarı.
conversationId string Evet En fazla 255 karakter.
originalPeriod integer Evet Sonlandırmanın ait olduğu dönem.
invoiceNumber string Evet En fazla 255 karakter.
{
  "amount": 49.90,
  "conversationId": "termination-4821",
  "originalPeriod": 6,
  "invoiceNumber": "INV-TERM-4821"
}