Configuração básica
Chamesdk.checkout() depois de inicializar o SDK. O widget se monta no DOM automaticamente.
Idioma (locale)
Defina locale para escolher o idioma do texto integrado do widget: 'en', 'es' ou 'pt'. Se você omitir, o widget usa o idioma do navegador do comprador e volta para o inglês quando esse idioma não é suportado.
locale cobre todo o texto próprio do widget, não apenas a caixa de consentimento: os botões de pagar e assinar, o rodapé “Secured by Therius”, os rótulos e placeholders do formulário de cartão, o texto de cartões salvos, os avisos de assinatura e de cartão em arquivo, o texto dos painéis de Pix e Affirm, e as mensagens comuns de recusa e erro. O conteúdo da sua própria página e qualquer texto retornado por um provedor de pagamento não são traduzidos.
Callbacks
onNonce, onApm e onWalletToken são interceptores opcionais. Se você os omitir, o widget chama por conta própria o método do SDK correspondente e reporta o resultado por onActionComplete ou onError. Forneça-os apenas se precisar encaminhar o pagamento pelo seu próprio servidor.ipAddress na solicitação de pagamento. O endereço do seu servidor não é o do comprador, e a pontuação antifraude e alguns provedores dependem do real. O widget o obtém para você e o entrega a onNonce, onApm e onSavedMethodSelected como shopper.ipAddress (ausente se a consulta falhar):
Seletor de cartões salvos
Se a sessão foi criada com umcustomerId e esse comprador tem cartões previamente colocados no vault, o widget renderiza automaticamente um seletor de cartões acima do formulário de cartão novo. Os cartões são exibidos como brand / last 4 / expiry — nenhum PAN é devolvido ao navegador.
Quando o comprador seleciona um cartão salvo, onSavedMethodSelected é disparado com o token do cartão. Cobre-o de imediato sem um nonce:
GET /sdk/vaulted-methods e é limitada ao próprio comprador da sessão — o navegador não pode enumerar os cartões de um comprador diferente.
Cobrar um cartão novo pelo widget
Para um cartão novo inserido pelo widget, recupere o nonce depois que o comprador envia o formulário e use-o da mesma forma que com os campos hospedados:sdk.authorize(nonce) diretamente depois do envio do widget para deixar o SDK gerenciar o ciclo completo de autorizar-e-ação em uma única chamada.
Tratamento de 3DS
O 3DS é tratado de forma idêntica aos campos hospedados. Se o resultado da cobrança incluiractionRequired, passe-o para sdk.handleAction:
sdk.handleAction abre o iframe do desafio de 3DS, aguarda a conclusão e resolve com o PaymentResult final. Você não precisa escrever lógica separada para tipos de desafio diferentes.
vaultConsentEnabled só mostra a caixa de seleção “Salvar este cartão” quando há um shopperId presente na sessão. Se nenhum customerId foi passado para POST /sdk/session, a caixa de seleção é ocultada independentemente dessa configuração.Se você passou
cardOnFile ao criar a sessão (veja Assinaturas gerenciadas pelo lojista), o widget mostra um aviso fixo de “o cartão será salvo” em vez da caixa de seleção vaultConsentEnabled — o cartão é salvo incondicionalmente, então não há nada para optar.
