سلام وقت بخیر
بنده می خواهم کیف پول رو در فروشگاه اینترنتی راه اندازی کنم به این صورت باشه که اگه کاربر موجودی کیف خودشو به ۱۰۰ هزار تومن شارژ کرد و یه محصول قیمتش بود ۱۲۰ هزار تومن سیستم بیاد خودش حساب کنه ۱۰۰ هزار تومن از موجودی کیف کاربر کسر کنه و الباقی که ۲۰ هزار تومن هستش رو ارجاع بده به درگاه بانکی و کاربر پرداخت کنه!
من این کار را قبلا انجام دادم و تجربه شخصی خودم را می نویسم. برای انجام این کار باید شما یک سری موارد را رعایت کرده باشید:
۱) در جدول users یک فیلد به نام wallet_amount تعریف کنید (این فیلد بیانگر میزان پولی است که در حساب کاربر ذخیره شده است یا به عبارت دیگر موجودی کیف پول را نمایش می دهد)
۲) یک فرم در صفحه ای دلخواه طراحی کنید که کاربر با مبلغ موردنظر بتواند وارد درگاه پرداخت شود و پس از بازگشت از درگاه و پرداخت موفقیت آمیز، فیلد wallet_amount در کیف پولش آپدیت شود. مثلا اگر مقدار کیف پول قبلا ۱۰۰۰ تومان بود و کاربر ۲۰۰۰ تومان پرداخت کرد، این فیلد به مقدار ۲۰۰۰ + ۱۰۰۰ بروزرسانی شود.
۳) وقتی کاربر به سبد خرید خود محصولی را اضافه کرد و قصد داشت پرداخت خود را نهایی کند، قبل از کلیک روی پرداخت آنلاین یک گزینه به نام پرداخت با کیف پول برایش وجود داشته باشد که اگر روی آن کلیک کرد نرم افزار به پایگاه داده برود و فیلد wallet_amount را بررسی کند. در مرحله بعدی باید چک شود که مبلغ فاکتور پرداخت کاربر با مبلغ موجود در کیف پول یا برابر باشد و یا کمتر از آن! حال اگر این شرط برقرار بود پس از کلیک روی پرداخت نهایی، مبلغ موردنظر آن از کیف پول کسر می شود و در نهایت فیلد wallet_amount را بروزرسانی می کنید. یعنی مثلا اگر فاکتور پرداخت کاربر ۲۵۰۰۰۰ تومان بود و کیف پول آن ۲۶۰۰۰۰ تومان داشت، پرداخت صورت گرفته و مقدار فیلد wallet_amount برابر ۲۵۰۰۰۰ - ۲۶۰۰۰۰ یعنی معادل ۱۰۰۰۰ تومان می شود. اما حالت دوم را با هم بررسی کنیم که مورد توجه شماست. یعنی اگر فاکتور پرداخت بیشتر از میزان موجودی کیف پول بود، ابتدا فرآیند برداشت از کیف پول انجام شده و فیلد wallet_amount بروزرسانی می شود و سپس مبلغ باقی مانده را به عنوان amount به درگاه پرداخت ارسال می کنید. کاربر پس از پرداخت آن مبلغ وارد سایت شده و سپس سفارش ثبت می شود. فقط باید توجه کنید که به هنگام ثبت سفارش مقدار مبلغ پرداختی از درگاه را با مقدار پرداخت شده توسط کیف پول برای آن سفارش جمع بزنید.
امیدوارم این تجربه شخصی بنده برای شما مفید واقع شده باشد. لطفا اگر سوالی پیرامون این پاسخ داشتید در قسمت نظرات آن مطرح کنید.
به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.