import { PaymentRequestButtonElement, useStripe, } from "@stripe/react-stripe-js"; import React, { useEffect, useState } from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { logImEXEvent } from "../../firebase/firebase.utils"; import { setEmailOptions } from "../../redux/email/email.actions"; import { selectBodyshop } from "../../redux/user/user.selectors"; import { TemplateList } from "../../utils/TemplateConstants"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, }); const mapDispatchToProps = (dispatch) => ({ setEmailOptions: (e) => dispatch(setEmailOptions(e)), }); function Test({ bodyshop, setEmailOptions }) { const stripe = useStripe(); const [paymentRequest, setPaymentRequest] = useState(null); useEffect(() => { if (stripe) { const pr = stripe.paymentRequest({ country: "CA", displayItems: [{ label: "Deductible", amount: 1099 }], currency: "cad", total: { label: "Demo total", amount: 1099, }, requestPayerName: true, requestPayerEmail: true, }); // Check the availability of the Payment Request API. pr.canMakePayment().then((result) => { if (result) { setPaymentRequest(pr); } else { // var details = { // total: { label: "", amount: { currency: "CAD", value: "0.00" } }, // }; new PaymentRequest( [{ supportedMethods: ["basic-card"] }], {} // details ).show(); } }); } }, [stripe]); if (paymentRequest) { return (
); } return (
); } export default connect(mapStateToProps, mapDispatchToProps)(Test);