راکت

مشکل درگاه

8 پاسخ

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

لطفا اگر کسی میدونه راهنمایی کنه
خیلی وقته درگیرشم ولی حل نشده

ثبت پرسش جدید

پاسخ‌ها

8
احسان اسدی
احسان اسدی
@assadiehsan

تخصص: برنامه نویس Back-end

درود بر شما ، مقدار same_site رو توی فایل session.php روی none قرار بدید و روت رو هم در میدلور VerifyCsrfToken در آرایه $except قرار بدید فکر می کنم مشکلتون حل بشه

Daniyal Amiri
Daniyal Amiri
@daniyalx77

سلام
ممکنه به خاطر اینکه resnumber وجود ندارد 404 بهت میده

        $payment = Payment::where('resnumber', $request->OrderId)->firstOrFail();

و علت برگشت پول هم وریفای نشدن تراکنش هست

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

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@assadiehsan
اینکارو قبلا انجام دادم ولی مشکل حل نشده

@daniyalx77
مقدار resnumber توی دیتابیس ثبت میشه ولی استاتوس تغییر نمیکنه

Daniyal Amiri
Daniyal Amiri
@daniyalx77

@paradox
از این dd بگیر ببین توجدولت وجود دارد

 $request->OrderId

استاتوس نباید تغییر کنه چون به اون خط از کدت نمیرسی

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

@daniyalx77
انصراف از خرید

"2896520573" // app/Http/Controllers/frontend/PaymentController.php:55

پرداخت موفق

"816199963" // app/Http/Controllers/frontend/PaymentController.php:55
Paradox
Paradox
@paradox

تخصص: در حال یادگیری

تو مستندات پارسیان تراکنش موفق 2 زده
ولی همش 0 برمیگرده مقدار استاتوس
دلیلش چیه ؟

Daniyal Amiri
Daniyal Amiri
@daniyalx77

@paradox
قبل از ارسال اطلاعات به بانک dd بگیر وبعد از پرداخت موفق هم dd بگیر ببین کدوم اطلاعاتش تغییر نمیکنه اون رو تو دیتابیش ذخیره کن و از اون استفاد ه کن
و تا وریفای نشه فکر کنم پرداخت ناموفق حساب میشه

پیام یزدانیان
پیام یزدانیان
@payam_yazdanian

درود
بخش وریفای را پیاده کنید.

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

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