diff --git a/modules/ppcp-card-fields/resources/js/Render.js b/modules/ppcp-card-fields/resources/js/Render.js index a77874159..9a35ff449 100644 --- a/modules/ppcp-card-fields/resources/js/Render.js +++ b/modules/ppcp-card-fields/resources/js/Render.js @@ -1,17 +1,10 @@ import { cardFieldStyles } from './CardFieldsHelper'; -let fieldsRendered = false; - export function renderFields( cardFields ) { - if ( fieldsRendered === true ) { - return; - } - fieldsRendered = true; - const nameField = document.getElementById( 'ppcp-credit-card-gateway-card-name' ); - if ( nameField ) { + if ( nameField && nameField.hidden !== true ) { const styles = cardFieldStyles( nameField ); cardFields .NameField( { style: { input: styles } } ) @@ -22,7 +15,7 @@ export function renderFields( cardFields ) { const numberField = document.getElementById( 'ppcp-credit-card-gateway-card-number' ); - if ( numberField ) { + if ( numberField && numberField.hidden !== true ) { const styles = cardFieldStyles( numberField ); cardFields .NumberField( { style: { input: styles } } ) @@ -33,7 +26,7 @@ export function renderFields( cardFields ) { const expiryField = document.getElementById( 'ppcp-credit-card-gateway-card-expiry' ); - if ( expiryField ) { + if ( expiryField && expiryField.hidden !== true ) { const styles = cardFieldStyles( expiryField ); cardFields .ExpiryField( { style: { input: styles } } ) @@ -44,7 +37,7 @@ export function renderFields( cardFields ) { const cvvField = document.getElementById( 'ppcp-credit-card-gateway-card-cvc' ); - if ( cvvField ) { + if ( cvvField && cvvField.hidden !== true ) { const styles = cardFieldStyles( cvvField ); cardFields .CVVField( { style: { input: styles } } ) diff --git a/tests/Playwright/tests/classic-place-order.spec.js b/tests/Playwright/tests/classic-place-order.spec.js index 9a9bcae37..f73a8a476 100644 --- a/tests/Playwright/tests/classic-place-order.spec.js +++ b/tests/Playwright/tests/classic-place-order.spec.js @@ -82,7 +82,7 @@ test( 'Advanced Credit and Debit Card place order from Checkout page', async ( { .frameLocator( 'iframe[title="paypal_card_expiry_field"]' ) .locator( 'input.card-field-expiry' ); await expirationDate.click(); - await page.keyboard.type( CREDIT_CARD_EXPIRATION ); + await page.keyboard.type( '01/42' ); const cvv = await page .frameLocator( '[title="paypal_card_cvv_field"]' )