سلام دوستان من چند تا سوال دارم ازتون:
1- یه سبد خرید دارم که میشه بهش محصول اضافه کرد. بعد اضافه کردن میشه دکمه تکمیل سفارش رو زد تا مبلغ نهاییش محاسبه بشه. در این قسمت نیازه که چیزی به عنوان سفارش پرداخت نشده دخیره کنم؟ یا تا وقتی که به صفحه بانکی برای پرداخت نرفته چیزی ذخیره نکنم؟
2- وقتی رفتن صفحه پرداخت و لغو کردن و callback url به عنوان پرداخت موفق آمیز یا ناموفق دریافت نکردم تو جدول orders ذخیره کنم و اگه پرداخت انجام شد چه موفق ، چه ناموفق تو جدول payments ذخیره کنم؟
3- یا همشو تو یه جدول انجام بدم و دیگه هم orders و هم payments نداشته باشم؟ یعنی وقتی رف صفحه پرداخت تو جدول payments به عنوان سفارش پرداخت نشده ذخیره کنم و اگه پرداخت شد callback url دریافت کردم ستون status همین جدولو آپدیت کنم به عنوان پرداخت موفق یا ناموفق.
سلام @ra1ar
در مورد شماره یک جایگاه دکمه تکمیل سفارش اشتباه هست در واقع این بخش فعلا سبد مشتری است نه ثبت سفارش و تا چیزی از سمت کاربر تایید نشده نباید تحت عنوان سفارش ثبت بشه چون وقتی سفارش کاربر رو ثبت می کنید برای تعادل بین انجام تعهدات و موجودی کالا توازن بر قرار بشه از طرفی ممکنه کاربر هرگز لیست سبد رو پیگیری نکنه پس اساسا نباید ماهیت سفارش داشته باشه.
شماره دو : برای سفارشات دو تیبل لازم دارید order و order_details یا مثلا order_list که جزییات سفارش رو ثبت کنه و قسمت مهمش اینه که تمام موارد مربوط به امور مالی یعنی جزییات پرداخت یا خطا و پیام های سمت بانک رو توی تیبل payments باید ذخیره کنید. در نهایت یک status برای تیبل orders قرار بدید که وضعیت ثبت سفارش، پردازش، پیگیری، ارسال و تحویل و ... رو نشون بده.
سه هم کلا منتفیه در نظر نگیرید.
حالا برای درک بهتر الزام orders , order_details به توضیح زیر دقت بفرمایید.
یک سفارش ممکنه مجموعه چند کالای متفاوت باشه پس لیستی از کالاها در تیبل جزییات قرار میگیره ولی مجموع سفارش شامل سفارش دهند قیمت کل و وضعیت سفارش در تیبل orders و اطلاعات کالا و آی دی ردیف مرتبط در orders و ... در تیبل جزییات ثبت می شود.
سلام
1 ) به صورت کلی نیاز نیست قبل از وارد شدن به صفحه پرداخت چیزی رو ذخیره کنی چون عملا به دردت نمیخوره و تو همون قسمت بعد پرداخت میشه پرداخت شده یا نشده رو مشخص کرد (یا هرچیز دیگه ایی)
2 و 3 ) این کار به عهده خودته که چجوری میخوای توی دیتابیس ذخیره کنی اما به صورت عمده روش 2 رو اجرا میکنن چون علاوه بر عمده بودنش باعث میشه آمار از پرداخت نشده ها و یا ناموفق ها هم داشته باشی و هم یکمی توی سرعت تاثیر گذاره !
سلام خسته نباشید
1.ببین میتونی یه سفارش درست کنی اگه پرداخت کامل بود بیای وضعیت رو بزنی اوکی بوده
2.اره میشه اینو زد
3.ببین بستگی به مدیریت دیتبایست هست میتونی بزنی میتونی نزنی بستگی به راحتیت داره
سلام عزیز خسته نباشید
پیشنهاد من به شما این هست که ذخیره کنید همه رو
کسی که داره پرداختی انجام میده حتما میخواد سفارش انجام بشه و برا تست و شوخی که نمیره به صفحه پرداخت پس چرا تصور بشه که تا قبل پرداخت برامون مهم نیست اون سفارش چیه؟
اصلا خیلی از کسب و کار ها پرداخت نا موفق رو به شخص زنگ میزنن که عزیز شما مشکلی در پرداخت یا سفارشت داشتی؟ میخوایید راهنماییتون کنیم؟ دلیل انصرافتون چی هست؟ خیلی تاثیر داره
جدای از اون فرض بگیر تو صفحه بانک به هر دلیلی اینترنت قطع شد یا برق رفت یا صفحه مرورگر بسته شد
وقتی چیزی ذخیره نکردی و برگشت به سایتی نداشتی کاربری که سایت رو مجدد باز میکنه هیچ سفارش تایید شده ای نداره
شما در لحظه ی ثبت نهایی که میخوایی به سمت بانک ارسال کنی کاربر رو سفارش رو کامل ذخیره میکنی
هنگام برگشت در جدول جدایی اطلاعات پرداخت که شماره کارت طرف و کد های اعتبار سنجی خاصی هست که از سمت بانک میاد و حتی پیشنهاد میکنم IP کاربر رو حتما اونجا بگیر و ذخیره کن و در نهایت با چیزی که ذخیره کردی و برگشتیه بانک اعتبار سنجی انجام میدی و وضعیت پرداخت سفارش رو به هر شکل که دوس داری تغییر میدی.
با شیوه ای که بهت گفتم با اشتباه بودن پرداخت و خطای پرداخت تو فقط کافیه یک صفحه ی سفارشات برای کاربر طراحی کنی که اگر وضعیت پرداخت تایید نشده بود براش بزنه در انتظار پرداخت و با کلیک بر روی یک دکمه ای کاربر رو مجدد به سمت بانک هدایت کنه
روال معمولا به این شکل هست که شما توی جدولت کدی تولید میکنی به اسم resnumber که به بانک ارسال میشه این کد و با همون کد برمیگردی به سایت خودت برای اعتبار سنجی
این کد تولید شده توی جدول خودت به یک شماره سفارش اشاره میکنه و از طریق اون به سفارشت دسترسی داری و اعتبار سنجی لازم انجام میشه
در غیر این صورت موقع بازگشت از بانک مجبوری session مرور گر یا کوکی رو بیایی ذخیره کنی اطلاعاتش رو که کار صحیحی ب نظر نمیرسه اون موقع
چون ممکنه بعد از پرداخت به شیوه ای سفارش تغییر کنه و چیزی از قبل توی دیتابیس نیست که باهاش اعتبار سنجی کنی
سلام @ra1ar
در مورد شماره یک جایگاه دکمه تکمیل سفارش اشتباه هست در واقع این بخش فعلا سبد مشتری است نه ثبت سفارش و تا چیزی از سمت کاربر تایید نشده نباید تحت عنوان سفارش ثبت بشه چون وقتی سفارش کاربر رو ثبت می کنید برای تعادل بین انجام تعهدات و موجودی کالا توازن بر قرار بشه از طرفی ممکنه کاربر هرگز لیست سبد رو پیگیری نکنه پس اساسا نباید ماهیت سفارش داشته باشه.
شماره دو : برای سفارشات دو تیبل لازم دارید order و order_details یا مثلا order_list که جزییات سفارش رو ثبت کنه و قسمت مهمش اینه که تمام موارد مربوط به امور مالی یعنی جزییات پرداخت یا خطا و پیام های سمت بانک رو توی تیبل payments باید ذخیره کنید. در نهایت یک status برای تیبل orders قرار بدید که وضعیت ثبت سفارش، پردازش، پیگیری، ارسال و تحویل و ... رو نشون بده.
سه هم کلا منتفیه در نظر نگیرید.
حالا برای درک بهتر الزام orders , order_details به توضیح زیر دقت بفرمایید.
یک سفارش ممکنه مجموعه چند کالای متفاوت باشه پس لیستی از کالاها در تیبل جزییات قرار میگیره ولی مجموع سفارش شامل سفارش دهند قیمت کل و وضعیت سفارش در تیبل orders و اطلاعات کالا و آی دی ردیف مرتبط در orders و ... در تیبل جزییات ثبت می شود.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟