$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) { PaymentFailureMailer::dispatch($this->wepay_payment_driver->client, $response->state, $this->wepay_payment_driver->client->company, $response->amount); PaymentFailureMailer::dispatch( $this->wepay_payment_driver->client, $response, $this->wepay_payment_driver->client->company, $response->gross ); $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); } }