# FaciPay() Inicializa a SDK e valida a chave publicável. `FaciPay(publishableKey)` é o ponto de entrada da SDK. Devolve uma instância que valida a chave em background e expõe `generateButton()`. ```js const facipay = FaciPay('pk_test_xxxxxxxx'); ``` ## Parâmetros A sua chave publicável (`pk_test_…` em sandbox, `pk_live_…` em produção). Obrigatória — uma chave vazia ou inválida impede o botão de renderizar. ## Propriedades A chave fornecida na inicialização. Estado da validação da chave: `idle` | `loading` | `valid` | `invalid` | `empty`. A validação é assíncrona; o estado evolui de `idle`/`loading` para `valid` ou `invalid`. ## Métodos Cria um botão de pagamento. Ver [generateButton()](/pt/sdk/generate-button). ## Validação da chave Ao inicializar, a SDK: 1. Verifica o **formato** da chave (prefixo `pk_test_`/`pk_live_`). 2. Valida a chave contra o servidor de forma assíncrona. 3. Atualiza `apiKeyStatus`. Se a chave for inválida, o botão não é renderizado e um erro é registado na consola (`console.error`); nenhuma mensagem de erro é mostrada na página. ```js const facipay = FaciPay('pk_test_xxx'); // apiKeyStatus passa por 'loading' e termina em 'valid' ou 'invalid' ``` Se a chave for inválida ou vazia, a SDK escreve um erro no console e o botão **não** aparece. Confirme que a chave corresponde ao ambiente (sandbox vs produção). Criar o botão com callbacks e opções.