|
|
@@ -3,8 +3,9 @@ import { |
|
|
|
Grid, |
|
|
|
Typography, |
|
|
|
Stack, |
|
|
|
Box |
|
|
|
// Button, |
|
|
|
FormLabel, |
|
|
|
// FormLabel, |
|
|
|
} from '@mui/material'; |
|
|
|
import * as React from "react"; |
|
|
|
import * as HttpUtils from "utils/HttpUtils"; |
|
|
@@ -16,6 +17,8 @@ import {paymentPath} from "auth/utils"; |
|
|
|
|
|
|
|
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 = { |
|
|
@@ -39,11 +42,12 @@ const AckPage = () => { |
|
|
|
const [responeData, setResponeDataData] = React.useState({}); |
|
|
|
|
|
|
|
const [transactionData, setTransactionData] = React.useState({}); |
|
|
|
const [transactionDate, setTransactionDate] = React.useState(""); |
|
|
|
const [transactionTime, setTransactionTime] = 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(() => { |
|
|
|
console.log (location.state) |
|
|
|
if(Object.keys(location.state).length > 0){ |
|
|
@@ -69,7 +73,7 @@ const AckPage = () => { |
|
|
|
|
|
|
|
React.useEffect(() => { |
|
|
|
console.log(responeData) |
|
|
|
if(Object.keys(responeData).length > 0 && fpsmerchanttimeoutdatetime!=""){ |
|
|
|
if(Object.keys(responeData).length > 0){ |
|
|
|
setTransactionData(responeData) |
|
|
|
} |
|
|
|
}, [responeData]); |
|
|
@@ -83,20 +87,45 @@ const AckPage = () => { |
|
|
|
}, [transactionData]); |
|
|
|
|
|
|
|
const loadForm = () => { |
|
|
|
const dateTime = paymentData.transactionDateTime; |
|
|
|
const date = new Date(dateTime); |
|
|
|
const trnDate = date.getDate()+"/"+date.getMonth()+"/"+date.getFullYear(); |
|
|
|
const trnTime = date.getHours()+":"+date.getMinutes()+":"+date.getSeconds(); |
|
|
|
setTransactionDate(trnDate) |
|
|
|
setTransactionTime(trnTime) |
|
|
|
// const dateTime = paymentData.transactionDateTime; |
|
|
|
// const date = new Date(dateTime); |
|
|
|
// const trnDate = date.getDate()+"/"+date.getMonth()+"/"+date.getFullYear(); |
|
|
|
// const trnTime = date.getHours()+":"+date.getMinutes()+":"+date.getSeconds(); |
|
|
|
// setTransactionDate(trnDate) |
|
|
|
// setTransactionTime(trnTime) |
|
|
|
let transactionid = localStorage.getItem("transactionid") |
|
|
|
let webtoken = localStorage.getItem("webtoken") |
|
|
|
|
|
|
|
HttpUtils.post({ |
|
|
|
url: paymentPath+paymentStatusApi+paymentData.transactionid, |
|
|
|
url: paymentPath+paymentStatusApi+transactionid, |
|
|
|
params:{ |
|
|
|
"apprefid": paymentData.transactionid, |
|
|
|
"webtoken": paymentData.webtoken, |
|
|
|
"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: localStorage.getItem("paymentId"), |
|
|
|
transNo: transactionData.transicationId, |
|
|
|
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"); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
@@ -127,120 +156,223 @@ const AckPage = () => { |
|
|
|
!onReady ? |
|
|
|
<LoadingComponent /> |
|
|
|
: |
|
|
|
( |
|
|
|
<Grid container sx={{ minHeight: '110vh', backgroundColor: '#fff' }} direction="column" justifyContent="flex-start" alignItems="center" > |
|
|
|
<Grid item xs={12} width="100%"> |
|
|
|
<div style={BackgroundHead} width="100%"> |
|
|
|
<Stack direction="row" height='70px'> |
|
|
|
<Typography ml={15} color='#FFF' variant="h4" sx={{ pt: 2 }}>公共啟事:FPS付款</Typography> |
|
|
|
</Stack> |
|
|
|
</div> |
|
|
|
</Grid> |
|
|
|
{/*row 1*/} |
|
|
|
<Grid item xs={12} md={12} > |
|
|
|
<Grid container justifyContent="flex-start" alignItems="center" > |
|
|
|
<center> |
|
|
|
<Grid item xs={12} md={12} > |
|
|
|
|
|
|
|
<Typography variant="h3" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "center" }}> |
|
|
|
Your application and payment have been received |
|
|
|
</Typography> |
|
|
|
|
|
|
|
<Grid container> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
Transaction Reference No: |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
|
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
Transaction Date: |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{transactionDate+" (DD/MM/YYYY)"} |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
Transaction Time: |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{transactionTime+" (HH:MI:SS)"} |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
EGIS Reference No: |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{transactionData.transactionid} |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
Payment Amount |
|
|
|
</FormLabel> |
|
|
|
transactionData.paymentdetail?.result?.paymentstatuscode === "APPR" ? |
|
|
|
( |
|
|
|
<Grid container sx={{ minHeight: '110vh', backgroundColor: '#fff' }} direction="column" justifyContent="flex-start" alignItems="center" > |
|
|
|
<Grid item xs={12} width="100%"> |
|
|
|
<div style={BackgroundHead} width="100%"> |
|
|
|
<Stack direction="row" height='70px'> |
|
|
|
<Typography ml={15} color='#FFF' variant="h4" sx={{ pt: 2 }}>公共啟事:付款成功</Typography> |
|
|
|
</Stack> |
|
|
|
</div> |
|
|
|
</Grid> |
|
|
|
{/*row 1*/} |
|
|
|
<Grid item xs={12} md={12} > |
|
|
|
<Grid container justifyContent="flex-start" alignItems="center" > |
|
|
|
<center> |
|
|
|
<Grid item xs={12} md={12} > |
|
|
|
|
|
|
|
<Typography variant="h3" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "center" }}> |
|
|
|
您的申請和付款已收到 |
|
|
|
</Typography> |
|
|
|
|
|
|
|
<Grid container> |
|
|
|
<Grid item xs={12} md={12} sx={{ textAlign: "center" }}> |
|
|
|
<Grid container justifyContent="center" spacing={2} sx={{ p: 2 }} alignitems="stretch" > |
|
|
|
<Grid item xs={12} md={5} sx={{ pt: 1, pb: 2 }} style={{ height: '100%' }}> |
|
|
|
<Box xs={12} md={12} sx={{ p: 4, border: '3px solid #eee', borderRadius: '10px' }} > |
|
|
|
<DataGrid |
|
|
|
recordList={itemList} |
|
|
|
/> |
|
|
|
</Box> |
|
|
|
</Grid> |
|
|
|
<Grid item xs={12} md={5} sx={{ pt: 2 }} style={{ height: '100%' }}> |
|
|
|
<Box xs={12} md={12} sx={{ p: 4, border: '3px solid #eee', borderRadius: '10px' }} > |
|
|
|
<PaymentDetails |
|
|
|
formData={paymentData} |
|
|
|
style={{ |
|
|
|
display: "flex", |
|
|
|
height: "100%", |
|
|
|
flex: 1 |
|
|
|
}} |
|
|
|
/> |
|
|
|
</Box> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{"HK$ "+transactionData.amount} |
|
|
|
</FormLabel> |
|
|
|
{/* <Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
交易參考號: |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{"P" + transactionData.transactionid} |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
交易日期: |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{transactionDate + " (DD/MM/YYYY)"} |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
Payment Method: |
|
|
|
</FormLabel> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
交易時間: |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{transactionTime + " (HH:MI:SS)"} |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{transactionData.paymentdetail.subtype} |
|
|
|
</FormLabel> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
EGIS 參考號: |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{transactionData.transactionid} |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
支付金額 |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{"HK$ " + transactionData.amount} |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
<Grid item xs={12} md={12}> |
|
|
|
<Grid container > |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
付款方式: |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
<Grid item> |
|
|
|
<FormLabel sx={{ fontSize: "16px", color: "#000000", textAlign: "center" }}> |
|
|
|
{transactionData.paymentdetail.subtype ?? (transactionData.paymentdetail.paymentmethod === "01" ? "PPS" : "")} |
|
|
|
</FormLabel> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> */} |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</center> |
|
|
|
</center> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
{/*row 2*/} |
|
|
|
</Grid > |
|
|
|
) : |
|
|
|
(transactionData.paymentdetail?.result?.paymentstatuscode === "CANC" ? |
|
|
|
<Grid container sx={{ minHeight: '110vh', backgroundColor: '#fff' }} direction="column" justifyContent="flex-start" alignItems="center" > |
|
|
|
<Grid item xs={12} width="100%"> |
|
|
|
<div style={BackgroundHead} width="100%"> |
|
|
|
<Stack direction="row" height='70px'> |
|
|
|
<Typography ml={15} color='#FFF' variant="h4" sx={{ pt: 2 }}>公共啟事:付款取消</Typography> |
|
|
|
</Stack> |
|
|
|
</div> |
|
|
|
</Grid> |
|
|
|
{/*row 1*/} |
|
|
|
<Grid item xs={12} md={12} > |
|
|
|
<Grid container justifyContent="flex-start" alignItems="center" > |
|
|
|
<center> |
|
|
|
<Grid item xs={12} md={8} > |
|
|
|
<Typography variant="h5" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "left" }}> |
|
|
|
付款取消訊息: |
|
|
|
<br /><br /> |
|
|
|
您的付款已被取消。我們收到了您的付款請求,但由於某些原因,付款無法完成。請注意以下事項: |
|
|
|
<br /><br /> |
|
|
|
如果您主動取消了支付,請確認並確保取消是您的意願。 |
|
|
|
<br /> |
|
|
|
如果付款被取消是由於系統問題或其他原因,請您嘗試以下解決方法: |
|
|
|
<br /><br /> |
|
|
|
檢查您的支付帳戶是否有任何異常或限制。 |
|
|
|
<br /> |
|
|
|
確保您的付款資訊準確無誤。 |
|
|
|
<br /> |
|
|
|
檢查您的網路連線是否正常。 |
|
|
|
<br /><br /> |
|
|
|
如果您需要進一步的協助或有任何疑問,請隨時與我們聯繫,我們將盡快解決您的付款問題。謝謝! |
|
|
|
</Typography> |
|
|
|
</Grid> |
|
|
|
</center> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
{/*row 2*/} |
|
|
|
</Grid > |
|
|
|
) |
|
|
|
{/*row 2*/} |
|
|
|
</Grid > |
|
|
|
: |
|
|
|
<Grid container sx={{ minHeight: '110vh', backgroundColor: '#fff' }} direction="column" justifyContent="flex-start" alignItems="center" > |
|
|
|
<Grid item xs={12} width="100%"> |
|
|
|
<div style={BackgroundHead} width="100%"> |
|
|
|
<Stack direction="row" height='70px'> |
|
|
|
<Typography ml={15} color='#FFF' variant="h4" sx={{ pt: 2 }}>公共啟事:付款失敗</Typography> |
|
|
|
</Stack> |
|
|
|
</div> |
|
|
|
</Grid> |
|
|
|
{/*row 1*/} |
|
|
|
<Grid item xs={12} md={12} > |
|
|
|
<Grid container justifyContent="flex-start" alignItems="center" > |
|
|
|
<center> |
|
|
|
<Grid item xs={12} md={8} > |
|
|
|
|
|
|
|
<Typography variant="h5" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "left" }}> |
|
|
|
付款失敗訊息: |
|
|
|
<br /><br /> |
|
|
|
親愛的用戶,很遺憾地告訴您,您的付款操作未成功。我們在處理您的付款時遇到了問題。請您仔細檢查以下事項: |
|
|
|
<br /><br /> |
|
|
|
您的支付帳戶餘額是否足夠。 |
|
|
|
<br /> |
|
|
|
您提供的付款資訊是否準確無誤。 |
|
|
|
<br /> |
|
|
|
請檢查您的網路連線是否正常。 |
|
|
|
<br /><br /> |
|
|
|
如果您已確認以上問題無誤,但付款失敗,請您嘗試以下解決方法: |
|
|
|
<br /><br /> |
|
|
|
嘗試使用其他付款方式進行付款。 |
|
|
|
<br /> |
|
|
|
檢查您的支付帳戶是否有異常或限制。 |
|
|
|
<br /> |
|
|
|
聯絡我們的客服人員尋求協助。 |
|
|
|
<br /><br /> |
|
|
|
如果您需要進一步的協助或有任何疑問,請隨時與我們聯繫。非常抱歉給您帶來不便,我們將盡快解決您的付款問題。謝謝! |
|
|
|
</Typography> |
|
|
|
|
|
|
|
</Grid> |
|
|
|
</center> |
|
|
|
</Grid> |
|
|
|
</Grid> |
|
|
|
{/*row 2*/} |
|
|
|
</Grid > |
|
|
|
) |
|
|
|
); |
|
|
|
}; |
|
|
|
|
|
|
|