نمونهٔ بات فروش تلگرام شیپی
نمونهٔ کامل و بدون وابستگی برای فروش از داخل تلگرام. کاربر محصول را انتخاب میکند، بات دکمهٔ پرداخت شیپی را میفرستد و پس از بازگشت یا رسیدن وبهوک، پرداخت را سمت سرور و با مبلغ سفارش تأیید میکند و رسید را در همان چت میفرستد. پرداخت در انتظار بانک ناموفق حساب نمیشود.
- وبهوک امضاشده
- وضعیت «در انتظار» درست
- تومان و ریال
- حالت آزمایشی با sk_test_
این نسخه بتا است: کامل است ولی هنوز روی فروشگاههای واقعی کافی اجرا نشده. اول روی نسخهٔ آزمایشی سایتتان و با کلید sk_test_ امتحانش کنید و هر اشکالی دیدید به پشتیبانی بگویید.
نصب
- ۱
zip را روی سروری با Node.js 18 یا بالاتر باز کنید.
- ۲
از BotFather در تلگرام یک بات بسازید و توکن را بگیرید.
- ۳
فایل .env.example را به .env کپی کنید و توکن بات، کلید شیپی (برای آزمایش
sk_test_) و PUBLIC_URL را بنویسید. PUBLIC_URL باید روی دامنهٔ تأییدشدهٔ درگاه باشد. - ۴
در پنل شیپی › وبهوکها آدرس
PUBLIC_URL/webhookرا ثبت و رمز آن را در SHEYPAY_WEBHOOK_SECRET بگذارید. - ۵
بات را اجرا کنید: node --env-file=.env bot.mjs
- این یک نمونهکد است؛ پیش از استفادهٔ واقعی، ذخیرهٔ سفارش را به پایگاه دادهٔ خودتان منتقل کنید.
تنظیمات
- TELEGRAM_BOT_TOKEN
- توکن بات از BotFather.
- SHEYPAY_KEY
- کلید API شیپی؛
sk_test_برای آزمایش. - PUBLIC_URL
- آدرس HTTPS همین سرور؛ صفحهٔ بازگشت /return و وبهوک /webhook روی آن است.
- SHEYPAY_WEBHOOK_SECRET
- رمز امضای وبهوک از پنل شیپی.
- PRODUCTS
- فهرست محصولات و قیمتها (تومان) در ابتدای bot.mjs.
تست در محیط آزمایشی
با کلید sk_test_ پول واقعی جابهجا نمیشود و در صفحهٔ بانک آزمایشی نتیجه را خودتان انتخاب میکنید.
- با کلید
sk_test_بات را اجرا کنید و در تلگرام /buy را بزنید. - در بانک آزمایشی «پرداخت موفق» را انتخاب کنید؛ رسید با کد پیگیری باید در چت بیاید.
- یک بار «ناموفق» و یک بار «در انتظار» را هم امتحان کنید و با /orders وضعیت را ببینید.
مشکلات رایج
بات به پیامها جواب نمیدهد.
توکن را بررسی کنید و مطمئن شوید برای این بات وبهوک تلگرام تنظیم نشده است (این نمونه از long polling استفاده میکند).
خطای callback_domain_mismatch هنگام خرید.
PUBLIC_URL باید روی دامنهٔ تأییدشدهٔ درگاه شیپی باشد.
رسید فقط وقتی کاربر به صفحهٔ بازگشت برسد میآید.
وبهوک را در پنل شیپی ثبت کنید تا پرداختهایی که کاربرشان برنمیگردد هم تکمیل شوند.
تغییرات
نسخهٔ ۱.۰.۰
- نسخهٔ اول: فهرست محصولات، دکمهٔ پرداخت، تأیید سمت سرور، وبهوک و رسید در چت.
ماژولهای دیگر در «نمونهکد و بات»
همهٔ ماژولهااولین رسیدتان را امروز صادر کنید
ثبتنام با شمارهٔ موبایل انجام میشود و تا تأیید مدارک، همهچیز را در محیط آزمایشی امتحان میکنید.