راکت
حل شده

درگاه پرداخت پارسیان

14 پاسخ

با سلام و خسته نباشید من مشکلی که دارم اینه که وقتی کاربر پرداختی انجام میده میخوام در جدول order ثبت بشه اما کد که دارم کد زیر چه تغییرات باید لحاظ کنم

public function verify_parsian(Request $request){
        if ($request->isMethod('post')) {
            $data = $request->all();

            $PIN = '';
            $LoginAccount   = $PIN;// Required
         if (!$request->get('status',null) || !$request->get('Token',null)){
             dd('ERROR');
         }

        $soapClient = new \SoapClient('https://pec.shaparak.ir/NewIPGServices/Confirm/ConfirmService.asmx?wsdl');
        $result = $soapClient->ConfirmPayment(array("requestData" => 
            array(
                'LoginAccount'      => $LoginAccount,  
                'Token'             => $request->get('Token')
            ),
        ));
        $result=$result->ConfirmPaymentResult;

        if ($result->Status==0 && $result->RRN!=''){

            $bankReference=$result->RRN;
            $cardNumberMasked=$result->CardNumberMasked;

            dd('Success Payment : شماره مرجع پرداخت بانکی : '.$bankReference);
            return view('orders.thanks',compact('bankReference','cardNumberMasked'));

        }else{
            //return redirect()->back()->with('flash_message_error','لطفاً همه موارد را برای پرداخت کامل کنید!');
             return view('orders.cancel_payment')->with('flash_message_error','یک مشکل در پرداخت وجود دارد لطفا از بخش ارتباط با ما به ما خبر بدهید!');
            dd('Failed : '.$result->Status);
        }
        }
    }
ثبت پرسش جدید

پاسخ‌ها

14
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

بهترین پاسخ

به نظر نمیرسه مشکلی باشه.. اما ۱۰۰٪ نمیشه گفت.
شما الان زمانی کدهارو اجرا می‌کنید، آیا خطایی هم دارید؟

محمد حسین وفق
محمد حسین وفق
@mrvefgh

تخصص: پشتیبان وب سایت

فقط دوستان توجه کنید من پرداخت با موفقیت انجام میشه ولی میخوام به کاربرانم پرداختی هایشان را نمایش بدهم در این کد باید در جدول order مقادیر را ذخیره کنم ممنون میشم راهنمایی کنید.

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

درود
اگر مدل Order رو ندارید ابتدا بسازیدش.
پس از اینکه پرداخت با موفقیت انجام شد... و قبل از اینکه view رو برگردونید.. از مدل Order استفاده کنید و اطلاعات پرداخت و سفارش رو درش ذخیره کنید

شاید پاسخ شما همین‌جا باشد

محمد حسین وفق
محمد حسین وفق
@mrvefgh

تخصص: پشتیبان وب سایت

مدلش دارم ولی این تابع متوجه نمیشم نمیدونم کجا باید در مدل order مقادیر وارد کنم

محمد حسین وفق
محمد حسین وفق
@mrvefgh

تخصص: پشتیبان وب سایت

من ی قسمت دارم پرداخت در محل اون کاربر میزنه کامل اطلاعاتش ذخیره میکنم اما اینو نمیدونم کدوم شرط باید در جدول order ذخیره کنم @ali.bayat

if ($result->Status==0 && $result->RRN!=''){

            $bankReference=$result->RRN;
            $cardNumberMasked=$result->CardNumberMasked;

            dd('Success Payment : شماره مرجع پرداخت بانکی : '.$bankReference);
            return view('orders.thanks',compact('bankReference','cardNumberMasked'));

        }else{
            //return redirect()->back()->with('flash_message_error','لطفاً همه موارد را برای پرداخت کامل کنید!');
             return view('orders.cancel_payment')->with('flash_message_error','یک مشکل در پرداخت وجود دارد لطفا از بخش ارتباط با ما به ما خبر بدهید!');
            dd('Failed : '.$result->Status);
        }
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

if ($result->Status==0 && $result->RRN!=''){

            $bankReference=$result->RRN;
            $cardNumberMasked=$result->CardNumberMasked;

            dd('Success Payment : شماره مرجع پرداخت بانکی : '.$bankReference);

    // ذخیره در مدل

            return view('orders.thanks',compact('bankReference','cardNumberMasked'));

        }else{
            //return redirect()->back()->with('flash_message_error','لطفاً همه موارد را برای پرداخت کامل کنید!');
             return view('orders.cancel_payment')->with('flash_message_error','یک مشکل در پرداخت وجود دارد لطفا از بخش ارتباط با ما به ما خبر بدهید!');
            dd('Failed : '.$result->Status);
        }
محمد حسین وفق
محمد حسین وفق
@mrvefgh

تخصص: پشتیبان وب سایت

میشه در مورد تابع بیشتر توضیح بدهید تابع اول که گذاشتم @ali.bayat

محمد حسین وفق
محمد حسین وفق
@mrvefgh

تخصص: پشتیبان وب سایت

میخوام بدونم تابع callback مشکلی نداره من پرداختم انجام میشه و خطا به من نشون میده یعنی شرط else

محمد حسین وفق
محمد حسین وفق
@mrvefgh

تخصص: پشتیبان وب سایت

}else{
            //return redirect()->back()->with('flash_message_error','لطفاً همه موارد را برای پرداخت کامل کنید!');
             return view('orders.cancel_payment')->with('flash_message_error','یک مشکل در پرداخت وجود دارد لطفا از بخش ارتباط با ما به ما خبر بدهید!');
            dd('Failed : '.$result->Status);
        }
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

در تابعی که شما گذاشتید ابتدا چک میشه که درخواست از نوع POST باشه
سپس توکن و استاتوس چک میشند
اگر همه چی درست بود.. درخواست پرداخت از طریق SOAP فرستاده میشه

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

محمد حسین وفق
محمد حسین وفق
@mrvefgh

تخصص: پشتیبان وب سایت

پس اقای بیات @ali.bayat در تابع من هیچ مشکلی نیست و من فقط تابع ساخت مقادیرم در جدول order قرار دهم مثل تابع پرداخت در محل خودم؟

محمد حسین وفق
محمد حسین وفق
@mrvefgh

تخصص: پشتیبان وب سایت

پرداخت تایید میشه اما تابع else برمیگرده

محمد حسین وفق
محمد حسین وفق
@mrvefgh

تخصص: پشتیبان وب سایت

ممنون بازم بررسی میکنم ببینم تستش چطوریه

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

اگر پرداخت تایید میشه اما محتویات else برمیگرده.. باید شرط زیر رو تغییر بدید:

if ($result->Status==0 && $result->RRN!=''){

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

ورود یا ثبت‌نام