retrieve-subscription
POST /api/{team}/gateway/retrieve-subscription
Aboneliğin güncel hâlini döndürür. Hiçbir şeyi değiştirmez.
Kimlik doğrulama
X-Api-Key, X-Signature, Content-Type: application/json. Ayrıntılar: Kimlik Doğrulama ve İmza.
İstek
{
"subscription": {
"token": "5a4b3c2d-1e0f-4a9b-8c7d-6e5f4a3b2c1d"
}
}
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
subscription.token | string (UUID) | evet | subscription-payment yanıtındaki subscription.token. Çalışma alanınıza ait olmalıdır. |
SDK örnekleri
- PHP
- Node.js
- Python
- Java
- cURL
use Gurmehub\Odemehub\Request\RetrieveSubscription;
$subscription = $client->retrieveSubscription(new RetrieveSubscription(subscriptionToken: $token));
$subscription->status; // pending | active | past_due | cancelled
$subscription->endsAt; // içinde bulunulan dönemin bitişi
$subscription->checkoutUrl; // ödenmemiş dönem varsa ödeme sayfası
const subscription = await client.retrieveSubscription({ subscriptionToken: token });
subscription.status; // pending | active | past_due | cancelled
subscription.endsAt; // içinde bulunulan dönemin bitişi
subscription.checkoutUrl; // ödenmemiş dönem varsa ödeme sayfası
from odemehub.request import RetrieveSubscription
subscription = client.retrieve_subscription(RetrieveSubscription(subscription_token=token))
subscription.status # pending | active | past_due | cancelled
subscription.ends_at # içinde bulunulan dönemin bitişi
subscription.checkout_url # ödenmemiş dönem varsa ödeme sayfası
import com.odemehub.request.RetrieveSubscription;
var subscription = client.retrieveSubscription(new RetrieveSubscription(token));
subscription.getStatus(); // pending | active | past_due | cancelled
subscription.getEndsAt(); // içinde bulunulan dönemin bitişi
subscription.getCheckoutUrl(); // ödenmemiş dönem varsa ödeme sayfası
BODY='{"subscription":{"token":"5a4b3c2d-1e0f-4a9b-8c7d-6e5f4a3b2c1d"}}'
SIGNATURE=$(printf '%s' "$BODY" | openssl dgst -sha256 -hmac "$ODEMEHUB_API_SECRET" | sed 's/^.* //')
curl -X POST "https://odeme.gurmehub.com/api/$ODEMEHUB_TEAM/gateway/retrieve-subscription" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "X-Api-Key: $ODEMEHUB_API_KEY" \
-H "X-Signature: $SIGNATURE" \
--data-raw "$BODY"
Yanıt
{
"result": {
"successful": true,
"message": null
},
"subscription": {
"token": "5a4b3c2d-1e0f-4a9b-8c7d-6e5f4a3b2c1d",
"channel_token": "6f1c2e7a-4b3d-4c8e-9a61-2f5d7b0c3e14",
"channel_reference": "UYELIK-4471",
"status": "active",
"period": "monthly",
"items": [
{ "channel_reference": "PREMIUM-AYLIK", "name": "Premium üyelik", "quantity": 1, "unit_amount": "149.90", "tax_rate": "20.00" }
],
"amount": "149.90",
"currency": "TRY",
"is_test": false,
"starts_at": "2026-09-29T10:15:00.000000Z",
"ends_at": "2026-10-29T10:15:00.000000Z",
"paid_at": "2026-09-29T10:15:00.000000Z",
"cancelled_at": null,
"checkout_url": null
}
}
Abonelik nesnesi
subscription-payment, retrieve-subscription, cancel-subscription yanıtlarında ve abonelik webhook'unda aynı nesne döner.
| Alan | Tip | Açıklama |
|---|---|---|
token | string | Aboneliğin token'ı. |
channel_token | string | Aboneliğin kanalı. |
channel_reference | string | Gönderdiğiniz channel_reference. |
status | string | pending, active, past_due, cancelled. Aşağıya bakın. |
period | string | monthly ya da yearly. |
items[] | array | Abonelik kalemleri. |
items[].channel_reference | string | Ürünün kimliği. |
items[].name | string | Ürünün katalogdaki adı. |
items[].quantity | integer | Adet. |
items[].unit_amount | string | Ürünün katalogdaki güncel birim fiyatı. |
items[].tax_rate | string | null | Ürünün KDV oranı. |
amount | string | İçinde bulunulan dönemin tutarı. |
currency | string | Dönemin para birimi. |
is_test | boolean | null | İlk ödemenin test modunda mı yapıldığı. İlk ödemeden önce null. |
starts_at | string | null | Dönemin başlangıcı (ISO 8601, UTC). İlk ödemeden önce null. |
ends_at | string | null | Dönemin bitişi; bir sonraki yenilemenin zamanı. İlk ödemeden önce null. |
paid_at | string | null | Dönemin ödendiği an. Ödenmediyse null. |
cancelled_at | string | null | İptal edildiği an. İptal edilmediyse null. |
checkout_url | string | null | Dönem ödenmemişse ve abonelik iptal edilmemişse, dönemin ödeneceği gateway ödeme sayfası; değilse null. |
status değerleri
| Değer | Anlamı |
|---|---|
pending | Açıldı; ilk dönem ödenmedi. |
active | Bir dönem ödendi. İptal edilmiş ama ödenmiş dönemi bitmemiş abonelik de active görünür (cancelled_at dolu). |
past_due | Yenileme dönemi kayıtlı karttan tahsil edilemedi; dönem checkout_url üzerinden ödenene kadar bu durumda kalır. |
cancelled | Sona erdi; tahsilat yapılmaz. |
HTTP durum kodları
| Kod | Durum |
|---|---|
200 | Abonelik bulundu. |
401 | API anahtarı ya da imza geçersiz. |
403 | Çalışma alanı işlem yapamıyor. |
422 | subscription.token eksik, UUID değil ya da çalışma alanınıza ait değil. |
Hatalar
| Alan | Mesaj |
|---|---|
subscription.token | Bu abonelik bulunamadı. |