Your IP : 216.73.216.79


Current Path : /var/www/html/ssr26/frontend/runtime/frontendpage/
Upload File :
Current File : /var/www/html/ssr26/frontend/runtime/frontendpage/104_1775018402094152000-setup.php

<?php 
/*** PAGE_SETUP ***/
use common\components\Sanitize;
use common\components\payment\PaymentProxy;
use common\components\payment\provider\ToyyibPay;
use backend\modules\payment\models\Payment;

//date default time zone
date_default_timezone_set('Asia/Kuala_Lumpur');

$title = 'Fpx Return';
$pagetitle = 'Fpx Return';

$gatewayUrl = (new ToyyibPay())->environment('dev');
    
$get = Yii::$app->request->get();

$get = Sanitize::cast_arr($get, [
            'status_id' => 'int',
            'billcode' => 'string',
            'order_id' => 'string',
            'transaction_id' => 'string',
            'msg' => 'string'
        ]);
        
extract($get);

if(!isset($order_id) || empty($order_id) || !isset($status_id)) {
    // return Yii::$app->response->redirect(['/main/404'])->send();
    var_dump($get);
    die('Invalid Parameter');
}

$pay = Payment::find()->where(['payment_gateway_order_id' => $order_id])->one();


if(empty($pay)) {
    // return Yii::$app->response->redirect(['/main/404'])->send();
    die('Invalid orderid');
}
            
// payment status
if ( (int) $status_id === 1) {
    $statuslabel = 'verified';
} else if ( (int) $status_id === 2) {
    $statuslabel = 'pending';
} else if ( (int) $status_id === 3) {
    $statuslabel = 'failed';
} else {
    $statuslabel = 'pendingverified';
}

$receipt  = PaymentProxy::generateReceiptNo($pay->payment_id, $pay->payment_payer_id_no);

if ($pay->payment_gateway_status === null) {

    $pay->payment_receipt_no = $receipt;
    $pay->payment_gateway_reason = $msg;
    $pay->payment_gateway_refno = $transaction_id;
    $pay->payment_gateway_status = $status_id;
    $pay->payment_gateway_code = $billcode;
    $pay->payment_status = $statuslabel;
    $pay->payment_gateway_transaction_time = date('Y-m-d H:i:s');
    
    if(!$pay->save()) {
        die('Cannot Update Payment information');
    } 
}
?>