import {useEffect, useState} from '@wordpress/element'; import { PayPalScriptProvider, PayPalCardFieldsProvider, PayPalCardFieldsForm, } from "@paypal/react-paypal-js"; import {CheckoutHandler} from "./checkout-handler"; import {createOrder, onApprove} from "../card-fields-config"; export function CardFields({config, eventRegistration, emitResponse, components}) { const {onPaymentSetup} = eventRegistration; const {responseTypes} = emitResponse; const { PaymentMethodIcons } = components; const [cardFieldsForm, setCardFieldsForm] = useState(); const getCardFieldsForm = (cardFieldsForm) => { setCardFieldsForm(cardFieldsForm) } const getSavePayment = (savePayment) => { localStorage.setItem('ppcp-save-card-payment', savePayment); } useEffect( () => onPaymentSetup(() => { async function handlePaymentProcessing() { await cardFieldsForm.submit() .catch((error) => { return { type: responseTypes.ERROR, } }); return { type: responseTypes.SUCCESS, } } return handlePaymentProcessing(); }), [onPaymentSetup, cardFieldsForm] ); return ( <> { console.error(err); }} > ) }