اعتبارسنجی پرداخت

زمان قرارگیری : 16 تیر 1399
زمان این قسمت : 16:47
برای دسترسی به این دوره نیاز است بصورت نقدی این دوره را خریداری کنید و این دوره بخشی از دوره های اعضای ویژه نمیباشد

تعداد شرکت کنندگان 328 نفر
قیمت دوره 259000 تومان
وضعیت دوره در حال برگزاری
زمان کل دوره 26:39:36
تعداد قسمت‌ها 117
نوع دسترسی نقدی

در این جلسه قصد دارم قسمت پرداخت و اتصال به درگاه بانکی که در جلسه قبل نوشته بودیم را کامل‌تر و بخش اعتبارسنجی پرداخت که بخش بسیار مهم و امنیتی محسوب می‌شود را پیاده‌سازی کنم

بخش اول
مقدمات
رایگان 09:10
بخش ششم
مفاهیم هسته لاراول
برای دسترسی به این دوره نیاز است بصورت نقدی این دوره را خریداری کنید و این دوره بخشی از دوره های اعضای ویژه نمیباشد

تعداد شرکت کنندگان 328 نفر
قیمت دوره 259000 تومان
وضعیت دوره در حال برگزاری
زمان کل دوره 26:39:36
تعداد قسمت‌ها 117
نوع دسترسی نقدی

آنلاین
user-avatar
مدرس دوره حسام موسوی

اول داستان، طراح گرافیک بودم و ۲ سالی به عنوان طراح مشغول بودم، بعد به برنامه‌نویسی علاقمند شدم و الان بیشتر از ۱۰ ساله که عاشق کدزنی و چالش‌های پروژه‌های مختلفم. به تدریس علاقه خاصی دارم و دوست دارم دانشی که در این راه بدست آوردم را در اختیار دیگران هم قرار بدم. 

سوالات و گفتگو‌ها

سوالات و گفتگو‌ها

اگر سوال و مشکلی یا حتی بحثی در یکی از حوزه‌های برنامه‌نویسی دارید این بخش به شما کمک ویژه‌ای خواهد کرد

دورهای پیشنهادی

مشاهده همه دوره ها
آموزش لاراول

آموزش لاراول

فریمورک لاراول یکی از محبوبترین و بهترین فریمورک های حال حاضر برای زبان php می باشد، آموزش لاراول راکت می‌تواند به شکل رایگان به شما لاراول را آموزش د...

ساخت Restful Api با Laravel و Lumen

ساخت Restful Api با Laravel و Lumen

به زبان ساده، APIها (مخفف Application Programming Interface) رابط‌هایی نرم‌افزاری هستند که ارتباط بین نرم‌افزارهای مختلف را پیاده‌سازی می‌کنند. در دنی...

آشنایی با امکانات جدید لاراول 5.5

آشنایی با امکانات جدید لاراول 5.5

در همین ابتدای این دوره باید بگم کسانی میتونن این دوره رو مشاهده کنند که با لاراول آشنا باشن پس اگر هنوز نمی دونید که لاراول چطور کار میکنه ، لطف ابتد...

آموزش پکیج نویسی لاراول

آموزش پکیج نویسی لاراول

اگر با لاراول و پکیج ها آشنا باشید مطمئنن میدانید که پکیج ها بخش مهمی در لاراول هستند و به برنامه نویسان و توسعه دهندگان لاراول کمک میکنند تا بتوانن ب...

دسترسی رایگان برای اعضای ویژه

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
آفلاین
user-avatar
Meysam Sedigh
2 هفته پیش

سلام استاد در قسمت اعتبار سنجی شما فرمودید در پروژه واقعی جای مقدار از
payment->price$ استفاده بشود ولی این جدول payment ها ما قیمت نداریم

آنلاین
user-avatar
حسام موسوی
2 هفته پیش

بله در چند جلسه بعد اصلاح کردیم این روند رو
و قیمت‌ها رو در order باید بگیریم

آفلاین
user-avatar
waltun
2 هفته پیش

سلام خسته نباشی آقای موسوی
آقا یه قسمت بود توی استفاده از payping واسه وقتی که حالا یا پرداخت موفق بود یا کاربر انصراف میداد برای پرداخت که تابع callback رو درست کردیم.
الان وقتی پرداخت موفق انجام میشه درست redirect میکنه، اما وقتی انصراف رو میزنه میاد تو اون صفحه ای که میگه
1 : پرداخت لغو شده توسط کاربر، اینو کجا باید تغییر داد که به یه مسیر دیگه redirect بشه ؟
اینم کدای این قسمت :

try {
            if ($payping->verify($request->refid, 1000)) {
                $payment->update([
                    'status' => 1
                ]);

                $payment->order()->update([
                    'status' => 'paid'
                ]);

                //TODO success payment (return)
                return redirect(route('profile.orders'));
            } else {
                //TODO failed payment (return)
                return redirect(url('/'));
            }
        } catch (Exception $e) {
            echo $e->getMessage();
        }

همونطور که میبینین فعلا واسه تست من بعد از اون if توی else گفتم return redirect(url('/'))
میخوام به این صفحه منتقل بشه

آنلاین
user-avatar
حسام موسوی
2 هفته پیش

درود بر شما اینو در جلسات بعدی کار کردیم ولی کد زیر رو میبینید

    echo $e->getMessage();

به جای این میتونید redirect رو انجام بدید

آفلاین
user-avatar
waltun
2 هفته پیش

این کار رو انجام دادم ولی بازم همونجوری میشد، اینک کد جدید :

try {
            if ($payping->verify($request->refid, 1000)) {
                $payment->update([
                    'status' => 1
                ]);

                $payment->order()->update([
                    'status' => 'paid'
                ]);

                //TODO success payment (return)
                return redirect(route('profile.orders'));
            }
        } catch (Exception $e) {
            return redirect(url('/'));
        }

کلا باید اون catch رو هم بر دارم ؟

آنلاین
user-avatar
حسام موسوی
2 هفته پیش

نه چرا بردارید ؟

آفلاین
user-avatar
waltun
2 هفته پیش

نه درست شد مشکلش این بود قبل Extention باید یه \ میذاشتم

آفلاین
user-avatar
محمد رضا اجلالی
3 هفته پیش

سلام مهندس، وقتتون بخیر لطفا فایل این قسمت و قسمت های بعدی رو قرار بدید(در صورت داشتن).بعضی از دوستان مثل خود بنده بعد از ویدیو کد هارو باز میکنم و تجزیه وتحلیل میکنم که بهتر و واضح تر متوجه بشم. و دید کلی ویدیو رو داخل کد ها متوجه میشم.ممنونم

آنلاین
user-avatar
حسام موسوی
3 هفته پیش

درود کد جلسات هم پیوست شد و میتونید استفاده بفرمایید

آفلاین
user-avatar
salar72
4 هفته پیش

سلام و وقت به خیر
اگر بخوایم که در زمانی که پرداخت موفقیت آمیز باشه تعداد سفارش شده از هر محصول که سفارشش پرداخت شده رو از تعداد موجودی محصول در جدول محصول کم کنیم چه کار کنیم موسوی جان؟

آنلاین
user-avatar
حسام موسوی
4 هفته پیش

سلام در اون قسمتی که گفتم در این جلسه حالا که تایید شد هر کاری میخوای میتونید انجام بدید
خیلی راحت میتونید با روابط موجود چنین کاری رو انجام بدید
حالا من سعی میکنم در جلسات آینده به این موضوع که فراموش کردم در همین جلسه بگم هم اشاره کنم

آفلاین
user-avatar
Ali_Gh
2 هفته پیش

سلام استاد من به صورت زیر پیاده سازیش کردم و کار هم کرد اگه کد بهتری مد نظرتونه بگید

                $products = $payment->order()->first()->products()->get()->all();
                foreach($products as $product){
                    $option = $product->orders()->pluck('quantity')->last();
                    $product->update([
                        'inventory' => $product['inventory'] - $option
                    ]);
                }
آفلاین
user-avatar
Ali_Gh
2 هفته پیش

خوب کد رو یکم ساده تر کردم

            $products = $payment->order->products;
            foreach($products as $product){
                $quantity = $product->pivot->quantity;
                $product->update([
                    'inventory' => $product['inventory'] - $quantity
                ]);
            }

و اینکه برا اینکه از pivot دسترسی داشته باشیم به quantity باید در مدل Order رمون متد products به صورت زیر بشه

    public function products()
    {
        return $this->belongsToMany(Product::class)->withPivot('quantity');
    }
آفلاین
user-avatar
ZR
4 هفته پیش

سلام.
در مورد اعمال کد تخفیف برای محصولات و همچنین نحوه استفاده از پکیج های اماده درگاه های بانکی هم توضیح بدین لطفا

آنلاین
user-avatar
حسام موسوی
4 هفته پیش

سلام درباره این موارد هم صحبت میشه

آفلاین
user-avatar
محمد مهدی
4 هفته پیش

سلام، وقت بخیر

جلسه قبل ما کاری که کردیم این طوری بود که اگه ما سبد خریدی داشته باشیم و حالا بریم به صفحه پرداخت کوکی ها حذف میشه و چه پرداخت موفقیت آمیز باشه یا نباشه سبد خرید حذف میشه.

آیا در پروژه واقعی هم همین طوری باید عمل کنیم یا فقط در صورت موفق بودن کوکی رو حذف کنیم؟
راه بهتر چیه؟

آنلاین
user-avatar
حسام موسوی
4 هفته پیش

بله در پروژه واقعی هم باید همین کارو کنیم حالا بازم نکته وجود داره که تا اخر این بخش رو ببینید متوجه میشید