1.0.6 • Published 5 years ago

braspag-nodejs-sdk v1.0.6

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

Braspag SDK para Node.js

SDK para integração simplificada nos serviços da plataforma Braspag

Para documentação completa das APIs e manuais, acesse http://braspag.github.io/

Índice

Features

  • Instalação simplificada utilizando NPM, sem necessidade de arquivos de configuração
  • Endpoints Braspag já configurados no pacote
  • Seleção de ambientes Sandbox ou Production
  • Client para a API Braspag Auth (Obtenção de tokens de acesso)
  • Client para a API de pagamentos Recorrentes
  • Client para a API do Pagador (Autorização, Captura, Cancelamento/Estorno, Consulta)
  • Client para a API do Cartão Protegido (Salvar cartão, Recuperar cartão, Invalidar cartão)
  • Client para a API de análises do Velocity

Dependências

  • axios

Instalação

Caso já possua um arquivo package.json, adicione a seguinte dependência ao seu projeto:

"dependencies": {
    "braspag-nodejs-sdk": "*"
}

Com a dependência adicionada ao package.json, execute o comando:

npm i

De forma alternativa, a instalação pode ser realizada executando o comando abaixo diretamente em seu terminal:

npm i braspag-nodejs-sdk --save

Exemplos de Uso

Pagador

Para criar uma transação utilizando cartão de crédito:

/* Criação do Cliente Pagador */
const PagadorClient = require('braspag-nodejs-sdk').PagadorClient;

const pagadorClient = new PagadorClient({
            env: 'sandbox',
            credentials: {
                MerchantId: 'ID_DA_LOJA', 
                MerchantKey: 'CHAVE_DA_LOJA'
        }});

/* Preenchimento dos dados da venda */
var request = {
        MerchantOrderId: '123456789',
        Customer: {
            Name: 'Bjorn Ironside',
            Identity: '762.502.520-96',
            IdentityType: 'CPF',
            Email: 'bjorn.ironside@vikings.com.br'
        },
        Payment: {
            Provider: 'Simulado',
            Type: 'CreditCard',
            Currency: 'BRL',
            Country: 'BRA',
            Amount: 150000,
            Installments: 1,
            SoftDescriptor: 'Braspag SDK',
            CreditCard: {
                CardNumber: '4485623136297301',
                Holder: 'BJORN IRONSIDE',
                ExpirationDate: '12/2025',
                SecurityCode: '123',
                Brand: 'Visa'
            }
        }
    };

/* Obtenção do resultado da operação */
var response = await pagadorClient.createSale(request);

Para criar uma transação utilizando cartão de débito:

/* Criação do Cliente Pagador */
const PagadorClient = require('braspag-nodejs-sdk').PagadorClient;

const pagadorClient = new PagadorClient({
            env: 'sandbox',
            credentials: {
                MerchantId: 'ID_DA_LOJA', 
                MerchantKey: 'CHAVE_DA_LOJA'
        }});

/* Preenchimento dos dados da venda */
var request = {
        MerchantOrderId: '123456789',
        Customer: {
            Name: 'Bjorn Ironside',
            Identity: '762.502.520-96',
            IdentityType: 'CPF',
            Email: 'bjorn.ironside@vikings.com.br'
        },
        Payment: {
            Provider: 'Simulado',
            Type: 'DebitCard',
            Currency: 'BRL',
            Country: 'BRA',
            Amount: 150000,
            Installments: 1,
            SoftDescriptor: 'Braspag SDK',
            ReturnUrl: 'http://www.sualoja.com/url-de-retorno',
            Authenticate: true,
            DebitCard: {
                CardNumber: '4485623136297301',
                Holder: 'BJORN IRONSIDE',
                ExpirationDate: '12/2025',
                SecurityCode: '123',
                Brand: 'Visa'
            }
        }
    };

/* Obtenção do resultado da operação */
var response = await pagadorClient.createSale(request);

Para criar uma transação utilizando boleto registrado:

/* Criação do Cliente Pagador */
const PagadorClient = require('braspag-nodejs-sdk').PagadorClient;

const pagadorClient = new PagadorClient({
            env: 'sandbox',
            credentials: {
                MerchantId: 'ID_DA_LOJA', 
                MerchantKey: 'CHAVE_DA_LOJA'
        }});

/* Preenchimento dos dados da venda */
var request = {
        MerchantOrderId: '123456789',
        Customer: {
            Name: 'Bjorn Ironside',
            Identity: '762.502.520-96',
            IdentityType: 'CPF',
            Email: 'bjorn.ironside@vikings.com.br'
        },
        Payment: {
            Provider: 'Simulado',
            Type: 'Boleto',
            Currency: 'BRL',
            Country: 'BRA',
            Amount: 150000,
            BoletoNumber: '2017091101',
            Assignor: 'Braspag',
            Demonstrative: 'Texto demonstrativo',
            ExpirationDate: '2019-03-20',
            Identification: '11017523000167',
            Instructions: 'Aceitar somente até a data de vencimento.'
        }
    };

/* Obtenção do resultado da operação */
var response = await pagadorClient.createSale(request);

Cartão Protegido

Para salvar um cartão de crédito em um cofre PCI:

/* Criação do Cliente Cartão Protegido */
const CartaoProtegidoClient = require('braspag-nodejs-sdk').CartaoProtegidoClient;

const cartaoProtegidoClient = new CartaoProtegidoClient({
            env: 'sandbox',
            credentials: {
                MerchantKey: 'CHAVE_DA_LOJA'
            }
        });

/* Preenchimento dos dados do cartão a ser salvo */
var request = {
    CustomerName: 'Bjorn Ironside',
    CustomerIdentification: '762.502.520-96',
    CardHolder: "BJORN IRONSIDE",
    CardExpiration: "10/2025",
    CardNumber: "1000100010001000"
};

/* Obtenção do resultado da operação */
var response = await cartaoProtegidoClient.saveCreditCard(request);

Para obter os dados de um cartão de crédito previamente salvo em cofre PCI:

/* Criação do Cliente Cartão Protegido */
const CartaoProtegidoClient = require('braspag-nodejs-sdk').CartaoProtegidoClient;

const cartaoProtegidoClient = new CartaoProtegidoClient({
            env: 'sandbox',
            credentials: {
                MerchantKey: 'CHAVE_DA_LOJA'
            }
        });

/* Preenchimento do objeto GetCreditCardRequest */
$request = new GetCreditCardRequest();
$request->JustClickKey = "CREDITCARD_TOKEN";

/* Obtenção do resultado da operação */
let response = await client.getCreditCard({
            JustClickKey: 'CREDITCARD_TOKEN'
        });

Velocity

Análise de uma transação com o Velocity:

/* Criação do Token de Acesso OAUTH via Braspag Auth */
const BraspagAuthClient = require('braspag-nodejs-sdk').BraspagAuthClient;

const authClient = new BraspagAuthClient({env: 'sandbox'});
let authResponse = await authClient.createAccessToken({
    clientId: 'CLIENT_ID',
    clientSecret: 'CLIENT_SECRET',
    grantType: 'client_credentials',
    scope: 'VelocityApp'
});

/* Criação do Cliente Velocity */
const VelocityClient = require('braspag-nodejs-sdk').VelocityClient;

const client = new VelocityClient({
    env: 'sandbox',
    credentials: {
            MerchantId: '94E5EA52-79B0-7DBA-1867-BE7B081EDD97', 
            AccessToken: authResponse.access_token
    }
});

/* Obtenção do resultado da operação */
let response = await client.performAnalysis({
    Customer: {
        Name: 'Bjorn Ironside',
        Identity: '76250252096',
        IpAddress: "127.0.0.1",
        Email: "bjorn.ironside@vikings.com.br",
        BirthDate: "1982-06-30",
        Phones: [
            {
                Type: "Cellphone",
                Number: "999999999",
                DDI: "55",
                DDD: "11"
            },
        ],
        Billing: {
            Street: "Alameda Xingu",
            Number: "512" ,
            Neighborhood: "Alphaville",
            City: "Barueri",
            State: "SP",
            Country: "BR",
            ZipCode: "06455-030"
        },
    },
    Transaction: {
        OrderId: uuid(),
        Date: 'YYYY-MM-DD hh:mm:ss',
        Amount: 1000,
    },
    Card: {
        Number: '1000100010001000',
        Holder: 'BJORN IRONSIDE',
        ExpirationDate: '10/2025',
        Brand: 'Visa'
    },
});
1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago