mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-05 08:59:14 +08:00
Rename component filename
This commit is contained in:
parent
a42488b41d
commit
de3fd75f69
3 changed files with 47 additions and 45 deletions
73
modules/ppcp-blocks/resources/js/Components/card-fields.js
Normal file
73
modules/ppcp-blocks/resources/js/Components/card-fields.js
Normal file
|
@ -0,0 +1,73 @@
|
|||
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}) {
|
||||
const {onPaymentSetup} = eventRegistration;
|
||||
const {responseTypes} = emitResponse;
|
||||
|
||||
const [cardFieldsForm, setCardFieldsForm] = useState();
|
||||
|
||||
const getCardFieldsForm = (cardFieldsForm) => {
|
||||
setCardFieldsForm(cardFieldsForm)
|
||||
}
|
||||
|
||||
const wait = (milliseconds) => {
|
||||
return new Promise((resolve) => {
|
||||
console.log('start...')
|
||||
setTimeout(() => {
|
||||
console.log('resolve')
|
||||
resolve()
|
||||
}, milliseconds)
|
||||
})
|
||||
};
|
||||
|
||||
useEffect(
|
||||
() =>
|
||||
onPaymentSetup(() => {
|
||||
async function handlePaymentProcessing() {
|
||||
await cardFieldsForm.submit();
|
||||
|
||||
// TODO temporary workaround to wait for onApprove to resolve
|
||||
await wait(3000)
|
||||
|
||||
return {
|
||||
type: responseTypes.SUCCESS,
|
||||
}
|
||||
}
|
||||
|
||||
return handlePaymentProcessing();
|
||||
}),
|
||||
[onPaymentSetup, cardFieldsForm]
|
||||
);
|
||||
|
||||
return (
|
||||
<>
|
||||
<PayPalScriptProvider
|
||||
options={{
|
||||
clientId: config.scriptData.client_id,
|
||||
components: "card-fields",
|
||||
dataNamespace: 'ppcp-block-card-fields',
|
||||
}}
|
||||
>
|
||||
<PayPalCardFieldsProvider
|
||||
createOrder={createOrder}
|
||||
onApprove={onApprove}
|
||||
onError={(err) => {
|
||||
console.error(err);
|
||||
}}
|
||||
>
|
||||
<PayPalCardFieldsForm/>
|
||||
<CheckoutHandler getCardFieldsForm={getCardFieldsForm}/>
|
||||
</PayPalCardFieldsProvider>
|
||||
</PayPalScriptProvider>
|
||||
</>
|
||||
)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue