Skip to main content

O que é

O método preparePayment() encapsula todas as etapas do fluxo de pagamento em uma única chamada. Internamente, ele orquestra:
  1. Análise de fraude — coleta fingerprint do dispositivo (ThreatMetrix)
  2. Tokenização — substitui os dados do cartão por um token seguro
  3. Autenticação 3DS — verifica a identidade do portador junto ao emissor
Etapas indisponíveis para o merchant (por configuração ou falta de conexão com adquirente) são automaticamente ignoradas.
Este é o método recomendado para a maioria das integrações. Use os controladores individuais (tokenizer, threeds, fraudAnalysis) apenas quando precisar de controle granular sobre cada etapa.

Uso básico

Parâmetros

PreparePaymentRequest

Endereço (opcional, recomendado)

PreparePaymentOptions

Retorno

O método retorna uma union discriminada — verifique result.success para determinar o tipo:

Sucesso (PaymentSuccess)

Falha (PaymentFailure)

Em caso de falha no 3DS, o partialResult contém o token e o fraudSessionId das etapas anteriores. Isso permite que você decida no backend se aceita a transação sem autenticação 3DS.

Callback de progresso

O callback onStepChange permite atualizar a UI conforme cada etapa progride:

Exemplo com React

Quando usar cada abordagem

Comparação com o fluxo manual

Tratamento de erros

O preparePayment() nunca lança exceções (exceto para ValidationError de campos obrigatórios ausentes). Erros de cada etapa são capturados e retornados no resultado:
O único caso em que preparePayment() lança uma exceção é quando card.holderName não é fornecido — esse campo é obrigatório para o fluxo completo pois é necessário tanto na tokenização quanto no 3DS.