مدیریت پلنها و اشتراکها در اپاستور
با استفاده از هسته مالی اپاستور باسلام، توسعهدهندهها میتونن بدون نیاز به توسعه زیرساخت پرداخت، سیستم مدیریت پلنهای پرداختی خودشون رو راهاندازی کنن. از طریق پنل توسعهدهندگان میتونید:
- پلنهای پرداختی ایجاد کنید
- روی پلنها تخفیف و کمپین تعریف کنید
- برنامههای متصل به هر پلن رو مدیریت کنید
- پلنها رو مستقیماً داخل صفحه برنامه در اپاستور نمایش بدید
- فرآیند خرید و تمدید خودکار رو به اپاستور باسلام بسپارید
کاربرها هم میتونن بدون خروج از اپاستور، پلنهای برنامه شما رو مشاهده و خریداری کنن.
کمپین کد تخفیف
علاوه بر تعریف کد تخفیف روی هر پلن، میتوانید کمپینهایی با محوریت کد تخفیف ایجاد کنید و مدیریت کاملی روی کمپینها داشته باشید:
- بازه زمانی استفاده مشخص کنید
- تعداد استفاده رو محدود کنید
- کد رو فقط برای کاربران منتخب فعال کنید
ساختار کلی استفاده
معماری استفاده از این سیستم به این صورته:
- توسعهدهنده پلن را داخل پنل تعریف میکند
- کاربر از طریق اپاستور پلنها را مشاهده و خریداری میکند
- باسلام رویداد فروش اشتراک در اپاستور را برای شما ارسال میکند
- سرویس شما دسترسی کاربر را فعال میکند
- در تمدید، لغو یا تغییر وضعیت پلن نیز رویداد دریافت میکنید
نحوه ایجاد پلن
از داخل پنل توسعهدهندگان باید وارد بخش مدیریت پلنها بشید و اولین پلن خودتون رو تعریف کنید.
مدیریت دسترسی کاربران
هسته مالی مدیریت خرید و اشتراک را انجام میدهد و مدیریت دسترسی کاربران داخل سرویس شما انجام میشود. برای این کار باید:
- به وبهوک فروش/تمدید اشتراک در اپاستور گوش بدید
- وضعیت پلن کاربران رو بررسی کنید
- دسترسی مناسب رو داخل سیستم خودتون اعمال کنید
تمدید خودکار اشتراک (Auto Renew)
اگر مقدار فیلد auto_renew در اشتراک برابر true باشد، اپاستور باسلام در پایان هر دوره، اشتراک کاربر را بهصورت خودکار تمدید میکند و نیازی به خرید مجدد توسط کاربر یا پیادهسازی فرآیند تمدید از سمت شما نیست.
بسیار مهم
در هر تمدید موفق، اپاستور باسلام وبهوکی با event_type برابرِ subscription.renewed برای شما ارسال میکند. این وبهوک دقیقاً همزمان با لحظه تمدید موفق فراخوانی میشود و ساختار بدنه آن با وبهوک خرید اشتراک (subscription.created) کاملاً یکسان است؛ تنها تفاوت آن در مقدار event_type است.
برای فعال نگهداشتن دسترسی کاربر پس از تمدید، حتماً باید به رویداد subscription.renewed گوش بدهید.
در هر تمدید یک اشتراک جدید با شناسهی تازه ساخته میشود. در بدنهی این وبهوک، فیلدهای old_subscription_id (شناسهی اشتراک قبلی) و new_subscription_id (شناسهی اشتراک جدید) ارسال میشوند. حتماً دسترسی کاربر را به شناسهی اشتراک جدید (new_subscription_id) منتقل و بهروزرسانی کنید.
توجه کنید که این وبهوک فقط در صورت تمدید موفق ارسال میشود و در صورت شکست تمدید، رویدادی با این نوع ارسال نخواهد شد.
نمونه وبهوک تمدید خودکار اشتراک (subscription.renewed):
{
"event_type": "subscription.renewed",
"timestamp": "2026-07-01T16:14:57.370101",
"developer_id": 186955,
"customer_id": 186955,
"subscription_id": 1059,
"data": {
"old_subscription_id": 281,
"new_subscription_id": 1059,
"plan_id": 7,
"plan_name": "اشتراک ماهانه",
"current_period_start": "2026-07-01T16:14:57.347313",
"current_period_end": "2026-07-31T16:14:57.347313",
"id": 1059,
"plan": {
"id": 7,
"name": "اشتراک ماهانه",
"price": 1000000,
"billing_period_type": {
"title": "ماهانه",
"slug": "monthly"
},
"trial_days": 0
},
"customer": {
"id": 186955,
"name": "WeCan"
},
"app": {
"id": 159,
"title": "سلام دولوپر (SalamDev)",
"slug": "salamdev"
},
"status": {
"id": 3,
"title": "فعال",
"slug": "active"
},
"auto_renew": true,
"trial_end": null,
"grace_period_end": null,
"cancelled_at": null,
"created_at": "2026-07-01T16:14:57.348019",
"updated_at": "2026-07-01T16:14:57.348170"
}
}استفاده از درگاه پرداخت اپاستور برای خرید پلن
اگر میخواهید فرآیند خرید اشتراک را در سمت سرویس خودتان هم پیادهسازی کنید و از درگاه پرداخت اپاستور برای دریافت وجه استفاده کنید، باید هنگام ساخت پیشتراکنش شناسه پلنی را که در پنل توسعهدهندگان ساختهاید، در پارامتر plan_id ارسال کنید. همچنین ارسال user_id (شناسه کاربری که اشتراک برای او خریداری میشود) بههمراه plan_id الزامی است.
با این کار بهجای یک پرداخت معمولی، یک پیشپرداخت خرید اشتراک ساخته میشود و پس از پرداخت موفق، اشتراک کاربر فعال و رویدادهای مرتبط برای سرویس شما ارسال میشود.
-
APIهای مفید
نمونه بدنه درخواست:
{
"reference_id": "SUB-20260515-12345",
"amount": 500000,
"callback_url": "https://yoursite.com/payment/callback",
"plan_id": 42,
"user_id": 123456
}نمونه وبهوک ارسالی:
{
"data":{
"id":246,
"app":{
"id":159,
"slug":"salamdev",
"title":"سلام دولوپر (SalamDev)"
},
"plan":{
"id":7,
"name":"اشتراک ماهانه",
"price":1000000,
"trial_days":0,
"billing_period_type":{
"slug":"monthly",
"title":"ماهانه"
}
},
"status":{
"id":3,
"slug":"active",
"title":"فعال"
},
"customer":{
"id":186955,
"name":"WeCan"
},
"trial_end":null,
"auto_renew":true,
"created_at":"2026-06-01T00:11:27.905232",
"updated_at":"2026-06-01T00:11:43.800651",
"cancelled_at":null,
"grace_period_end":null,
"current_period_end":"2026-07-01T00:11:43.799520",
"current_period_start":"2026-06-01T00:11:43.799520"
},
"timestamp":"2026-06-01T00:11:43.816279",
"event_type":"subscription.created",
"customer_id":186955,
"developer_id":186955,
"subscription_id":246
}برای جزئیات کامل پارامترها و فرآیند پرداخت، به مستند شروع سریع درگاه پرداخت مراجعه کنید.