shetabit / payment

simple laravel payment package , supports multiple drivers
MIT License
840 stars 140 forks source link

مشکل کال بک درگاه پارسیان #290

Closed ftf92 closed 1 year ago

ftf92 commented 1 year ago

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

khanzadimahdi commented 1 year ago

دوست گرامی مشکل رو باید با درگاه حل کنید! این مشکل به پکیج مربوط نمیشه.

MohammadGhorayshi commented 5 months ago

سلام وقت بخیر یه مشکلی که توی درگاه پارسیان هست این قطعه کده که باعث میشه همیشه ارور نمایش بده وقتی این قطعه کد را کامنت میکنم درست میشه: توی مسیر زیر: vendor/shetabit/multipay/src/Drivers/Parsian

توی متد verify

$status = Request::input('status');
$token = Request::input('Token');
if ($status != 0 || empty($token)) {
    throw new InvalidPaymentException('تراکنش توسط کاربر کنسل شده است.');
}

توی مستندات جایی ذکر نشده که چجوری token و status را بفرستیم برای همین همیشه توی کال بک ارور کنسلی نمایش میده

Payment::via('parsian')->config('merchantId', $merchantId)->amount($amount)->transactionId($transaction_id)->verify();