| Current Path : /var/www/html/ssr26/frontend/runtime/frontendpage/ |
| 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');
}
}
?>