با سلام و خسته نباشید من مشکلی که دارم اینه که وقتی کاربر پرداختی انجام میده میخوام در جدول 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);
}
}
}
به نظر نمیرسه مشکلی باشه.. اما ۱۰۰٪ نمیشه گفت.
شما الان زمانی کدهارو اجرا میکنید، آیا خطایی هم دارید؟
فقط دوستان توجه کنید من پرداخت با موفقیت انجام میشه ولی میخوام به کاربرانم پرداختی هایشان را نمایش بدهم در این کد باید در جدول order مقادیر را ذخیره کنم ممنون میشم راهنمایی کنید.
درود
اگر مدل Order رو ندارید ابتدا بسازیدش.
پس از اینکه پرداخت با موفقیت انجام شد... و قبل از اینکه view رو برگردونید.. از مدل Order استفاده کنید و اطلاعات پرداخت و سفارش رو درش ذخیره کنید
من ی قسمت دارم پرداخت در محل اون کاربر میزنه کامل اطلاعاتش ذخیره میکنم اما اینو نمیدونم کدوم شرط باید در جدول 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);
}
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);
}
میخوام بدونم تابع callback مشکلی نداره من پرداختم انجام میشه و خطا به من نشون میده یعنی شرط else
}else{
//return redirect()->back()->with('flash_message_error','لطفاً همه موارد را برای پرداخت کامل کنید!');
return view('orders.cancel_payment')->with('flash_message_error','یک مشکل در پرداخت وجود دارد لطفا از بخش ارتباط با ما به ما خبر بدهید!');
dd('Failed : '.$result->Status);
}
در تابعی که شما گذاشتید ابتدا چک میشه که درخواست از نوع POST باشه
سپس توکن و استاتوس چک میشند
اگر همه چی درست بود.. درخواست پرداخت از طریق SOAP فرستاده میشه
در صورتی که درخواست موفقیتآمیز باشه و پرداخت انجام بشه.. کاربر به صفحه پرداخت موفق ریدایرکت میشه و در غیر اینصورت به کاربر اطلاع داده میشه که مشکلی در حین پرداخت بوجود اومده
پس اقای بیات @ali.bayat در تابع من هیچ مشکلی نیست و من فقط تابع ساخت مقادیرم در جدول order قرار دهم مثل تابع پرداخت در محل خودم؟
به نظر نمیرسه مشکلی باشه.. اما ۱۰۰٪ نمیشه گفت.
شما الان زمانی کدهارو اجرا میکنید، آیا خطایی هم دارید؟
اگر پرداخت تایید میشه اما محتویات else برمیگرده.. باید شرط زیر رو تغییر بدید:
if ($result->Status==0 && $result->RRN!=''){
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟