سعید رضازاده
2 روز پیش توسط سعید رضازاده مطرح شد
0 پاسخ

مشکل در تایید پرداخت با شتابی

دوستان من از پکیج شتابیت استفاده میکنم
مشکل اینجاست که بعضی مواقع پول رو از پرداخت کننده کم میکنه ولی روی سایت وضعیت پرداخت تایید نمیشه
فانکشن کال بک رو میزارم براتون
لطفا کمک کنین

'''
public function callBack(Request $request){

    $transaction_id= (int)$request->Authority;

    try {
        $payment = \App\Models\Payment::where('transaction_id',$transaction_id)->latest()->first();
        $cart = Cart::where('id',$payment->cart_id)->first();

        $receipt = Payment::via($payment->port)->amount($payment->price)->transactionId($transaction_id)->verify();

        if ($receipt && $receipt->getReferenceId()) {

            $ReferenceId=$receipt->getReferenceId();
            $Date=$receipt->getDate();

            $cart->orderLogs()->create([
                'status' => 0,
                'text' => 'تراکنش تایید شد.کد رهگیری: :'.$ReferenceId
            ]);

            $payment->update([
                'ref_id' => $ReferenceId,
                'status' => 'SUCCEED',
                'result_message' => 'SUCCEED',
                'payment_date' => $Date,
            ]);

            $cart->update([
                'tracking_code' => $ReferenceId,
                'pay_status' => 1,
                'paid_price' => $payment->price,
                'transactions_id' => $payment->id

            ]);

            $cart->cartAddress()->create([
                'province_id'=> $cart->address->province_id,
                'city_id'=> $cart->address->city_id,
                'name'=> $cart->address->name,
                'address'=> $cart->address->address,
                'postal_code'=> $cart->address->postal_code,
                'location'=> $cart->address->location,
                'phone'=> $cart->address->phone,
            ]);

        }else{

            $cart->orderLogs()->create([
                'status' => 0,
                'text' => 'مشکل در تایید تراکنش در بانک : شماره تراکنش :'.$transaction_id
            ]);

            return "مشکل در تایید تراکنش در بانک.شماره تراکنش:".$transaction_id;

        }

        $date = Jalalian::forge($receipt->getDate())->format('Y/m/d H:i');

        $cart->orderLogs()->create([
            'status' => 0,
            'text' => 'پرداخت سبد خرید|زمان :'.$date
        ]);

        ultraFastSend([
            'order_id' => "$cart->id",
        ], config('sms.new_order'), $cart->user->mobile);

        foreach (config('website.manager_mobile') as $mobile){
            ultraFastSend([
                'user_name' => $cart->user->name,
                'date' => "$date",
            ], config('sms.manager_order_alert'), $mobile);
        }

        session()->flash('pay-success');
        return redirect(route('orders.show',$cart));

    } catch (InvalidPaymentException $exception) {
        /**
        when payment is not verified, it will throw an exception.
        We can catch the exception to handle invalid payments.
        getMessage method, returns a suitable message that can be used in user interface.
         **/

        $transID =null;
        $message = $exception->getMessage();
        return view('cart.payment_failed',compact('message','transID'));

    }
}

'''


ثبت پرسش جدید

به همدیگه کمک کنیم

به سعید رضازاده کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

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

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