403Webshell
Server IP : 34.87.99.72  /  Your IP : 216.73.217.31
Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n
System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
User : bitnami ( 1000)
PHP Version : 7.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /opt/bitnami/apache/htdocs/app/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/bitnami/apache/htdocs/app/app/Http/Controllers/PaymentRecordController.php
<?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Http\Requests\IdOnlyRequest;
use App\Http\Requests\PaymentRecords\ListRequest as PaymentRecordistRequest;
use App\Http\Requests\PaymentRecords\ExportPaymentRecordRequest as ExportPaymentRecordRequest;
use App\Http\Requests\PaymentRecords\ReadyTopUpCreditRequest;
use App\Http\Services\PaymentRecordService;
use App\Models\PaymentRecord;
use Auth;
use DB;
use Illuminate\Http\Request;
use IPay88\Responses\Response as IPay88Response;

class PaymentRecordController extends Controller
{
	public function __construct(
		PaymentRecordService $paymentRecordService
	)
	{
		$this->paymentRecordService = $paymentRecordService;
	}

#################################### START IPAY88 CORE FUNCTIONS  #######################################

	public function webView(Request $request)
	{
		$paymentRecord = PaymentRecord::where('unique_id', $request->pid)->firstOrFail();

		return $paymentRecord->toIPay88Request()->loadPaymentFormView();
	}

	public function handleResponseCallback(Request $request)
	{
		// info( $request );

		$payload = $request->toArray();

		return DB::transaction(function () use ($payload)
		{	
			$response = new IPay88Response($payload);

			if($response->isSuccess()){

				$this->paymentRecordService->paymentSuccessful($payload);

				return redirect('/payment/status/success?'.http_build_query([
					'msg' => "Thank you for payment",
				]));
			}

			$this->paymentRecordService->paymentFailed($payload);

			return redirect('/payment/status/failed?'.http_build_query([
				'msg' => 'PaymentRecord fail',
				'desc' => $payload['ErrDesc']
			]));
		});
	}

	public function handleBackendCallback(Request $request)
	{
		// info("handleBackendCallback", $request->toArray() );

		$payload = $request->toArray();

		return DB::transaction(function () use ($payload)
		{
			$response = new IPay88Response($payload);

			if($response->isSuccess()){

				$this->paymentRecordService->paymentSuccessful($payload);

				return "RECEIVEOK";
			}

			$this->paymentRecordService->paymentFailed($payload);

			return null;
		});
	}

	public function requery(IdOnlyRequest $request)
	{
		return DB::transaction(function () use ($request)
		{
			$result = $this->paymentRecordService->requery( $request->validated() );

			return self::successResponse("Success", $result);
		});
	}

#################################### END IPAY88 CORE FUNCTIONS  #######################################

	public function listPaymentRecord(PaymentRecordistRequest $request)
	{
		$payload = $request->validated();

		$creditItems = $this->paymentRecordService->listPaymentRecord( $payload );

		return self::successResponse('Success', $creditItems );
	}

	public function exportPaymentRecordList(ExportPaymentRecordRequest $request)
	{
		$payload = $request->validated();

		$paymentRecords = $this->paymentRecordService->exportPaymentRecordList( $payload );

		return self::successResponse('Success', $paymentRecords);
	}

	/**
	* @OA\Post(
	*
	*	path="/api/payment-record/ready/top-up-credit",
	*	operationId="readyTopUpCredit",
	*	tags={"PaymentRecord"},
	*	summary="readyTopUpCredit",
	*	security={
	*		{
	*			"open_key": {}
	*		},
	*		{
	*			"api_key": {}
	*		}
	*	},
	*	@OA\Parameter(
	*		name="remark",
	*		description="remark",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default=""
	*		)
	*	),
	*	@OA\Parameter(
	*		name="amount",
	*		description="amount",
	*		in="query",
	*		@OA\Schema(
	*			type="string",
	*			default=""
	*		)
	*	),
	*	@OA\Response(
	*		response=200,
	*		description="Success",
	*		@OA\JsonContent()
	*	),
	*	@OA\Response(response=400, description="Bad request"),
	*	@OA\Response(response=404, description="Resource Not Found"),
	*	@OA\Response(response=422, description="Unprocessable Entity"),
	*	@OA\Response(response=500, description="Internal Server Error"),
	* )
	*/
	public function readyTopUpCredit(ReadyTopUpCreditRequest $request)
	{
		$payload = $request->validated();

		$paymentRecord = $this->paymentRecordService->readyTopUpCredit(Auth::user(), $payload);

		$paymentRecord_url = route("payment-webview", [ "pid" => $paymentRecord->unique_id, ]);

		return self::successResponse("Success",[
			"payment_url" => $paymentRecord_url,
			"payment_record" => $paymentRecord
		]);
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit