محمد حسین وفق
5 سال پیش توسط محمد حسین وفق مطرح شد
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);
        }
        }
    }

ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

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


محمد حسین وفق
تخصص : پشتیبان وب سایت
@mrvefgh 5 سال پیش مطرح شد
0

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

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


محمد حسین وفق
تخصص : پشتیبان وب سایت
@mrvefgh 5 سال پیش مطرح شد
0

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


محمد حسین وفق
تخصص : پشتیبان وب سایت
@mrvefgh 5 سال پیش مطرح شد
0

من ی قسمت دارم پرداخت در محل اون کاربر میزنه کامل اطلاعاتش ذخیره میکنم اما اینو نمیدونم کدوم شرط باید در جدول 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 5 سال پیش مطرح شد
0
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 5 سال پیش مطرح شد
0

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


محمد حسین وفق
تخصص : پشتیبان وب سایت
@mrvefgh 5 سال پیش مطرح شد
0

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


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

علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

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

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


محمد حسین وفق
تخصص : پشتیبان وب سایت
@mrvefgh 5 سال پیش آپدیت شد
0

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

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


محمد حسین وفق
تخصص : پشتیبان وب سایت
@mrvefgh 5 سال پیش مطرح شد
0

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


محمد حسین وفق
تخصص : پشتیبان وب سایت
@mrvefgh 5 سال پیش مطرح شد
0

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


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

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

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

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

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