// material-ui
import {
Grid,
Typography,
Stack,
Box
// Button,
// FormLabel,
} from '@mui/material';
import * as React from "react";
import * as HttpUtils from "utils/HttpUtils";
import * as UrlUtils from "utils/ApiPathConst";
// import { useNavigate } from "react-router-dom";
// import FpsIcon from "assets/images/icons/fps.svg";
// import { useLocation } from 'react-router-dom';
import {paymentPath} from "auth/utils";
// import {poll} from "utils/Utils";
import * as DateUtils from "utils/DateUtils"
import Loadable from 'components/Loadable';
const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent')));
const PaymentDetails = Loadable(React.lazy(() => import('../Details_Public/PaymentDetails')));
const DataGrid = Loadable(React.lazy(() => import('../Details_Public/DataGrid')));
import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png'
const BackgroundHead = {
backgroundImage: `url(${titleBackgroundImg})`,
width: '100%',
height: '100%',
backgroundSize: 'contain',
backgroundRepeat: 'no-repeat',
backgroundColor: '#0C489E',
backgroundPosition: 'right'
}
// ==============================|| DASHBOARD - DEFAULT ||============================== //
const Fpscallback = () => {
// const navigate = useNavigate()
// const location = useLocation();
// const [locationData, setLocationData] = React.useState({});
const [paymentData, setPaymentData] = React.useState({});
const [responeData, setResponeDataData] = React.useState({});
const [itemList, setItemList] = React.useState([]);
// const [paymentId, setPaymentId] = React.useState("");
const [transactionData, setTransactionData] = React.useState({});
// const [transactionDate, setTransactionDate] = React.useState("");
// const [transactionTime, setTransactionTime] = React.useState("");
const [onReady, setOnReady] = React.useState(false);
const paymentStatusApi = "/api/payment/status/";
React.useEffect(() => {
loadForm();
}, []);
React.useEffect(() => {
console.log(responeData)
if(Object.keys(responeData).length > 0){
setTransactionData(responeData)
}
}, [responeData]);
React.useEffect(() => {
// console.log(paymentData)
console.log(transactionData)
if(Object.keys(transactionData).length > 0 ){
setOnReady(true);
}
}, [transactionData]);
const loadForm = () => {
const params = new URLSearchParams(window.location.search);
let transactionid = params.get("TRANSACTION_ID")
let webtoken = params.get("WEB_TOKEN")
let paymentId = params.get("PAYMENT_ID")
console.log(transactionid)
console.log(webtoken)
console.log(paymentId)
HttpUtils.post({
url: paymentPath+paymentStatusApi+transactionid,
params:{
"apprefid": transactionid,
"webtoken": webtoken,
},
onSuccess: function(responseData){
setResponeDataData(responseData)
if (responseData.paymentdetail?.result?.paymentstatuscode === "APPR") {
localStorage.removeItem("webtoken");
localStorage.removeItem("transactionid");
}
HttpUtils.post({
url: UrlUtils.PAYMENT_SAVE,
params: {
id: paymentId,
transNo: responseData.transactionid,
transDateTime: responseData.paymentdetail.time.replace("[UTC]", ""),
egisRefNo: responseData.paymentdetail.paymentid,
status: responseData.paymentdetail.result.paymentstatuscode,
payload: responseData
},
onSuccess: function (responseData2) {
responseData2.data["transDateStr"] = DateUtils.dateFormat(responseData2.data.transDateTime, "DD/MM/YYYY");
responseData2.data["transTimeStr"] = DateUtils.dateFormat(responseData2.data.transDateTime, "HH:mm:ss");
setItemList(responseData2.paymentItemList)
setPaymentData(responseData2.data);
localStorage.removeItem("paymentId");
}
});
}
});
// setTransactionData(
// {
// "amount": 999.99,
// "currencycode": "HKD",
// "paymentdetail": {
// "attemptno": 1,
// "channel": "MobileWallet",
// "paymentid": "C202310268000681",
// "paymentmethod": "04",
// "result": {
// "canretry": "Y",
// "description": "CANC - Cancelled by user or Payment Server.",
// "paymentstatuscode": "CANC",
// "rejectreasoncode": "Payment Cancelled. [PAY-E-9022]"
// },
// "subtype": "FPS",
// "time": "2023-10-26T09:02:17Z[UTC]"
// },
// "transactionid": "20231026170103921"
// }
// )
}
return (
!onReady ?
:
transactionData.paymentdetail?.result?.paymentstatuscode === "APPR" ?
(
公共啟事:付款成功
{/*row 1*/}
您的申請和付款已收到
{/*row 2*/}
) :
(transactionData.paymentdetail?.result?.paymentstatuscode === "CANC" ?
公共啟事:付款取消
{/*row 1*/}
付款取消訊息:
您的付款已被取消。我們收到了您的付款請求,但由於某些原因,付款無法完成。請注意以下事項:
如果您主動取消了支付,請確認並確保取消是您的意願。
如果付款被取消是由於系統問題或其他原因,請您嘗試以下解決方法:
檢查您的支付帳戶是否有任何異常或限制。
確保您的付款資訊準確無誤。
檢查您的網路連線是否正常。
如果您需要進一步的協助或有任何疑問,請隨時與我們聯繫,我們將盡快解決您的付款問題。謝謝!
{/*row 2*/}
:
公共啟事:付款失敗
{/*row 1*/}
付款失敗訊息:
親愛的用戶,很遺憾地告訴您,您的付款操作未成功。我們在處理您的付款時遇到了問題。請您仔細檢查以下事項:
您的支付帳戶餘額是否足夠。
您提供的付款資訊是否準確無誤。
請檢查您的網路連線是否正常。
如果您已確認以上問題無誤,但付款失敗,請您嘗試以下解決方法:
嘗試使用其他付款方式進行付款。
檢查您的支付帳戶是否有異常或限制。
聯絡我們的客服人員尋求協助。
如果您需要進一步的協助或有任何疑問,請隨時與我們聯繫。非常抱歉給您帶來不便,我們將盡快解決您的付款問題。謝謝!
{/*row 2*/}
)
);
};
export default Fpscallback;