firstOrFail(); $payment = null; $message = null; $result = true; $paymentId = self::getPayment($invoice); $response = $gateway->verify(); $payment = $invoice->storeSuccessPayment($paymentId, $response['reference_id'], $response['card_number']); session(['card'=>serialize([])]); } catch (\Throwable $exception) { $result = false; $invoice->storeFailPayment($paymentId, $exception->getMessage()); $message = $exception->getMessage(); \Log::debug("Payment RESPONSE Fail For Gateway {$gateway->getName()} :" . $exception->getMessage() . " On Line {$exception->getLine()} Of File {$exception->getFile()}", ['request' => request()->all(), 'session' => request()->session()->all(), 'user' => request()->user(), 'payment_id' => $paymentId]); \Log::warning($exception->getTraceAsString()); } return view("payment.result",compact('invoice','payment','result','message')); } /** * @param Invoice $invoice * @return integer */ public static function getPayment($invoice) { $paymentId = session('payment_id'); if (empty($paymentId)) { $paymentId = $invoice->payments->last()->id; } return $paymentId; } }