document.addEventListener( 'DOMContentLoaded', () => { const config = PayPalCommerceGatewayClearDb; if (!typeof (config)) { return; } const clearDbConfig = config.clearDb; document.querySelector(clearDbConfig.button)?.addEventListener('click', function () { const isConfirmed = confirm(clearDbConfig.confirmationMessage); if (!isConfirmed) { return; } const clearButton = document.querySelector(clearDbConfig.button); clearButton.setAttribute('disabled', 'disabled'); fetch(clearDbConfig.endpoint, { method: 'POST', credentials: 'same-origin', body: JSON.stringify({ nonce: clearDbConfig.nonce, }) }).then((res)=>{ return res.json(); }).then((data)=>{ if (!data.success) { jQuery(clearDbConfig.failureMessage).insertAfter(clearButton); setTimeout(()=> jQuery(clearDbConfig.messageSelector).remove(),3000); clearButton.removeAttribute('disabled'); throw Error(data.data.message); } jQuery(clearDbConfig.successMessage).insertAfter(clearButton); setTimeout(()=> jQuery(clearDbConfig.messageSelector).remove(),3000); clearButton.removeAttribute('disabled'); window.location.replace(clearDbConfig.redirectUrl); }); }) }, );