v2.1.0
GitHubnpm

Node.js SDK

SDK para Node.js com suporte completo a TypeScript. Compativel com Node.js 18+.

Instalacao

npm install @axon-fintech/sdk
# ou
yarn add @axon-fintech/sdk
# ou
pnpm add @axon-fintech/sdk

Configuracao

client.tstypescript
import Axon from '@axon-fintech/sdk';

const axon = new Axon({
  apiKey: process.env.AXON_API_KEY!,
  environment: 'sandbox', // ou 'production'
});

Vault - Tokenizacao

vault.tstypescript
import Axon from '@axon-fintech/sdk';

const axon = new Axon({ apiKey: process.env.AXON_API_KEY! });

// Tokenizar cartao
const token = await axon.vault.tokens.create({
  card: {
    number: '4111111111111111',
    expMonth: 12,
    expYear: 2025,
    cvv: '123',
    holderName: 'JOAO SILVA',
  },
  metadata: {
    customerId: 'cust_123',
  },
});

console.log('Token:', token.id);
console.log('Brand:', token.card.brand);
console.log('Last4:', token.card.last4);

// Recuperar token
const retrieved = await axon.vault.tokens.retrieve(token.id);

// Deletar token
await axon.vault.tokens.delete(token.id);

Vault - PIX

pix.tstypescript
// Tokenizar chave PIX
const pixToken = await axon.vault.pix.create({
  keyType: 'cpf',
  keyValue: '12345678900',
  holderName: 'JOAO SILVA',
});

console.log('PIX Token:', pixToken.token);
console.log('Masked Key:', pixToken.maskedKey);

Synapse - Transformacoes

synapse.tstypescript
// Transformar mensagem ISO 20022
const result = await axon.synapse.transform({
  sourceFormat: 'pacs.008',
  targetFormat: 'pix_payment',
  message: pacs008Xml,
  options: {
    validate: true,
    enrich: true,
  },
});

console.log('Transformation ID:', result.transformationId);
console.log('Result:', result.data);

// Listar transformacoes suportadas
const transformations = await axon.synapse.listTransformations();

Tratamento de erros

errors.tstypescript
import Axon, { AxonError, RateLimitError, ValidationError } from '@axon-fintech/sdk';

try {
  const token = await axon.vault.tokens.retrieve('tok_invalid');
} catch (error) {
  if (error instanceof RateLimitError) {
    console.log('Rate limit exceeded. Retry after:', error.retryAfter);
  } else if (error instanceof ValidationError) {
    console.log('Validation error:', error.details);
  } else if (error instanceof AxonError) {
    console.log('Error code:', error.code);
    console.log('Message:', error.message);
    console.log('Request ID:', error.requestId);
  }
}

TypeScript

types.tstypescript
import type { Token, PixToken, TransformResult } from '@axon-fintech/sdk';

async function processCard(): Promise<Token> {
  const token = await axon.vault.tokens.create({
    card: {
      number: '4111111111111111',
      expMonth: 12,
      expYear: 2025,
      cvv: '123',
    },
  });

  return token;
}

Recursos