Skip to main content
GET
Configuração para o navegador
Você normalmente não chama esta rota. O vext.js o faz por você, uma vez por página.Ela está documentada porque é exatamente o que a sua chave pk_ alcança — e saber o que uma chave pública consegue fazer não deveria exigir ler o nosso código.
É a única rota da API que aceita chave publicável. Ela não cria cobrança, não lê venda e não move dinheiro: devolve o endereço de tokenização, a chave da adquirente desta loja, as bandeiras aceitas e os limites de parcelamento.
Ela não diz por que o cartão está indisponível — só que está.A razão é o público. Quem pergunta aqui é o navegador de um comprador qualquer, com uma chave que está no código-fonte de uma página pública: o motivo entregue a ele transformaria o endpoint num painel de status nosso, consultável por qualquer um.O motivo é acionável para você, e está em GET /v1/installments, atrás da chave secreta — em unavailable_reason.
A grade de parcelas com preço também não vem aqui: ela depende do valor, e mora em GET /v1/installments, atrás da chave secreta. Entregá-la ao navegador deixaria qualquer um ler a taxa contratada de uma loja a partir do HTML dela.

Authorizations

X-Vext-Publishable-Key
string
header
required

Chave publicável, criada no painel em Desenvolvedores → Navegador. É a única credencial que pode ir para o navegador do comprador, e a única que o vext.js usa.

Ela não carrega escopos: o que ela alcança é decidido pela rota, e hoje é uma só - GET /v1/client_config. Não cria cobrança, não lê venda, não move dinheiro.

Sendo pública por natureza - ela fica no código-fonte de uma página que qualquer um abre -, a proteção dela não é o segredo: é a allowlist de domínios. Cadastre os domínios das suas páginas de pagamento, e uma chamada de qualquer outra origem é recusada. Sem isso, copiar a chave do seu HTML bastaria para tokenizar cartão em nome da sua loja de outro site.

Na prática você quase nunca a manda à mão: Vext('pk_live_...') cuida disso.

Response

A configuração. Com available: false, nenhuma credencial vem preenchida.

O que o vext.js recebe. Todo campo está sempre presente, e os anuláveis vêm null quando o cartão está indisponível - nenhuma credencial é entregue nesse caso.

Note o que não está aqui, e não vai estar: o motivo da indisponibilidade e a grade de parcelas com preço. Esta resposta é lida por um navegador qualquer, e os dois seriam informação da loja vazando para quem abre a página dela.

object
string
required
Allowed value: "client_config"
available
boolean
required
tokenization
object
required
three_d_secure
object
required
brands
enum<string>[]
required
Available options:
visa,
mastercard,
elo,
hipercard,
amex,
diners,
discover,
aura
max_installments
integer | null
required
Required range: 1 <= x <= 12
min_amount
integer<int64> | null
required

Valor monetário em centavos inteiros de real. R$ 10,00 = 1000. Nunca decimal, nunca string.