| @@ -69,9 +69,9 @@ const Index = () => { | |||||
| const loadForm = () => { | const loadForm = () => { | ||||
| const timeoutdatetime = "2023-10-26T09:04:30Z[UTC]" | |||||
| const convertedDateString = timeoutdatetime.replace("[UTC]", ""); | |||||
| setFpsmerchanttimeoutdatetime(convertedDateString) | |||||
| // const timeoutdatetime = "2023-10-26T09:04:30Z[UTC]" | |||||
| // const convertedDateString = timeoutdatetime.replace("[UTC]", ""); | |||||
| // setFpsmerchanttimeoutdatetime(convertedDateString) | |||||
| HttpUtils.post({ | HttpUtils.post({ | ||||
| url: paymentPath+loadPaymentUrl+(paymentData.type=="PPS"?"pps":"creditcard"), | url: paymentPath+loadPaymentUrl+(paymentData.type=="PPS"?"pps":"creditcard"), | ||||
| @@ -40,6 +40,7 @@ const Index = () => { | |||||
| const [responeData, setResponeDataData] = React.useState({}); | const [responeData, setResponeDataData] = React.useState({}); | ||||
| const [fpsTransctionData, setFpsTransctionData] = React.useState({}); | const [fpsTransctionData, setFpsTransctionData] = React.useState({}); | ||||
| const [fpsmerchanttimeoutdatetime, setFpsmerchanttimeoutdatetime] = React.useState(""); | const [fpsmerchanttimeoutdatetime, setFpsmerchanttimeoutdatetime] = React.useState(""); | ||||
| const [timeDownCount, setTimeDownCount] = React.useState(0); | |||||
| // const [fpsqrcodeurl, setFpsqrcodeurl] = React.useState(""); | // const [fpsqrcodeurl, setFpsqrcodeurl] = React.useState(""); | ||||
| // const pasgPath = 'https://fps.payapps.hkicl.com.hk'; //PRD | // const pasgPath = 'https://fps.payapps.hkicl.com.hk'; //PRD | ||||
| @@ -185,6 +186,8 @@ const Index = () => { | |||||
| console.log(time) | console.log(time) | ||||
| console.log(timeOutDate) | console.log(timeOutDate) | ||||
| console.log(currentTime) | console.log(currentTime) | ||||
| console.log(timeOutDate.getTime()-currentTime.getTime()) | |||||
| setTimeDownCount(timeOutDate.getTime()-currentTime.getTime()) | |||||
| getPaymentStatus(); | getPaymentStatus(); | ||||
| if (timeOutDate.getTime()<currentTime.getTime()){ | if (timeOutDate.getTime()<currentTime.getTime()){ | ||||
| console.log("stop"); | console.log("stop"); | ||||
| @@ -239,9 +242,11 @@ const Index = () => { | |||||
| <br /> | <br /> | ||||
| <img src={fpsTransctionData.fpsqrcodeimgbase64} alt="QR Code"/> | <img src={fpsTransctionData.fpsqrcodeimgbase64} alt="QR Code"/> | ||||
| <br /> | <br /> | ||||
| 二維碼有效期限10分鐘 | |||||
| 二維碼有效期限3分鐘 | |||||
| <br /> | <br /> | ||||
| 請在規定時間內完成付款流程 | 請在規定時間內完成付款流程 | ||||
| <br /> | |||||
| {"剩餘時間:"+timeDownCount} | |||||
| </Typography> | </Typography> | ||||
| <Typography variant="h3" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "center" }}> | <Typography variant="h3" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "center" }}> | ||||
| @@ -33,27 +33,44 @@ const MultiPaymentWindow = (props) => { | |||||
| const windowTitle = "請選擇付款方式"; | const windowTitle = "請選擇付款方式"; | ||||
| const [content, setContent] = useState(); | const [content, setContent] = useState(); | ||||
| const [loadtTransactionData, setLoadtTransactionData] = useState({}); | |||||
| const [loadAvailableMethodData, setLoadAvailableMethodData] = useState([]); | |||||
| const [paymentMethod, setPaymentMethod] = useState(""); | const [paymentMethod, setPaymentMethod] = useState(""); | ||||
| const [transactionData, setTransactionData] = useState([]); | |||||
| const [transactionData, setTransactionData] = useState({}); | |||||
| const [availableMethodData, setAvailableMethodData] = useState([]); | const [availableMethodData, setAvailableMethodData] = useState([]); | ||||
| const [onReady, setOnReady] = useState(false); | const [onReady, setOnReady] = useState(false); | ||||
| useEffect(() => { | useEffect(() => { | ||||
| console.log(props.availableMethods) | |||||
| console.log(props.transactionData) | console.log(props.transactionData) | ||||
| if(props.availableMethods.length > 0){ | |||||
| setAvailableMethodData(props.availableMethods) | |||||
| setTransactionData(props.transactionData) | |||||
| if(Object.keys(props.transactionData).length > 0){ | |||||
| setLoadtTransactionData(props.transactionData) | |||||
| } | } | ||||
| }, [props.transactionData]); | }, [props.transactionData]); | ||||
| useEffect(() => { | useEffect(() => { | ||||
| console.log(availableMethodData) | |||||
| console.log(transactionData) | |||||
| if(availableMethodData.length > 0){ | |||||
| console.log(props.availableMethods) | |||||
| if(props.availableMethods.length > 0){ | |||||
| setLoadAvailableMethodData(props.availableMethods) | |||||
| } | |||||
| }, [props.availableMethods]); | |||||
| useEffect(() => { | |||||
| if(loadAvailableMethodData.length > 0){ | |||||
| setAvailableMethodData(loadAvailableMethodData) | |||||
| } | |||||
| }, [loadAvailableMethodData]); | |||||
| useEffect(() => { | |||||
| if(Object.keys(loadtTransactionData).length > 0){ | |||||
| setTransactionData(loadtTransactionData) | |||||
| } | |||||
| }, [loadtTransactionData]); | |||||
| useEffect(() => { | |||||
| if(availableMethodData.length > 0 && Object.keys(transactionData).length > 0){ | |||||
| setOnReady(true) | setOnReady(true) | ||||
| } | } | ||||
| }, [availableMethodData]); | |||||
| }, [availableMethodData,transactionData]); | |||||
| useEffect(() => { | useEffect(() => { | ||||
| console.log(paymentMethod) | console.log(paymentMethod) | ||||