اشتراک در OrcaRail: برداشت خودکار و چندزنجیرهای
۲۵ مارس ۲۰۲۶ — OrcaRail از اشتراکهای دورهای با همان مدل APIمحور پرداختهای یکباره پشتیبانی میکند: شما اشتراک میسازید، ما دورههای صورتحساب را پیگیری میکنیم و پرداختکنندگان هر دوره را تکمیل میکنند؛ یا با باز کردن لینک پرداخت یا با برداشت خودکار، که در آن پس از یک تأیید یکباره روی زنجیره به ما اجازه میدهند هر دوره استیبلکوین برداشت کنیم.
چرا اشتراک در OrcaRail
اشتراکها برای SaaS، عضویتها، قراردادهای ماهانه و هر محصولی است که در بازه ثابت (روز، هفته، ماه، سال) صورتحساب میشود؛ با امکان دوره آزمایشی، سقف تعداد دوره و قواعد لغو. از همان احراز هویت پرداخت بقیه پلتفرم استفاده میکنید و میتوانید با وبهوکهای اشتراک به رویدادهای چرخه عمر واکنش نشان دهید.
دو روش دریافت وجه: لینک پرداخت یا برداشت خودکار
send_payment_link(پیشفرض): در هر دوره صورتحساب، پرداختکننده یک لینک پرداخت دریافت میکند (ایمیل و/یا جریان میزبانیشده). با باز کردن لینک پرداخت میکند؛ روشی آشنا برای پرداخت کریپتو که بهراحتی با مسیرهای Relay و انتخاب کیف پول ترکیب میشود.auto_charge: پرداختکننده از قبل به کیف پول داغ (hot wallet) اورکاریل اجازه میدهد مبلغ هر دوره را در هر تمدید برداشت کند. پس از راهاندازی، تا وقتی موجودی و مجوز معتبر باشد، پرداختکننده لازم نیست برای هر تمدید روی لینک جدیدی کلیک کند.
نحوه دریافت را با POST /api/v1/subscriptions بسازید و تنظیم کنید؛ برای فهرست، ویرایش، توقف و لغو از مدیریت اشتراکها استفاده کنید. فیلدهای کامل درخواست و نمونهها در همین راهنماها آمده است.
برداشت خودکار: چطور انجامش میدهیم
- فروشنده اشتراکی با
collection_method: "auto_charge"و فیلدهای معمولamount،interval،token_id،network_idو اطلاعات تماس پرداختکننده میسازد. - پرداختکننده صفحه اشتراک یا پرداخت دوره اول را باز میکند. دامنه کل تأیید را میبیند (مثلاً مجموع پرداختهای آیندهای که از او میخواهید پوشش دهد) و یک مجوز روی زنجیره امضا میکند:
- روی زنجیرههای EVM، این یک
approve(spender, amount)استاندارد ERC-20 است که کیف پول داغ ما spender آن است. - روی سولانا، گام مشابه واگذاری (delegation) توکن SPL دستکم به اندازه مبلغ یک دوره به کیف پول داغ سولانای ما است.
- روی زنجیرههای EVM، این یک
- پرداختکننده اندپوینت عمومی
POST /api/v1/subscriptions/:id/approve-auto-chargeرا با هش تراکنش allowance (یا delegation)،payer_wallet_address،payer_network_idوpayer_token_idفراخوانی میکند. کلید API فروشنده لازم نیست؛ پرداختکننده با امضای تراکنش روی زنجیره قصد خود را ثابت کرده است. - OrcaRail روی زنجیره بررسی میکند که allowance یا delegation برای کیف پول داغ مورد انتظار دستکم یک دوره صورتحساب را پوشش میدهد و سپس برداشت خودکار را تأییدشده علامت میزند. پیش از هر برداشت میتوانیم مجوز را دوباره بررسی کنیم تا مشکلات موقت RPC با لغو allowance اشتباه گرفته نشود.
- در هر دوره صورتحساب، فرایند صورتحساب برداشت را انجام میدهد (در EVM جریانی شبیه
transferFromاز پرداختکننده به تسویه؛ در سولانا از موجودی واگذارشده استفاده میشود). در صورت موفقیت دوره جلو میرود؛ در صورت شکست مکرر (مثلاً موجودی ناکافی یا لغو مجوز) اشتراک ممکن است بهpast_dueبرود و به پرداختکننده اطلاع داده شود. میتوانید به وبهوکهایی مثلsubscription.payment_link.payment_failedیاsubscription.past_dueگوش دهید؛ توضیحات در برداشت خودکار و وبهوکها آمده است.
لغو مجوز و روش جایگزین: اگر پرداختکننده مجوز را روی زنجیره لغو کند، برداشتهای بعدی ناموفق میشوند. او همچنین میتواند پس از لغو، POST .../revoke-auto-charge را فراخوانی کند تا وضعیت را ثبت کنیم و روش دریافت را به send_payment_link تغییر دهیم؛ همراه با ایمیل راهنما برای مدیریت اشتراک و پرداخت دوباره از طریق لینک. جزئیات در برداشت خودکار و مدیریت اشتراکها آمده است.
امنیت و شفافیت: فقط کیف پولی که تأیید را انجام داده برای برداشت استفاده میشود؛ تجربه کاربری را با مجموع مبالغ و تعداد دورههای روشن هماهنگ کردهایم تا پرداختکنندگان بدانند چه چیزی را تأیید کردهاند. برای پلنهای بسیار طولانی یا بیپایان، محدود کردن مبلغ تأییدشده و تمدید دورهای تأیید را در نظر بگیرید، یا از لینک پرداخت استفاده کنید؛ برداشت خودکار را ببینید.
چندزنجیرهای: جایگاهش در اشتراکها
- مبنای فروشنده: هر اشتراک با یک
network_idوtoken_idساخته میشود که نحوه قیمتگذاری و تسویه آن را در API تعیین میکند؛ شبکه و دارایی «اصلی» آن پلن. - اطلاعات پرداختکننده در برداشت خودکار: برداشت خودکار
payer_network_idوpayer_token_idرا ذخیره میکند؛ یعنی شبکه و توکنی که پرداختکننده واقعاً allowance یا delegation را روی آن تنظیم کرده است. وقتی پرداختکننده از زنجیره یا دارایی پشتیبانیشده دیگری پرداخت کند، این مقادیر میتوانند با فیلدهای اصلی اشتراک فرق داشته باشند؛ هماهنگ با نحوهای که پیشفاکتور و صفحه پرداخت مسیرهای سمت پرداختکننده را تعیین میکنند. - پوشش همراستا با Relay: شبکهها و ارزهای پشتیبانیشده با Relay همراستا میمانند؛ وقتی Relay زنجیرهها و توکنها را گسترش دهد، فهرست ما هم دنبالش میآید. این مدل را در شبکهها و ارزهای پشتیبانیشده: با قدرت Relay خلاصه کردهایم.
- مقصد وجوه: فروشندگان همچنان آدرسهای برداشت برای هر نوع زنجیره تنظیم میکنند (و در صورت پشتیبانی میتوانند برای هر پرداخت جایگزین کنند). برای تصویر کامل برداشت چندزنجیرهای و چند آدرس برای هر زنجیره، OrcaRail چندزنجیرهای است: برداشتها و همراستایی با Relay را ببینید.
جمعبندی
| موضوع | رفتار OrcaRail |
|---|---|
| دریافت وجه | send_payment_link در هر دوره، یا auto_charge با تأیید روی زنجیره |
| برداشت خودکار | approve در ERC-20 روی EVM یا delegate در SPL روی سولانا ← API عمومی تأیید ← بررسی روی زنجیره ← برداشت در هر دوره، با past_due و وبهوک در صورت شکست |
| لغو مجوز | لغو روی زنجیره + revoke-auto-charge اختیاری؛ امکان بازگشت به لینک پرداخت |
| چندزنجیرهای | network_id / token_id اشتراک؛ تأیید پرداختکننده payer_network_id / payer_token_id را ذخیره میکند؛ شبکههای همراستا با Relay؛ برداشت برای هر نوع زنجیره |
اشتراک در OrcaRail منابع REST اشتراک را با مجوز غیرامانی پرداختکننده برای برداشت خودکار و تسویه چندزنجیرهای ترکیب میکند؛ بدون اینکه از تجربه پرداخت میزبانیشده و APIهایی که برای پرداختهای یکباره استفاده میکنید دست بکشید.
اپ OrcaRail · مستندات · Relay
