apiKey. O SDK chama essa função a cada tokenize(), então a sub-key pode ser gerada só quando o cliente envia o formulário e renovada sem recriar os campos.
Passar uma string na apiKey continua funcionando como antes. Quem já usa o SDK não precisa mudar nada para atualizar.
Melhorias
apiKey como função
- A
apiKeyaceita uma função que retorna a sub-key, de forma síncrona ou assíncrona. - A função é chamada a cada
tokenize(), logo antes do envio dos dados do cartão, e só depois que todos os campos configurados foram preenchidos. - A instância pode ser criada sem esperar a chave. A sub-key é gerada no seu backend quando o cliente envia o formulário.
- Quando a sub-key expira, a função retorna uma nova na chamada seguinte. Os campos e o cartão digitado são mantidos. Antes, era preciso chamar
destroy(), criar outra instância e pedir o cartão de novo.
Erros e prazo da função
- O evento
loadingficatrueenquanto a função roda. - Se a função lançar um erro ou retornar um valor vazio,
tokenize()retornatokenIdvazio e umerrorcomtype: 'invalid_request_error', sem enviar o cartão. A mensagem não inclui o erro lançado pela sua função. - Se a função não responder em 30 segundos,
tokenize()retorna umerrorcomtype: 'timeout'. Uma chave que chegar depois desse prazo é ignorada. - Se um campo for apagado ou a instância for destruída enquanto a função roda, o cartão não é enviado.
Mudanças para quem usa o Tokenization SDK
Tipo da
apiKey no TypeScript: o tipo passa de string para string ou função. Se o seu código lê apiKey das configurações do SDK como string, ajuste o tipo ao atualizar. Quem só informa o valor não precisa mudar nada.Ficou com dúvida? Fale com a gente pelo e-mail suporte@malga.io.