ну потому-что тебе в html нужно просто добавить
var payments = new cp.CloudPayments({
language: "ru-RU",
email: "",
applePaySupport: false,
googlePaySupport: true,
yandexPaySupport: true,
tinkoffInstallmentSupport: true,
});
а второй участок кода, уже запихнуть в функцию, и вызывать её по клику.
А сейчас у тебя как только загружается страница выполняется метод
payments.pay(...> который открывает форму оплаты
upd:
--<a href = "#pay" class="btn btn-success d-block btn-lg ajax-modal"><?php echo html_svg_icon('solid', 'shopping-cart'); ?> Купить</a>
++<a href = "#pay" onclick="checkout" class="btn btn-success d-block btn-lg ajax-modal"><?php echo html_svg_icon('solid', 'shopping-cart'); ?> Купить</a>
в после body добавить это
<script>
var payments = new cp.CloudPayments({
language: "ru-RU",
email: "",
applePaySupport: false,
googlePaySupport: true,
yandexPaySupport: true,
tinkoffInstallmentSupport: true,
});
function checkout() {
payments.pay("charge", {
publicId: "ВАШ_ID",
description: "Тестовая оплата",
amount: 100,
currency: "RUB",
invoiceId: "",
accountId: "",
email: "",
skin: "classic",
requireEmail: true,
});
}
</script>