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/sdkConfiguracao
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;
}