| @@ -47,17 +47,18 @@ const MultiPaymentWindow = (props) => { | |||
| const [jCBClass, setJCBClass] = useState(""); | |||
| const [unionPayClass, setUnionPayClass] = useState(""); | |||
| const [pPSClass, setPPSlass] = useState(""); | |||
| const [filteredPaymentMethod, setFilteredPaymentMethod] = useState([]); | |||
| // const [onReady, setOnReady] = useState(false); | |||
| useEffect(() => { | |||
| console.log(props.transactionData) | |||
| // console.log(props.transactionData) | |||
| if(Object.keys(props.transactionData).length > 0){ | |||
| setLoadtTransactionData(props.transactionData) | |||
| } | |||
| }, [props.transactionData]); | |||
| useEffect(() => { | |||
| console.log(props.availableMethods) | |||
| // console.log(props.availableMethods) | |||
| if(props.availableMethods.length > 0){ | |||
| setLoadAvailableMethodData(props.availableMethods) | |||
| } | |||
| @@ -89,9 +90,20 @@ const MultiPaymentWindow = (props) => { | |||
| useEffect(() => { | |||
| console.log(paymentMethod) | |||
| // const subtype = (paymentMethod === "Visa" || paymentMethod === "MasterCard" || paymentMethod === "JCB" || paymentMethod === "UnionPay") ? "CreditCard" : paymentMethod; | |||
| // const filteredPaymentMethod = availableMethodData.filter(obj => obj.subtype === subtype); | |||
| const filteredPaymentMethod = availableMethodData.filter(obj => { | |||
| if (obj.supportedcard && obj.supportedcard.includes(paymentMethod)) { | |||
| return obj.subtype === "CreditCard"; | |||
| } | |||
| return obj.subtype === paymentMethod; | |||
| }); | |||
| console.log(filteredPaymentMethod) | |||
| setFilteredPaymentMethod(filteredPaymentMethod); | |||
| setFpsClass(paymentMethod == "FPS" || paymentMethod == "" ? "" : "grayscale") | |||
| setVisaClass(paymentMethod == "Visa" || paymentMethod == "" ? "" : "grayscale") | |||
| setMastercardClass(paymentMethod == "Mastercard" || paymentMethod == "" ? "" : "grayscale") | |||
| setMastercardClass(paymentMethod == "MasterCard" || paymentMethod == "" ? "" : "grayscale") | |||
| setJCBClass(paymentMethod == "JCB" || paymentMethod == "" ? "" : "grayscale") | |||
| setUnionPayClass(paymentMethod == "UnionPay" || paymentMethod == "" ? "" : "grayscale") | |||
| setPPSlass(paymentMethod == "PPS" || paymentMethod == "" ? "" : "grayscale") | |||
| @@ -177,8 +189,8 @@ const MultiPaymentWindow = (props) => { | |||
| </Button> | |||
| </Grid> | |||
| <Grid item> | |||
| <Button variant="contained" color="white" onClick={selectedPaymentMethodHandle("Mastercard")} disabled={props.creditCardStatus.active === "N"}> | |||
| <img className={mastercardClass} src={MasterIcon} width="80" height="80" alt="Mastercard"></img> | |||
| <Button variant="contained" color="white" onClick={selectedPaymentMethodHandle("MasterCard")} disabled={props.creditCardStatus.active === "N"}> | |||
| <img className={mastercardClass} src={MasterIcon} width="80" height="80" alt="MasterCard"></img> | |||
| </Button> | |||
| </Grid> | |||
| <Grid item> | |||
| @@ -235,6 +247,25 @@ const MultiPaymentWindow = (props) => { | |||
| </Typography> | |||
| </Grid> | |||
| </Grid> | |||
| {paymentMethod !=""? | |||
| filteredPaymentMethod.map((availableMethod) => { | |||
| return ( | |||
| <Grid container key={availableMethod.subtype} className={"css-1tx0bae"} sx={{ mt: 1, p:2 }}> | |||
| {availableMethod.pointstonote.map((pointstonote) => { | |||
| return ( | |||
| <Grid container key={pointstonote.order} sx={{ p:0.5 }} direction="row" justifyContent="flex-start" alignItems="center"> | |||
| <Grid item> | |||
| <Typography sx={{fontSize: "16px", color: "#000000", textAlign: "left" }}> | |||
| {pointstonote.content} | |||
| </Typography> | |||
| </Grid> | |||
| </Grid> | |||
| ); | |||
| })} | |||
| </Grid> | |||
| ); | |||
| }) | |||
| : null} | |||
| </Grid> | |||
| </center> | |||
| </Grid> | |||
| @@ -31,7 +31,7 @@ import { | |||
| import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' | |||
| import {ThemeProvider} from "@emotion/react"; | |||
| import {PNSPS_BUTTON_THEME} from "../../themes/buttonConst"; | |||
| import {FormattedMessage} from "react-intl"; | |||
| import {FormattedMessage,useIntl} from "react-intl"; | |||
| const BackgroundHead = { | |||
| backgroundImage: `url(${titleBackgroundImg})`, | |||
| width: '100%', | |||
| @@ -47,8 +47,10 @@ const Index = () => { | |||
| const getTransactionIdUrl = "/api/payment/transaction"; | |||
| const navigate = useNavigate() | |||
| const location = useLocation(); | |||
| const intl = useIntl(); | |||
| const { locale } = intl; | |||
| // const local = {en:"en-us", zh:"zh-hk", cn:"zh-cn"}; | |||
| const local = {en:"en-us", zh:"zh-hk", cn:"zh-cn"}; | |||
| const preferpaymentmethods = ['visa', 'mastercard', 'pps', 'creditcard', 'fps']; | |||
| const [totalAmount, setTotalAmount] = useState(0); | |||
| const [appIds, setAppIds] = useState([]); | |||
| @@ -119,9 +121,9 @@ const Index = () => { | |||
| page = '/paymentPage/card'; | |||
| stateParams = { state: { amount: totalAmount, transactionid: transactionData.transactionid, webtoken: transactionData.webtoken, type: "Visa", paymentMethod: "02,BCMP,CreditCard" } } | |||
| paymentMethod = "02,BCMP,CreditCard"; | |||
| } else if (selectedPaymentMethod === "Mastercard") { | |||
| } else if (selectedPaymentMethod === "MasterCard") { | |||
| page = '/paymentPage/card'; | |||
| stateParams = { state: { amount: totalAmount, transactionid: transactionData.transactionid, webtoken: transactionData.webtoken, type: "Mastercard", paymentMethod: "02,BCMP,CreditCard" } } | |||
| stateParams = { state: { amount: totalAmount, transactionid: transactionData.transactionid, webtoken: transactionData.webtoken, type: "MasterCard", paymentMethod: "02,BCMP,CreditCard" } } | |||
| paymentMethod = "02,BCMP,CreditCard"; | |||
| } else if (selectedPaymentMethod === "JCB") { | |||
| page = '/paymentPage/card'; | |||
| @@ -159,7 +161,7 @@ const Index = () => { | |||
| HttpUtils.post({ | |||
| url: paymentPath + getAvailablePaymentUrl, | |||
| params: { | |||
| // "locale": local.zh, | |||
| "locale": locale === 'en' ?local.en:locale === 'zh-HK' ?local.zh:local.cn, | |||
| "amount": totalAmount, | |||
| // "eserviceids": [ | |||
| // "<eserviceid>", "<eserviceid>" | |||
| @@ -225,7 +227,7 @@ const Index = () => { | |||
| // "type": "INFO" | |||
| // }, | |||
| // { | |||
| // "content": "Different credit card issuers may have implemented different mechanisms to authenticate the cardholder's identity during online payment. Please contact your card issuer if you want to learn more about the J/Secure, Mastercard SecureCode and Verified by Visa service. ", | |||
| // "content": "Different credit card issuers may have implemented different mechanisms to authenticate the cardholder's identity during online payment. Please contact your card issuer if you want to learn more about the J/Secure, MasterCard SecureCode and Verified by Visa service. ", | |||
| // "order": 43, | |||
| // "type": "INFO" | |||
| // } | |||
| @@ -267,7 +269,7 @@ const Index = () => { | |||
| // "type": "INFO" | |||
| // }, | |||
| // { | |||
| // "content": "Different credit card issuers may have implemented different mechanisms to authenticate the cardholder's identity during online payment. Please contact your card issuer if you want to learn more about the J/Secure, Mastercard SecureCode and Verified by Visa service. ", | |||
| // "content": "Different credit card issuers may have implemented different mechanisms to authenticate the cardholder's identity during online payment. Please contact your card issuer if you want to learn more about the J/Secure, MasterCard SecureCode and Verified by Visa service. ", | |||
| // "order": 43, | |||
| // "type": "INFO" | |||
| // } | |||
| @@ -42,7 +42,7 @@ const Index = () => { | |||
| const navigate = useNavigate() | |||
| const [fee, setFee] = useState(0); | |||
| const [record, setRecord] = React.useState(); | |||
| const [record, setRecord] = React.useState({}); | |||
| const [onReady, setOnReady] = React.useState(false); | |||
| const [isPopUp, setIsPopUp] = useState(false); | |||
| @@ -60,11 +60,14 @@ const Index = () => { | |||
| HttpUtils.get({ | |||
| url: UrlUtils.GET_PROOF_PAY + "/" + params.id, | |||
| onSuccess: (responseData) => { | |||
| if (!responseData.data?.id) { | |||
| navigate("/proof/search"); | |||
| } | |||
| // if (!responseData.data?.id) { | |||
| // navigate("/proof/search"); | |||
| // } | |||
| setRecord(responseData.data); | |||
| setFee(responseData.data.fee); | |||
| }, | |||
| onError:()=>{ | |||
| } | |||
| }); | |||
| } | |||