function displayTokens(tokens) {
const ul = document.createElement("ul");
tokens.forEach((token) => {
const li = document.createElement("li");
li.textContent = `${token.partner} ${token.method}`;
li.addEventListener("click", () => {
const tokenForm = document.getElementById("form");
tokenForm.innerHTML = "";
if (token.disabled.value) {
tokenForm.innerHTML = `<p>This payment method is currently unavailable.</p>`;
return;
}
const cvvInput = token.getPaymentElement();
try {
cvvInput.appendTo(tokenForm);
} catch (error) {
if (error.code === 'METHOD_DISABLED') {
tokenForm.innerHTML = `<p>This payment method is currently unavailable.</p>`;
} else {
console.error('Failed to render CVV input:', error);
}
}
});
ul.appendChild(li);
});
document.getElementById("tokens").appendChild(ul);
}
checkout.paymentTokens.subscribe(displayTokens);