چرا افزودن اینها به بجیستو ساده است؟
پاسخ در معماری است. بجیستو بر پایه لاراول و با ساختار پکیجمحور ساخته شده. این یعنی:
- روش پرداخت یک کلاس با رابط مشخص است. برای افزودن درگاه جدید، کلاسی مینویسید که همان رابط را پیادهسازی کند و آن را در پیکربندی ثبت میکنید. هسته دستنخورده میماند.
- سیستم رویداد لاراول در دسترس است. برای اتصال به سامانه مؤدیان یا نرمافزار حسابداری، به رویداد «سفارش ثبت شد» گوش میدهید — بدون تغییر در کد سفارشگیری.
- صف (Queue) بومی است. فراخوانی سرویسهای خارجی در پسزمینه انجام میشود تا کندی یا خطای آنها، تجربه خرید مشتری را خراب نکند.
- بهروزرسانی امن است. چون کد شما در پکیج جداگانه است، ارتقای نسخه بجیستو تغییرات شما را از بین نمیبرد — برخلاف روش رایج دستکاری مستقیم فایلهای هسته.
نکته کلیدی برای ارزیابی پیشنهادها
اگر پیمانکاری برای بومیسازی، فایلهای هسته بجیستو را مستقیماً تغییر دهد، شما را در یک بنبست قرار داده است: دیگر نمیتوانید بدون شکستن سایت، نسخه را ارتقا دهید. حتماً بپرسید که توسعه بهصورت پکیج مستقل انجام میشود یا نه.
درگاههای پرداخت ایرانی
انواع درگاه
- درگاه مستقیم بانکی (سامان، ملت، پارسیان، سداد، آینده): کارمزد کمتر، تسویه مستقیم به حساب شما، اما نیازمند اینماد و فرآیند اداری طولانیتر.
- درگاه واسط (PSP) (زرینپال و مشابه): راهاندازی سریع، شرایط سادهتر، کارمزد بیشتر. برای شروع مناسب است.
- پرداخت در محل: در بازار ایران هنوز اعتمادساز است و نرخ تبدیل را بالا میبرد، اما ریسک مرجوعی و هزینه ارسال بینتیجه دارد.
- پرداخت اعتباری و کیف پول: برای فروش B2B و مشتریان دائمی کاربرد دارد.
جریان فنی پرداخت
- مشتری سفارش را نهایی میکند و سفارش با وضعیت «در انتظار پرداخت» ثبت میشود.
- سیستم درخواست ایجاد تراکنش را به درگاه ارسال و توکن پرداخت دریافت میکند.
- مشتری به صفحه بانک منتقل میشود.
- پس از پرداخت، بانک مشتری را به آدرس بازگشت سایت شما هدایت میکند.
- سیستم حتماً تراکنش را با فراخوانی مستقیم به درگاه تأیید میکند — نه بر اساس دادهای که در آدرس بازگشتی آمده.
- در صورت تأیید، وضعیت سفارش بهروز میشود، موجودی کسر میشود و اعلانها ارسال میشوند.
مهمترین نکته امنیتی پرداخت
هرگز صرفاً به پارامترهای بازگشتی از درگاه اعتماد نکنید. مرحله تأیید سمت سرور (Verify) الزامی است؛ نبود آن یعنی امکان جعل پرداخت موفق. همچنین مبلغ تأییدشده باید با مبلغ سفارش تطبیق داده شود.
سناریوهایی که باید تست شوند
- پرداخت موفق و ثبت صحیح سفارش.
- پرداخت ناموفق و بازگشت مشتری به سبد خرید بدون از دست رفتن اقلام.
- انصراف مشتری در صفحه بانک.
- قطع اتصال در میانه پرداخت و وضعیت نامشخص تراکنش.
- پرداخت موفق اما ناموجود شدن کالا در همان لحظه.
- تلاش برای تأیید دوباره یک تراکنش (جلوگیری از ثبت مضاعف).
نماد اعتماد الکترونیکی
برای دریافت درگاه پرداخت بانکی مستقیم، اینماد الزامی است. نکاتی که در زمان بررسی کارشناسان اینماد اهمیت دارند:
- دامنه باید به نام همان شخص حقیقی یا حقوقی متقاضی ثبت شده باشد.
- صفحه «تماس با ما» با آدرس کامل و تلفن ثابت باید موجود باشد.
- صفحه «قوانین و مقررات» و «شرایط مرجوعی» باید نوشته شده باشد.
- سایت باید محتوای واقعی داشته باشد — نه صفحات نمونه یا خالی.
- کد اینماد پس از دریافت باید در فوتر سایت قرار گیرد.
این مرحله را زودتر شروع کنید؛ در راهنمای راهاندازی فروشگاه توضیح دادهایم که چرا معمولاً گلوگاه زمانی پروژه است.
سامانه مؤدیان و صورتحساب الکترونیکی
سامانه مؤدیان مالیاتی برای ثبت صورتحسابهای الکترونیکی استفاده میشود. پیادهسازی فنی آن در بجیستو معمولاً به این شکل است:
- گوش دادن به رویداد ثبت یا تکمیل سفارش.
- استخراج اطلاعات فاکتور: اقلام، مبالغ، مالیات بر ارزش افزوده، اطلاعات خریدار و شناسه کالا.
- تبدیل به قالب استاندارد صورتحساب الکترونیکی.
- امضای دیجیتال با کلید خصوصی مؤدی.
- ارسال به API سامانه و دریافت شماره مالیاتی.
- ذخیره شماره مالیاتی روی سفارش و امکان مشاهده وضعیت در پنل مدیریت.
نکات مهم پیادهسازی
- حتماً از صف استفاده کنید. اگر سامانه کند باشد یا خطا بدهد، نباید فرآیند خرید مشتری متوقف شود.
- مکانیزم تلاش مجدد برای صورتحسابهای ناموفق با ثبت لاگ کامل.
- مدیریت صورتحساب اصلاحی و ابطالی برای سفارشهای مرجوعی.
- شناسه کالا و خدمات باید برای هر محصول تعریف شود؛ این کار دادهای است و باید در مرحله ورود محصولات انجام شود.
- داشبورد وضعیت برای مشاهده صورتحسابهای ارسالشده، در انتظار و خطادار.
الزامات مالیاتی و قوانین مربوط به آن تغییر میکنند و به نوع و اندازه کسبوکار شما بستگی دارند. آنچه در پروژه پیاده میشود، زیرساخت فنی ارسال است؛ تعیین تکلیف مالیاتی را حتماً با مشاور مالیاتی خودتان بررسی کنید.
پیامک و اطلاعرسانی
پیامک در بازار ایران کانال اصلی ارتباط با مشتری است. موارد رایج:
- کد تأیید ثبتنام و ورود با شماره موبایل.
- تأیید ثبت سفارش و اعلام شماره پیگیری.
- اطلاعرسانی تغییر وضعیت سفارش و ارسال کد رهگیری مرسوله.
- یادآوری سبد خرید رهاشده.
- اعلان سفارش جدید به مدیر یا فروشنده.
پیادهسازی درست، یک درایور پیامک تعریف میکند تا تغییر سرویسدهنده در آینده فقط یک تغییر پیکربندی باشد، نه بازنویسی کد. ارسال باید در صف انجام شود.
پست، تیپاکس و محاسبه هزینه ارسال
- محاسبه خودکار هزینه بر اساس استان مقصد، وزن و ابعاد بسته.
- روشهای متعدد ارسال: پست پیشتاز، سفارشی، تیپاکس، پیک شهری و ارسال رایگان بالای مبلغ مشخص.
- ثبت خودکار بارنامه و دریافت کد رهگیری از API سرویسدهنده.
- ارسال کد رهگیری به مشتری از طریق پیامک و ایمیل.
- محدودیت جغرافیایی: امکان تعریف مناطقی که ارسال نمیکنید یا هزینه متفاوتی دارند.
اتصال به نرمافزار حسابداری
یکی از پرتکرارترین نیازهای پروژههای ایرانی، همگامسازی فروشگاه با نرمافزار حسابداری یا انبارداری است. معمولاً این موارد همگام میشوند:
- محصولات و کدهای کالا از حسابداری به فروشگاه.
- موجودی انبار بهصورت دورهای یا لحظهای.
- قیمتها و لیستهای قیمت اختصاصی مشتریان.
- فاکتورهای فروش از فروشگاه به حسابداری.
- اطلاعات مشتریان و حسابهای دریافتنی.
چون بجیستو REST API کامل دارد، این اتصال بدون دستکاری هسته و بهصورت پایدار انجام میشود. نکته مهم طراحی: مشخص کنید کدام سیستم «منبع حقیقت» هر داده است تا از تناقض جلوگیری شود.
سایر موارد بومیسازی
- تقویم شمسی در پنل مدیریت، فاکتورها و گزارشها.
- اعداد و ارقام فارسی در نمایش قیمتها و تاریخها.
- واحد پول ریال و تومان با امکان نمایش دلخواه.
- فرمت آدرس ایرانی: استان، شهر، کد پستی دهرقمی با اعتبارسنجی.
- اعتبارسنجی کد ملی و شماره موبایل با الگوی ایرانی.
- ترجمه کامل فارسی پنل مدیریت و فروشگاه با اصطلاحات درست کسبوکاری.
- فونت فارسی مناسب و چیدمان راستبهچپ بهینه.
اشتباهات رایج
- تغییر مستقیم فایلهای هسته بهجای نوشتن پکیج — نتیجه: ناتوانی در ارتقای نسخه.
- حذف مرحله تأیید تراکنش سمت سرور — بزرگترین ریسک امنیتی پرداخت.
- فراخوانی همزمان (بدون صف) سرویسهای خارجی — یک سامانه کند، کل فرآیند خرید را قفل میکند.
- نبود لاگ و مکانیزم تلاش مجدد — وقتی چیزی خطا میدهد، هیچ ردی برای بررسی نمیماند.
- هاردکد کردن اطلاعات درگاه در کد بهجای فایل پیکربندی محیطی.
- تست نکردن با مبلغ واقعی — محیط آزمایشی همه سناریوها را پوشش نمیدهد.
- فراموش کردن شناسه کالا برای سامانه مؤدیان تا لحظه آخر پروژه.
پرسشهای متداول
آیا بجیستو از درگاههای پرداخت ایرانی پشتیبانی میکند؟
اتصال به سامانه مؤدیان در بجیستو چطور انجام میشود؟
آیا برای هر سفارش باید صورتحساب الکترونیکی صادر شود؟
درگاه مستقیم بانکی بهتر است یا واسط؟
تقویم شمسی و اعداد فارسی در بجیستو قابل اضافه شدن است؟
بومیسازی کامل بجیستو برای بازار ایران
درگاه پرداخت، سامانه مؤدیان، پیامک، پست و تقویم شمسی — همه را یکپارچه پیاده میکنیم. برای بررسی نیازهای پروژهتان تماس بگیرید.