$payment_type, 'amount' => $response->amount, 'transaction_reference' => $response->checkout_id, 'gateway_type_id' => $gateway_type, ]; $payment = $this->wepay_payment_driver->createPayment($data, $payment_status); SystemLogger::dispatch( ['response' => $this->wepay_payment_driver->payment_hash->data->server_response, 'data' => $data], SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_SUCCESS, SystemLog::TYPE_WEPAY, $this->wepay_payment_driver->client, $this->wepay_payment_driver->client->company, ); if ($return_payment) { return $payment; } return redirect()->route('client.payments.show', ['payment' => $this->wepay_payment_driver->encodePrimaryKey($payment->id)]); } private function processUnSuccessfulPayment($response, $payment_status) { $this->wepay_payment_driver->sendFailureMail($response->state); $message = [ 'server_response' => $response, 'data' => $this->wepay_payment_driver->payment_hash->data, ]; SystemLogger::dispatch( $message, SystemLog::CATEGORY_GATEWAY_RESPONSE, SystemLog::EVENT_GATEWAY_FAILURE, SystemLog::TYPE_WEPAY, $this->wepay_payment_driver->client, $this->wepay_payment_driver->client->company, ); throw new PaymentFailed('Failed to process the payment.', 500); } }