⏳ افزایش قیمت‌ | آخرین فرصت خرید دوره‌های برنامه‌نویسی با قیمت سال قبل با => ۶۵٪ تخفیف

مشاهده دوره‌ها
Paradox
12 ساعت پیش توسط Paradox مطرح شد
0 پاسخ

مشکل درگاه پرداخت پی پینگ

سلام وقت بخیر خدمت همگی
من از پکیج درگاه پرداخت پیپینگ استفاده میکنم ، قبلا هیچ مشکلی نداشت ولی الان وقتی به درگاه متصل میشم و روی دکمه انصراف میزنم این خطا رو میده
داده های ارسالی نامعتبر است. اطلاعات مورد نظر یافت نشد.

وقتی رو پرداخت میزنم موجودی کسر میشه بعد چندساعت تراکنش ها اصلاحیه میزنه به حسابم ،
و این خطا رو میده
اطلاعات پرداخت نامعتبر می باشد.
من روی لوکال دارم تست میگیرم
این کدهای منه

    public function payment()
    {
        $cart = Cart::instance('cart-shop');
        $cartitems = $cart->all();

        if ($cartitems->count()) {

            $price = $cartitems->sum(function ($cart) {
                return $cart['product']->price * $cart['quantity'];
            });

            $orderitems = $cartitems->mapWithKeys(function ($cart) {
                return [$cart['product']->id => ['quantity' => $cart['quantity']]];
            });

            $order = \auth()->user()->orders()->create([
                'status' => 'unpaid',
                'price' => $price,
            ]);

            $order->products()->attach($orderitems);

            $token = \config('services.payping.token');
            $args_number = Str::random(16);
            $args = [
                // "amount" => $price,
                "amount" => 1000,
                "payerName" => auth()->user()->name,
                "returnUrl" => route('payment.callback'),
                "clientRefId" => $args_number,
            ];

            $payment = new \PayPing\Payment($token);

            try {
                $payment->pay($args);
            } catch (Exception $e) {
                throw $e;
            }

            $order->payments()->create([
                'resnumber' => $args_number,
                'price' => $price,
            ]);

            $cart->flush();

            return \redirect($payment->getPayUrl());
        }

        return \back();
    }

    public function callBack(Request $request)
    {
        // return $request->all();

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

        $token = \config('services.payping.token');

        $payping = new \PayPing\Payment($token);

        try {
            // $payment->price 
            if ($payping->verify($request->refid, 1000)) {

                $payment->update([
                    'status' => 1
                ]);

                $payment->order()->update([
                    'status' => 'paid',
                ]);

                alert()->success('پرداخت با موفقیت انجام شد');
                return \redirect('/products');

            } else {
                alert()->error('پرداخت تایید نشد');
                return \redirect('/products');
            }
        } catch (Exception $e) {
            $errors = \collect(\json_decode($e->getMessage() , \true));
            alert()->error($errors->first());
            return \redirect('/products');
        }
    }

خود پیپینگ میگه : شما متد وریفای رو اشتباه کال میکنید. وقتی پرداخت روی درگاه ناموفقه یا کنسل میشه، نباید دیگه متد وریفای رو کال کنین
برای خطای دوم هم باید توی متد وریفای کدپرداخت رو هم ارسال کنید.

من هر تغییری توی کد ایجاد کردم موفق نشدم ولی این کدهایی که فرستادم کدقبل من هست که بدون مشکل کار میکرد قبلا


ثبت پرسش جدید

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

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

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

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