Safe2Pay SDK (nodejs / deno / bun.js) -> W.I.P.

  • 0 dependencias
  • typescript friendly
  • compativel com nodejs (>=10) / deno ( >= 1.29.1) / bun.js (0.4.0)

Principais recursos

  • Consulta de transações.
  • Tokenização de cartão.
  • Pagamentos.
    • Boleto bancário.
    • Cartão de crédito.
    • Bitcoin.
    • Carnê.
    • Lote de Carnês.

Instalação

npm i safe2pay_sdk
yarn add safe2pay_sdk
pnpm add safe2pay_sdk
bun add safe2pay_sdk

Utilização

A integração com a API do Safe2Pay se dá pelo modelo RESTful, de forma a realizar a transferência segura e simplificada dos dados pelo formato JSON. Para facilitar o envio dos dados, deve-se montar um objeto para envio baseado nos modelos disponíveis, com exemplos abaixo, e a própria chamada do método desejado realizará o tratamento e conversão deste objeto para JSON.

Exemplo

  • import { createSafe2pay } from 'safe2pay_sdk'
  • const apiClient = createSafe2pay(TOKEN)

Após a importação da biblioteca para utilizar basta utilizar o comando 'apiClient' e utilizar o módulo desejado.

As APIs do inclusas na SDK são:

  • Carnet
  • Payments (boleto, creditCard, cryptocurrency, pix)
  • Tokenization
  • Transaction

Pagamentos / Transações

Consultar transação

import { createSafe2Pay } from  'safe2pay_sdk';
const { consultTransaction } =  createSafe2pay('key');

consultTransaction({
    params: {
        Id:  848906
    }
}).then((result) => {
    //...
    }).catch((error) {
    //...
});

Tokenizando um cartão

import { createSafe2Pay } from  'safe2pay_sdk';
const { createToken } =  createSafe2pay('key');

createToken({
    data: {
            IsSandbox:  false,
            CardNumber:  '44654654654654564',
            Holder:  'JOÂO DA SILVA SAURO',
            ExpirationDate:  '20/1990',
            SecurityCode:  '222'
        }
}).then((result) => {
    //...
    }).catch((error) {
    //...
});

Criando uma venda com Boleto

import { createSafe2pay, CodeTaxTypeEnum, CodeReceiverTypeEnum, DiscountTypeEnum } from  'safe2pay_sdk';

const { createBoleto } =  createSafe2pay('key');

createBoleto({
    data: {
        IsSandbox:  false,
        IpAddress:  '',
        Application:  '',
        Vendor:  '',
        CallbackUrl:  '',
        Reference:  '',
        Meta: {
            bla:  'lol'
        },
        Customer: {
            Identity:  '456465456465'
        },
        Products: [
            {
                Code:  '3333',
                Description:  'string',
                UnitPrice:  111,
                Quantity:  1
            }
        ],
        Splits: [
            {
                CodeTaxType:  CodeTaxTypeEnum.FIXED,
                CodeReceiverType:  CodeReceiverTypeEnum.COMPANY,
                IdReceiver:  10,
                Identity:  '651651651561',
                Name:  'jão mingal',
                IsPayTax:  true,
                Amount:  222
            }
        ],
        PaymentObject: {
            DueDate:  '20/12/2066',
            Instruction:  '',
            Message: ['Mensagem 1', 'Mensagem 2', 'Mensagem 3'],
            PenaltyRate:  10,
            InterestRate:  50,
            CancelAfterDue:  true,
            DaysBeforeCancel:  6,
            IsEnablePartialPayment:  false,
            DiscountAmount:  10,
            DiscountType:  DiscountTypeEnum.FIXED,
            DiscountDue:  '19/12/2066'
        }
    }
});

TODO ->

  • Tipagem de todos os metodos.
  • Criar documentação detalhada.
  • Teste unitario.