سلام وقت بخیر
از طریق پکیج شتابیت میخوام از درگاه پارسیان استفاده میکنم
مشکلی که دارم وقتی پرداخت موفق انجام میدم پرداخت انجام میشه ولی کاربر به صفحه 404 هدایت میشه ! و بانک هم پول اصلاحیه میزنه !
در صورتی که روت وجود داره!
همین مشکل زمانی که کاربر روی دکمه انصراف از خرید میزد وجود داشت که با یه شرط مشکل رفع شد ولی برای پرداخت موفق این مشکل همچنان هست!
با پشتیبانی درگاه هم کانکت میشم میگن مشکل از کدنویسیه !
public function callback(Request $request)
{
return $request->all();
$status = $request->post('status',null);
if(is_null($status) || $status < 0)
{
return $request->all();
alert()->error('پرداخت شما موفق نبود');
return redirect('/cart');
}
$payment = Payment::where('resnumber', $request->OrderId)->firstOrFail();
// $payment->order->price
$receipt = ShetabitPayment::amount(1000)->transactionId($request->OrderId)->verify();
$payment->update([
'status' => 1
]);
$payment->order()->update([
'status' => 'paid'
]);
alert()->success('پرداخت شما موفق بود');
return redirect('/home');
}
خروجی جیسون
وقتی روی پرداخت میزنم ، پرداخت موفق انجام میشه ولی موقع کال بک 404 نمایش میده و بعد چند ساعت پول برگشت میخوره
// 20230802162748
// https://adressite.ir/payment/callback
{
"Token": "245977667814170",
"OrderId": "1646869822",
"TerminalNo": "98778419",
"RRN": "739245965915",
"status": "0",
"HashCardNumber": "845C4C8A0B03537E99B32B95CE67D1838B7E891AC1A405F08A6A52468CBF2B20",
"Amount": "10,000",
"SwAmount": null,
"STraceNo": "104962",
"DiscoutedProduct": null
}
حالا تو مستندات به شکل زیر گفته که پرداخت موفق استاتوس 2 برگشت میده
ولی برای من 0 نمایش میده
لطفا اگر کسی میدونه راهنمایی کنه
خیلی وقته درگیرشم ولی حل نشده
درود بر شما ، مقدار same_site رو توی فایل session.php روی none قرار بدید و روت رو هم در میدلور VerifyCsrfToken در آرایه $except قرار بدید فکر می کنم مشکلتون حل بشه
سلام
ممکنه به خاطر اینکه resnumber وجود ندارد 404 بهت میده
$payment = Payment::where('resnumber', $request->OrderId)->firstOrFail();
و علت برگشت پول هم وریفای نشدن تراکنش هست
@assadiehsan
اینکارو قبلا انجام دادم ولی مشکل حل نشده
@daniyalx77
مقدار resnumber توی دیتابیس ثبت میشه ولی استاتوس تغییر نمیکنه
@paradox
از این dd بگیر ببین توجدولت وجود دارد
$request->OrderId
استاتوس نباید تغییر کنه چون به اون خط از کدت نمیرسی
@daniyalx77
انصراف از خرید
"2896520573" // app/Http/Controllers/frontend/PaymentController.php:55
پرداخت موفق
"816199963" // app/Http/Controllers/frontend/PaymentController.php:55
@paradox
قبل از ارسال اطلاعات به بانک dd بگیر وبعد از پرداخت موفق هم dd بگیر ببین کدوم اطلاعاتش تغییر نمیکنه اون رو تو دیتابیش ذخیره کن و از اون استفاد ه کن
و تا وریفای نشه فکر کنم پرداخت ناموفق حساب میشه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟