سلام من درگاهو با زرین پال پیاده کردم کامل فقط یه مشکل هست اونم این که من مقدار هزینه رو توی سشن گذاشتم و اونو توی متد amount خود زرین پال استفاده کردم ولی ارور میده که باید عددی باشه!
وقتی ریترنش میکنم عدد رو نشون میده و وقتی یه مقدار دیفالت مثلا 1000 میزارم کار میکنه
اینم کد:
//        return Session::get('cost');
        return Payment::purchase(
            (new Invoice)->amount(Session::get('cost')),
            function ($driver, $transactionId) {
                Session::put('transactionId', $transactionId);
                $payment = new \App\Payment();
                $payment->user_id = Auth::user()->id;
                $payment->payment_code = Session::get('payment_code');
                $payment->transaction_id = $transactionId;
                $payment->cost = Session::get('cost');
                $payment->date = Carbon::now();
                $payment->save();
                Session::put('payment_id', $payment->id);
                // Store transactionId in database.
                // We need the transactionId to verify payment in the future.
            }
        )->pay()->render();کسی میتونه کمک کنه؟
مقدار رو به عددی cast کنید. از type casting به صورت صریح استفاده کنید. کدتون به حالت زیر تغییر میکنه:
$amount = (int) Session::get('cost');
return Payment::purchase(
    (new Invoice)->amount($amount),
    function ($driver, $transactionId) {
        Session::put('transactionId', $transactionId);
        $payment = new \App\Payment();
        $payment->user_id = Auth::user()->id;
        $payment->payment_code = Session::get('payment_code');
        $payment->transaction_id = $transactionId;
        $payment->cost = Session::get('cost');
        $payment->date = Carbon::now();
        $payment->save();
        Session::put('payment_id', $payment->id);
        // Store transactionId in database.
        // We need the transactionId to verify payment in the future.
    }
)->pay()->render();آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟