اپ دموی OrcaRail
یک اپلیکیشن دموی ساده و متنباز که نشان میدهد چطور با SDK نود و صفحه پرداخت میزبانیشده، با OrcaRail پرداخت کریپتو بپذیرید.
مخزن
- GitHub: https://github.com/OrcaRail/demo
دموهای live و sandbox
همین دمو دو بار اجرا میشود: دموی live از شبکهها و توکنهای شبکه اصلی استفاده میکند و دموی sandbox از شبکههای آزمایشی با توکنهای آزمایشی رایگان. حالت از کلید API تعیین میشود (ak_test_ یعنی sandbox). دموی sandbox یک چراغ چشمکزن Testnet نشان میدهد و به دموی live لینک میدهد، و دموی live هم به دموی تستنت برمیگردد. در دموی sandbox میتوانید پرداخت را با شبیهسازی پرداخت و بدون کیف پول تمام کنید.
ویژگیها
- تقسیم و گرفتن کمیسیون — با کلید API دارای درصد کمیسیون، از هر پرداخت سهم بگیرید؛ کمیسیون در صفحه پرداخت نمایش داده و به آدرس برداشت شما فرستاده میشود
- دکمه «پرداخت با کریپتو» و کارت محصول
- ساخت و تأیید Payment Intent با SDK نود (
@orcarail/node) - انتخابگر ارز که با
orcarail.rates.getCurrencies({ active: true })پر میشود - پیشفاکتور فیات با
orcarail.rates.getFiatQuote({ amount, currency })برای کادر پیشفاکتور - انتقال به صفحه پرداخت میزبانیشده OrcaRail
- صفحه موفقیت با وضعیت پرداخت
- اندپوینت وبهوک برای رویدادهای پرداخت (با بررسی امضا)
- آماده استقرار روی Vercel
پشته فنی
- فریمورک: Next.js (App Router)
- SDK: @orcarail/node
- استایل: Tailwind CSS
شروع سریع
-
مخزن را clone کنید
git clone https://github.com/OrcaRail/demo.gitcd demo -
وابستگیها را نصب کنید
npm install -
محیط را پیکربندی کنید
.env.local.exampleرا به.env.localکپی کنید و اینها را تنظیم کنید:ORCARAIL_API_KEY– کلید API شما (مثلاًak_live_xxx)ORCARAIL_API_SECRET– secret API شما (مثلاًsk_live_xxx)ORCARAIL_WEBHOOK_SECRET– اختیاری؛ برای بررسی امضای وبهوکNEXT_PUBLIC_APP_URL– آدرس اپ شما (مثلاًhttp://localhost:3001)
توکن و شبکه در رابط دمو انتخاب میشوند (یا در بدنه درخواست به
/api/payفرستاده میشوند). بهطور اختیاری میتوانیدwithdrawal_addressرا در بدنه بفرستید تا مقصد برداشت وجوه آن پرداخت را تغییر دهید.برای توسعه محلی با API محلی:
ORCARAIL_API_BASE_URL– مثلاًhttp://127.0.0.1:3000/api/v1
-
دمو را اجرا کنید
npm run devاپ را باز کنید (پیشفرض: http://localhost:3001)، روی «پرداخت با کریپتو» کلیک کنید و جریان را در اپ پرداخت میزبانیشده کامل کنید.
جریان
- کاربر روی «پرداخت با کریپتو» کلیک میکند ← فرانتاند
/api/payرا فراخوانی میکند. - بکاند با SDK یک Payment Intent میسازد و تأیید میکند.
- کاربر به صفحه پرداخت میزبانیشده OrcaRail منتقل میشود.
- کاربر پرداخت را روی زنجیره کامل میکند.
- کاربر به صفحه موفقیت منتقل میشود؛ اپ
/api/completeو/api/statusرا فراخوانی میکند تا intent را در حال پردازش علامت بزند و وضعیت را نشان دهد. - وبهوک شما در
/api/webhooksرویدادهایی مثلpayment_intent.completedوpayment_intent.processingرا دریافت میکند.
وبهوکها
دمو یک مسیر وبهوک در /api/webhooks دارد که:
- هدر
x-webhook-signatureرا با secret وبهوک شما بررسی میکند - این رویدادها را پردازش میکند:
payment_intent.completed،payment_intent.processing،payment_intent.canceled،payment_intent.requires_payment_method،payment_intent.requires_confirmation
آدرس وبهوک خود را در داشبورد OrcaRail تنظیم کنید (مثلاً https://your-app.vercel.app/api/webhooks).
استقرار روی Vercel
- دمو را در GitHub خود push کنید و پروژه را در Vercel import کنید.
- همان متغیرهای محیطی را در تنظیمات پروژه Vercel اضافه کنید.
NEXT_PUBLIC_APP_URLرا روی آدرس Vercel خود تنظیم کنید.- مستقر کنید. Vercel، Next.js را تشخیص میدهد و بیلد را تنظیم میکند.
همچنین ببینید
- SDK نود –
@orcarail/nodeرا نصب و در اپ خود یکپارچه کنید - Payment Intentها – مفاهیم و جریان
- API قیمت – پیشفاکتور فیات و ارزها
- وبهوکها – رویدادها و پیکربندی
- شروع کار – حساب و کلیدهای API