محسن شرفی
4 سال پیش توسط محسن شرفی مطرح شد
0 پاسخ

خطای عدم تطابق مبلغ تراکنش با مبلغ پرداختی در پ

سلام وقت بخیر خسته نباشید من چندین محصول رو به درگاه پرداخت اضافه میکنم با پکیج شتابیت ولی خطای عدم تطابق مبلغ تراکنش با مبلغ پرداختی رو میده ۱ ماهه منو درگیر کرده لطفا کمکم کنید ممنون. تو دیتابیس هر چند تا محصول ک من میخوام اضافه میشه ولی وقتی dd میگرم آخرین مقدار رو میاره ک طبیعتا خطای عدم تطابق رو میده.
این هم از کدای پرچیس
public function purchase()
{
try {
$total = 0;
$cartItems = Cart::where('userid', Auth::id())->get();
$invoice = new Invoice();
foreach ($cartItems as $item) {

            $invoice->amount($total+= $item->course->price);
            $user = Auth::user();
            $paymentId = md5(uniqid());
            $transaction = $user->transactions()->create([
                'course_id' => $item->course_id,
                'paid' => $item->course->price,
                'invoice_details' => $invoice,
                'payment_id' => $paymentId
            ]);
            $callbackUrl = route('purchase.result', ['payment_id' => $paymentId]);
            $payment = \Shetabit\Payment\Facade\Payment::callbackUrl($callbackUrl);
            $payment->purchase($invoice, function ($driver, $transactionId) use ($transaction) {
                $transaction->transaction_id = $transactionId;
                $transaction->save();
            });
        }
        return $payment->pay()->render();

    } catch (PurchaseFailedException|\Exception|\SoapFault $e) {
        $transaction->transaction_result = [
            'message' => $e->getMessage(),
            'code' => $e->getCode(),
        ];

        $transaction->save();
        return view('purchase.result')->with([
            'message' => $e->getMessage(),
            'code' => $e->getCode(),
        ]);
    }
}