var monri = Monri('ed9a1ff2cc3e958eca4dfef70d418e854c6297d1');
var components = monri.components("d3b8ddcb-441c-4a81-9d58-803452bb390d", "f2abc9adc3ee979ee19d72feda4d5f6ff2e37d282a65000fef902e07357b6f394e4cbd305229a14f58a76c16608fa3213f60955c3728a5bb1d86c7891a7c6471", '2025-03-14T12:00:27+00:00');
var style = {
invalid: {
color: 'red'
},
};
// Add an instance of the card Component into the `card-element`
.
var card = components.create('card', {style: style});
card.mount('pikpay');
jQuery('form.checkout').on('checkout_place_order', function () {
if (jQuery('#monri-token').length == 0) {
// If monri-token element could not be found add it to the form and set its value to 'not-set'.
var hiddenInput = document.createElement('input');
hiddenInput.setAttribute('type', 'hidden');
hiddenInput.setAttribute('name', 'monri-token');
hiddenInput.setAttribute('id', 'monri-token');
hiddenInput.setAttribute('value', 'not-set');
jQuery(this).append(hiddenInput);
}
if (jQuery('#monri-token').val() == 'not-set') {
monri.createToken(card).then(function (result) {
if (result.error) {
// Inform the customer that there was an error.
var errorElement = document.getElementById('card-errors');
errorElement.textContent = result.error.message;
} else {
monriTokenHandler(result.result);
}
});
function monriTokenHandler(token) {
// Insert the token ID into the form so it gets submitted to the server
jQuery('#monri-token').val(token.id);
}
}
});
jQuery(document.body).on('checkout_error', function () {
// Trigger the submit of the checkout form If the thrown wc error is 'set_monri_token_notice' and
// no error was returend by monri.createToken. Else remove the 'monri token' html elemente so a new one can be generated on the next form submit.
var error_text = jQuery('.woocommerce-error').find('li').first().text();
if (error_text.trim() == 'set_monri_token_notice') {
jQuery('.woocommerce-error').remove();
if (jQuery('#card-errors').html() == '') {
jQuery('#place_order').trigger('click');
}
}
});
card.onChange(function (event) {
// If monri.createToken returned and error show it to the user.
var displayError = document.getElementById('card-errors');
if (event.error) {
displayError.textContent = event.error.message;
jQuery('#monri-token').remove();
} else {
displayError.textContent = '';
}
});
});