الفترات التجريبية
يمكن أن تتضمن الاشتراكات فترة تجريبية لا يلزم خلالها أي دفع. عند انتهاء الفترة التجريبية تبدأ أول دورة فوترة ويُخصم من الدافع (أو يُرسل إليه رابط دفع) وفق collection_method.
كيف تعمل الفترات التجريبية
- trial_period_days — يُضبط عند الإنشاء؛ ويبدأ الاشتراك بحالة
trialing. لا تُحصَّل أي دفعة خلال عدد الأيام المحدد منذ الإنشاء. - trial_end — طابع زمني ISO اختياري لتحديد نهاية صريحة للفترة التجريبية. ويمكنك أيضًا ضبط
trial_end: "now"للبدء فعليًا دون فترة تجريبية. - عند انتهاء الفترة التجريبية:
- إذا كانت
collection_methodهيsend_payment_link: يُنشأ رابط دفع للفترة الأولى و(إن كان مضبوطًا) يُراسَل الدافع بالبريد. - إذا كانت
collection_methodهيauto_charge: يجب أن يكون الدافع قد وافق على الـ allowance قبل انتهاء الفترة التجريبية أو عنده؛ وإلا فقد ينتقل الاشتراك إلىpausedحتى يوافق.
- إذا كانت
- subscription.trial_will_end — ترسل OrcaRail هذا الـ webhook قبل نحو 3 أيام من
trial_endلتتمكن من تذكير الدافع بإضافة طريقة دفع أو الموافقة على الخصم التلقائي.
إنشاء اشتراك بفترة تجريبية
استخدم trial_period_days (أو trial_end) عند إنشاء الاشتراك:
POST /api/v1/subscriptions
{
"description": "Pro Plan",
"amount": "10.00",
"currency": "usd",
"token_id": "...",
"network_id": "...",
"interval": "month",
"trial_period_days": 14,
}
ستتضمن الاستجابة:
status:"trialing"trial_start: وقت الإنشاءtrial_end: وقت الإنشاء + 14 يومًاcurrent_period_start/current_period_end: أول فترة فوترة بعد الفترة التجريبية
تحديث نهاية الفترة التجريبية
يمكنك تحديث trial_end لاشتراك قائم (مثلًا لتمديد الفترة التجريبية أو تقصيرها):
PATCH /api/v1/subscriptions/:id
{
"trial_end": "2025-04-15T00:00:00Z"
}
استخدم "now" لإنهاء الفترة التجريبية فورًا وبدء أول دورة فوترة.
تدفق الحالات مع الفترات التجريبية
- trialing — لا خصم بعد؛ و
trial_endفي المستقبل. - بعد trial_end: ينتقل الاشتراك إلى active بمجرد دفع الفترة الأولى (أو إلى paused إن لم توجد طريقة دفع / allowance).
الـ webhooks
- subscription.created — يُرسل عند إنشاء الاشتراك (قد يكون
trialing). - subscription.trial_will_end — يُرسل قبل نحو 3 أيام من
trial_end؛ استخدمه لمراسلة الدافع أو حثّه على الموافقة على الخصم التلقائي. - subscription.payment_link.created — عند إنشاء أول رابط دفع بعد الفترة التجريبية (في
send_payment_link). - subscription.payment_link.paid — عند دفع أول دورة بعد الفترة التجريبية.
أفضل الممارسات
- ذكّر قبل انتهاء الفترة التجريبية — عالِج
subscription.trial_will_endلإرسال بريد أو رسالة داخل التطبيق. - الخصم التلقائي والفترات التجريبية — في
auto_charge، وجّه الدافع للموافقة على الـ allowance قبلtrial_endلينجح الخصم الأول؛ وإلا فقد يصبح الاشتراكpausedأوpast_due. - رسائل واضحة — اعرض في صفحة الدفع أو الاشتراك مدة الفترة التجريبية وتاريخ الخصم الأول ومبلغه ليعرف الدافع ما يتوقعه.
الخطوات التالية
- إنشاء اشتراك — استخدم
trial_period_daysأوtrial_end - webhooks الاشتراكات —
subscription.trial_will_endوأحداث الدفع - الخصم التلقائي — الحصول على موافقة الـ allowance قبل نهاية الفترة التجريبية