App\Http\Controllers\OnlinePaymentController::doPayment PHP Method

doPayment() public method

public doPayment ( CreateOnlinePaymentRequest $request ) : Illuminate\Http\RedirectResponse
$request App\Http\Requests\CreateOnlinePaymentRequest
return Illuminate\Http\RedirectResponse
    public function doPayment(CreateOnlinePaymentRequest $request)
    {
        $invitation = $request->invitation;
        $gatewayTypeId = Session::get($invitation->id . 'gateway_type');
        $paymentDriver = $invitation->account->paymentDriver($invitation, $gatewayTypeId);
        if (!$invitation->invoice->canBePaid()) {
            return redirect()->to('view/' . $invitation->invitation_key);
        }
        try {
            $paymentDriver->completeOnsitePurchase($request->all());
            if ($paymentDriver->isTwoStep()) {
                Session::flash('warning', trans('texts.bank_account_verification_next_steps'));
            } else {
                Session::flash('message', trans('texts.applied_payment'));
            }
            return redirect()->to('view/' . $invitation->invitation_key);
        } catch (Exception $exception) {
            return $this->error($paymentDriver, $exception, true);
        }
    }