پرش به مطلب اصلی

مدیریت اشتراک‌ها

با API اشتراک‌ها، اشتراک‌ها را ویرایش، لغو، ازسرگیری و فهرست کنید.

دریافت اشتراک​

GET /api/v1/subscriptions/:id

شیء کامل اشتراک را برمی‌گرداند. از آن برای بررسی وضعیت، current_period_end، latest_payment_link و (برای auto_charge) جزئیات auto_charge استفاده کنید.

نمونه:

curl https://api.orcarail.com/api/v1/subscriptions/sub_550e8400e29b41d4a716446655440000 \
-H "Authorization: Bearer YOUR_JWT_TOKEN"

فهرست اشتراک‌ها​

GET /api/v1/subscriptions

از صفحه‌بندی مبتنی بر cursor و فیلترها پشتیبانی می‌کند.

پارامترهای کوئری​

پارامترنوعتوضیح
statusstringفیلتر بر اساس وضعیت: trialing، active، past_due، canceled، paused، completed
collection_methodstringفیلتر بر اساس send_payment_link یا auto_charge
current_period_startobjectفیلتر بر اساس دوره: gt، gte، lt، lte (زمان‌های ISO)
current_period_endobjectمانند بالا برای پایان دوره
createdobjectفیلتر بر اساس زمان ساخت: gt، gte، lt، lte
limitnumberاندازه صفحه (پیش‌فرض ۱۰، حداکثر ۱۰۰)
starting_afterstringcursor: شناسه اشتراکی که بعد از آن شروع شود
ending_beforestringcursor: شناسه اشتراکی که پیش از آن تمام شود

نمونه:

curl "https://api.orcarail.com/api/v1/subscriptions?status=active&limit=20" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"

ساختار پاسخ:

{
"object": "list",
"data": [ { ... subscription objects ... } ],
"has_more": false
}

ویرایش اشتراک​

PATCH /api/v1/subscriptions/:id

ویرایش جزئی. فقط فیلدهایی را بفرستید که می‌خواهید تغییر کنند.

فیلدهای قابل ویرایش​

پارامترنوعتوضیح
descriptionstringتوضیح اشتراک
amountstringمبلغ جدید هر دوره
currencystringکد ارز
token_idstringشناسه توکن
network_idstringشناسه شبکه
collection_methodstringsend_payment_link یا auto_charge
cancel_atstring | nullزمان ISO لغو، یا null برای پاک کردن
cancel_at_period_endbooleanلغو در پایان دوره فعلی
days_until_duenumberتعداد روز پس از پایان دوره تا سررسیدگذشته شدن
trial_endstringزمان پایان دوره آزمایشی (ISO یا "now")
metadataobjectفراداده کلید-مقدار
withdrawal_addressesobjectنوع زنجیره ← آدرس
pause_collectionobject | nullبرای توقف { "behavior": "void" | "keep_as_draft" }؛ برای ازسرگیری null

نمونه (لغو در پایان دوره):

curl -X PATCH https://api.orcarail.com/api/v1/subscriptions/sub_xxx \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "cancel_at_period_end": true }'

نمونه (توقف دریافت وجه):

{
"pause_collection": { "behavior": "void" }
}

لغو اشتراک​

DELETE /api/v1/subscriptions/:id

لغو فوری یا در پایان دوره (اگر پیش‌تر cancel_at_period_end را تنظیم کرده باشید). بدنه درخواست اختیاری است.

بدنه لغو (اختیاری)​

پارامترنوعتوضیح
cancellation_detailsobjectبازخورد اختیاری
cancellation_details.commentstringتوضیح آزاد
cancellation_details.feedbackstringیکی از: too_expensive، missing_features، switched_service، unused، other

نمونه:

curl -X DELETE https://api.orcarail.com/api/v1/subscriptions/sub_xxx \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cancellation_details": {
"comment": "Switching to annual",
"feedback": "other"
}
}'

ازسرگیری اشتراک​

POST /api/v1/subscriptions/:id/resume

یک اشتراک متوقف را ازسر می‌گیرد. بدنه لازم ندارد. پس از ازسرگیری، اشتراک به active برمی‌گردد و دوره بعد مطابق پیکربندی لینک پرداخت می‌سازد یا برداشت خودکار را اجرا می‌کند.

نمونه:

curl -X POST https://api.orcarail.com/api/v1/subscriptions/sub_xxx/resume \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
GET /api/v1/subscriptions/:id/payment-links

لینک‌های پرداخت (یکی برای هر دوره صورت‌حساب) این اشتراک را برمی‌گرداند. از صفحه‌بندی پشتیبانی می‌کند (مثلاً limit، starting_after، ending_before). برای نمایش تاریخچه دوره‌ها یا وضعیت لینک هر دوره از آن استفاده کنید.

نمونه:

curl "https://api.orcarail.com/api/v1/subscriptions/sub_xxx/payment-links?limit=10" \
-H "Authorization: Bearer YOUR_JWT_TOKEN"

قدم‌های بعدی​