Comece Aqui

SDK de Tokenização

O @validapay/tokenize converte os dados do cartão em um paymentMethodId seguro — sem que os dados brutos trafeguem pelo seu servidor.

Como funciona

1

Chame tokenize() com suas credenciais e os dados do cartão

2

O SDK obtém o token de acesso internamente

3

Retorna um paymentMethodId seguro (pm_xxx)

4

Use o ID para criar cobranças — o cartão nunca trafega pelo seu servidor

1. Instalar o SDK

npm install @validapay/tokenize

2. Tokenizar o cartão

Chame tokenize() passando suas credenciais e os dados do cartão. O SDK obtém o token de acesso internamente — você não precisa gerenciar o fluxo OAuth.

import { tokenize } from '@validapay/tokenize';

const result = await tokenize({
  clientId: 'seu_client_id',
  clientSecret: 'seu_client_secret',
  card: {
    number: '5230552482605921',
    cardHolderName: 'LUKE SKYWALKER',
    cvv: '100',
    expiration: '12/2030',
  },
  customer: {
    name: 'Luke Skywalker',
    document: '86564950039',
    email: 'luke@teste.com',
  },
});

console.log(result.paymentMethodId); // pm_abc123
Parâmetros de tokenize()
ParâmetroTipoDescrição
clientIdstringClient ID das suas credenciais ValidaPay
clientSecretstringClient Secret das suas credenciais ValidaPay
card.numberstringNúmero do cartão sem espaços (16 dígitos)
card.cardHolderNamestringNome impresso no cartão (caixa alta)
card.cvvstringCódigo de segurança (3 ou 4 dígitos)
card.expirationstringValidade no formato MM/YYYY
customer.namestringNome completo do portador do cartão
customer.documentstringCPF sem formatação (11 dígitos)
customer.emailstringE-mail do portador

Retorno — 200 OK

{
  "paymentMethodId": "pm_1781878250527_57pqifbga",
  "customerId": "cus_1781730599969_0xkofruxu",
  "accountNumber": "4218590",
  "type": "CREDIT_CARD",
  "status": "ACTIVE",
  "isDefault": false,
  "cardBrand": "MASTERCARD",
  "cardLastFour": "5921",
  "cardExpirationMonth": "12",
  "cardExpirationYear": "2030",
  "cardHolderName": "jose teste",
  "createdAt": "2026-06-19T14:10:50.666Z",
  "updatedAt": "2026-06-19T14:10:50.666Z"
}

Erros comuns

400Dados do cartão inválidos
{ "message": "Falha ao tokenizar cartão", "code": "CARD_TOKENIZATION_FAILED" }
400Campo obrigatório ausente ou formato inválido
{ "message": "card.number is required", "code": "VALIDATION_ERROR" }
403Escopo não autorizado
{ "message": "Forbidden", "code": "FORBIDDEN" }
404Conta não encontrada (pode ser transitório)
{ "message": "Conta não encontrada", "code": "ACCOUNT_NOT_FOUND" }