Estou tentando executar uma função após concluir o pagamento via GETNET vi na documentação que tem a possibilidade de executar uma função de callback mas não sei como
Sucesso de transação via evento (Callback JavaScript)
Caso exista a necessidade de monitorar uma transação realizada, é possível verificar a ação via callback JavaScript. Esta função de callback não retorna dados da compra, ela funciona como um Observer (Observer pattern - Wikipedia), monitorando se a transação foi feita com ‘success’ (para crédito/débito), ‘pending’ (para boleto) ou ‘error’ (detalhes da manipulação de erro está mais abaixo). Para utilizar o callback, basta deixar o atributo data-getnet-url-callback em branco, com isto feito, uma será necessário adicionadar ao escopo da função que está chamando o checkout iframe o tratamento do retorno do evento. Exemplo:
<script async src="https://checkout-homologacao.getnet.com.br/loader.js"
...
data-getnet-url-callback="" // atributo da URL de sucesso em branco
...>
</script>
Exemplo de como receber o callback de pagamento de crédito, débito, boleto e caso de erro:
getnetIfrm.addEventListener('load', ev => {
// Funções compatíveis com IE e outros navegadores
var eventMethod = (window.addEventListener ? 'addEventListener' : 'attachEvent');
var eventer = window[eventMethod];
var messageEvent = (eventMethod === 'attachEvent') ? 'onmessage' : 'message';
// Ouvindo o evento do loader
eventer(messageEvent, function iframeMessage(e) {
var data = e.data || '';
switch (data.status || data) {
// Corfirmação positiva do checkout.
case 'success':
console.log('Transação realizada.');
break;
// Notificação de que o IFrame de checkout foi fechado a aprovação.
case 'close':
console.log('Checkout fechado.');
break;
// Notificação que um boleto foi registrado com sucesso
case 'pending':
console.log('Boleto registrado e pendente de pagamento');
console.log(data.detail);
break;
// Notificação que houve um erro na tentativa de pagamento
case 'error':
console.warn(data.detail.message);
break;
// Ignora qualquer outra mensagem
default:
break;
}
}, false);
});
como faço pra isso funcionar?