سلام
وقت شما بخیر
برای بررسی صحت اطلاعات تراکنش مالی از طریق اتصال به بانک سامان و دریافت خروجی True/False نیاز به راهنمایی دارم.
فرم رو در حد مبتدی نوشتم. از همکاران عزیز اگر کسی اطلاعات در رابطه با این موضوع داره لطفا راهنمایی کنه.
<form action="" method="POST">
<div role="main" class="row">
<div class="col-12">
<h1 class="form-header h4">فرم کارت به کارت</h1>
<h2 class="h6">بررسی صحت اطلاعات کارت به کارت</h2>
</div>
<label class="form-label col-12"> اطلاعات واریز کننده </label>
<span class="form-sub-label-container col-6">
<label for="first_7"> نام </label>
<input type="text" id="first_7" name="name" class="form-control" size="10" value="" />
</span>
<div class="form-line col-6" data-type="control_time">
<label for="time"> زمان </label>
<input type="text" name="time" class="form-control" id="time">
</div>
<div class="form-line col-6" data-type="control_textbox">
<label for="4digits"> 4 رقم آخر کارت </label>
<input type="text" id="4digits" name="digist" class="form-control" />
</div>
<ldivi class="col-6" data-type="control_number">
<label for="amount"> مقدار </label>
<input type="text" id="amount" name="amount" class="form-control" size="30" value="" placeholder="مثال: 10000" />
</div>
<center><button type="submit" class="btn btn-success pr-5 pl-5 mt-2">ثبت</button></center>
</div>
</form>
معمولا تمام بانک ها یه متد verify یا اسمی مشابه رو دارند که میشه باهاش صحت تراکنش رو سنجید..
پیشنهاد میکنم بجای اینکه دستی این کارو انجام بدید از پکیج https://github.com/shetabit/payment استفاده کنید
این عالیه. فقط اگر امکانش هست در رابطه با نحوه ی استفاده و قرار دادن در فرم راهنمایی کنید
بعد از اینکه route بازگشتی رو مشخص کردی این تابع رو برای چک کردن مینویسی (چند پروژه قبلی من همه بانک سامان داشتند)
public function checker(Request $request)
{
if($request->RefNum == null)
{
//not success
return redirect()->to('/cart');
}
if($request->StateCode != 0)
{
//not success
return redirect()->to('/cart');
}
$dateshamsi = Verta::now();
$saman = Saman::where('refnumber','=',$request->RefNum)->first();
if(isset($saman)){
//not success
return redirect()->to('/cart');
}
Saman::create([
'user_id' => auth()->user()->id,
'statuscode' => $request->StateCode,
'resnumber' => $request->ResNum,
'mid' => $this->MerchantID,
'refnumber' => $request->RefNum,
'cid' => $request->CID,
'traceno' => $request->TRACENO,
'securepan' => $request->SecurePan,
'ip' => \request()->ip(),
'date' => $dateshamsi,
]);
$soapclient = new \SoapClient('https://sep.shaparak.ir/payments/referencepayment.asmx?WSDL');
$v = $soapclient->VerifyTransaction(
$request->RefNum,
$this->MerchantID
);
//price cart
$price = '';
if($v == $price)
{
$payments = Payment::where('user_id', '=' , auth()->user()->id)->where('resnumber','=',$request->ResNum)->get();
foreach($payments as $p)
{
$p->status = '1';
$p->save();
}
return redirect()->to('/cart/success');
}
//not success
return redirect()->to('/cart');
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟