کسب درآمد
پرداختهای Stripe
در اپلیکیشنهای ساختهشده با هوش مصنوعی با حساب Stripe خودتان از کاربران پول بگیرید - کلیدها فقط در سمت سرور میمانند و تحویل با webhook تأیید میشود
1این قابلیت به اپلیکیشن شما چه میدهد#
به اپلیکیشنهایی که میسازید اجازه میدهد از طریق Stripe Checkout پول واقعی بگیرند - صفحهٔ پرداخت، ارتقای «Pro»، دکمههای خرید.
این حساب Stripe خودِ شماست: کلیدهای شما، پول شما، پرداخت مستقیم به شما. AppMint هیچ سهمی نمیگیرد و مسئولیتی در پرداخت ندارد (بدون Stripe Connect). Stripe را فقط یک بار در Settings وصل میکنید؛ هر اپلیکیشنی که بسازید از آن استفاده میکند - فقط میگویید چه میفروشید و دیگر کلیدی وارد نمیکنید.
هوش مصنوعی همهٔ کد پرداخت را مینویسد. کلید secret شما هرگز داخل اپلیکیشن نمیرود - در بکاند Supabase شما میماند.
2اول Supabase را متصل کنید (الزامی)#
پرداختهای Stripe به یک سرور امن نیاز دارند تا کلید secret شما را نگه دارد و پرداختها را تأیید کند - آن سرور پروژهٔ Supabase شماست. پس ابتدا Supabase را وصل و فعال کنید (Settings ← BACKEND - SUPABASE) - فصل «🗄️ Supabase Backend (Connect It Once)» در ابتدای همین راهنما مراحل آن را توضیح میدهد.
اگر Supabase فعال نباشد، پیام «Stripe keys saved, but payments also need Supabase active» را میبینید. AppMint هنگام استقرار، کلید secret Stripe شما را خودکار در توابع Supabase شما قرار میدهد - هرگز داخل اپلیکیشن ساختهشده گذاشته نمیشود.
3کلیدهای Stripe را بگیرید (با حالت آزمایشی شروع کنید)#
روی رایانه:
- داشبورد Stripe را باز کنید و هنگام ساخت در حالت test / یک sandbox بمانید (Stripe اکنون محیط آزمایشی را «sandbox» مینامد؛ حسابهای قدیمیتر کلید Test/Live دارند). اینجا هیچ پرداخت واقعی انجام نمیشود.
- به Developers ← API keys بروید.
- «Publishable key» (شروع با pk_test_…) را کپی کنید و «Secret key» (شروع با sk_test_…) را نمایش دهید و کپی کنید.
از Secret key استاندارد (sk_…) استفاده کنید، نه Restricted key (rk_…) - AppMint کلید sk_ را اعتبارسنجی و ارسال میکند. برای ساخت و آزمایش کل مسیر، پیش از فعالسازی پرداخت زنده نیازی به تأیید فروشنده نیست.
4اتصال Stripe در AppMint#
AI Studio را باز کنید ← Settings ← پایین بروید تا «PAYMENTS - STRIPE (OPTIONAL)» ← «CONNECT STRIPE (YOUR ACCOUNT)»:
- فعلاً «Live mode» را خاموش بگذارید (خاموش = Test).
- کلید publishable خود را در فیلد pk_test_… جایگذاری کنید.
- کلید secret خود را در فیلد sk_test_… جایگذاری کنید (رمزگذاریشده روی همین دستگاه نگهداری میشود).
- گزینهٔ «Enable Stripe payments for generated apps» را روشن کنید.
- «Validate & save Stripe keys» را بزنید. AppMint قالب را بررسی میکند، مطمئن میشود هر دو کلید در یک حالتاند و کلید secret را با Stripe راستیآزمایی میکند. در صورت موفقیت «● Connected (TEST)» را میبینید.
5AppMint چه چیزهایی را برایتان وصل میکند#
وقتی اپلیکیشنی با پرداخت میسازید، AppMint زیرساخت را خودکار انجام میدهد - لازم نیست به داشبورد Supabase یا Stripe دست بزنید:
- STRIPE_SECRET_KEY شما را در Edge Functionهای Supabase شما قرار میدهد (رمزگذاریشده و فقط در سمت سرور).
- تابع «create-checkout» (شروع یک نشست Stripe Checkout) و تابع «stripe-webhook» (تأیید پرداختها) را مستقر میکند.
- webhook را در Stripe ثبت میکند و کلید امضای آن را ذخیره میکند.
- جدول «entitlements» را میسازد تا اپلیکیشن بداند چه کسی پرداخت کرده است.
کلید publishable (pk_) تنها مقدار Stripe است که داخل اپلیکیشن میرود - انتشار عمومی این کلید ایمن است.
6صفحهٔ پرداخت خود را توصیف کنید - هوش مصنوعی آن را میسازد#
فقط به زبان ساده بگویید چه میخواهید. هوش مصنوعی دکمهٔ خرید، فراخوانی checkout و قفل کردن قابلیتهای پولی را برایتان اضافه میکند:
- «۵ دلار یکباره بگیر تا قالب Pro باز شود.»
- «اشتراک ماهانهٔ ۹ دلاری که تبلیغات را حذف میکند.»
- «یک PDF قابل دانلود را به قیمت ۱۹ دلار بفروش.»
کلیدها یا قیمتها را هرگز بهعنوان تنظیمات در گفتگو جایگذاری نمیکنید - فقط هدفتان را میگویید. دسترسی فقط پس از آن باز میشود که Stripe از طریق webhook پرداخت را تأیید کند، نه از روی یک پرچم «پرداختشده» در سمت کلاینت، پس نمیتوان آن را جعل کرد.
7آزمایش پرداخت از ابتدا تا انتها#
تا وقتی در حالت Test هستید، هیچ پول واقعی جابهجا نمیشود. کل مسیر را اجرا کنید:
- اپلیکیشن خود را باز کنید و دکمهٔ خرید/ارتقا را بزنید.
- در صفحهٔ Stripe Checkout با کارت آزمایشی پرداخت کنید:
4242 4242 4242 4242, any future expiry, any CVC, any ZIP.
- به اپلیکیشن برمیگردید و قابلیت پولی باز میشود.
- داشبورد Stripe (حالت Test) ← Payments را ببینید - تراکنش آزمایشی را میبینید.
اگر قفل باز شد، یعنی webhook و دسترسیها درست وصل شدهاند.
4242 4242 4242 4242 exp: any future date CVC: any 3 digits8وقتی آمادهاید زنده شوید#
- حساب Stripe خود را برای پرداخت زنده فعال کنید (داشبورد Stripe ← «Activate» / تکمیل اطلاعات کسبوکار).
- در Stripe از حالت sandbox/test به حالت live بروید و کلیدهای LIVE خود (pk_live_… و sk_live_…) را از Developers ← API keys کپی کنید.
- در AppMint ← Settings ← Payments: «Live mode» را روشن کنید، کلیدهای pk_live_/sk_live_ را جایگذاری کنید و «Validate & save» را بزنید. نشان به «● Connected (LIVE)» تغییر میکند.
- اپلیکیشن خود را دوباره بسازید.
AppMint از ترکیب کلیدهای آزمایشی و زنده جلوگیری میکند و تغییر حالت، کلید مستقرشده را دوباره تنظیم میکند - کلیدهای آزمایشی و زنده هرگز در یک اپلیکیشن کنار هم نیستند، پس بهاشتباه کلید آزمایشی منتشر نمیکنید.
9اگر چیزی کار نکرد#
- «کلیدهای Stripe ذخیره شد، اما پرداختها به Supabase فعال هم نیاز دارند» ← ابتدا Supabase را فعال کنید (مرحلهٔ ۲).
- «شما TEST را انتخاب کردهاید اما کلیدها LIVE هستند» (یا برعکس) ← حالت انتخابی باید با پیشوند کلیدهایتان بخواند (pk_test/sk_test در برابر pk_live/sk_live).
- «Stripe کلید را رد کرد» ← کلید secret اشتباه است یا لغو شده. دوباره آن را از Developers ← API keys کپی کنید.
- پرداخت موفق است اما قابلیت قفل میماند ← webhook به Supabase نرسیده است. دوباره بسازید/مستقر کنید تا AppMint webhook را دوباره ثبت کند و مطمئن شوید پروژهٔ Supabase اپلیکیشن همان است که وصل کردهاید.
- نمیتوانید حساب زنده را فعال کنید ← Stripe در برخی کشورها (از جمله هند) فروشندهها را ثبتنام نمیکند. حالت آزمایشی برای ساخت همهجا کار میکند؛ اما برای پرداخت زنده در آن کشورها به کشوری که Stripe پشتیبانی میکند یا ارائهدهندهٔ دیگری نیاز دارید.