data7-pix
TypeScript icon, indicating that this package has built-in type declarations

1.0.7 • Public • Published

SDK que permite um conexão simplificada com a API Pix de diversos PSP's.

Bancos Implementados: -> Sicredi -> Gerencianet

Bancos com implementação em andamento: -> Sicoob -> Itau -> Bradesco

Exemplos abaixo:

import { PixSicredi } from "data7-pix";
import { DadosCobranca, SicrediProps } from "./types";
import { criar_txid } from "./utils/tx_id.js";

/**
 * O serviço PIX possui os seguintes métodos

ServicoPix {
  config: (props: Props) => ServicoPix;
  criar_cobranca: (data: DadosCobranca) => Promise<Cobranca>;
  alterar_cobranca: (data: DadosCobranca) => Promise<Cobranca>;
  consultar_cobranca: (txid: string) => Promise<CobrancaCompleta | undefined>;
  listar_cobrancas: (filtros: FiltroConsulta) => Promise<ListaCobrancas>;
  cancelar_cobranca: (txid: string) => Promise<boolean>;
  consultar_pix_recebido: (e2eid: string) => Promise<RecebimentoPix | undefined>;
  listar_pix_recebidos: (filtros: FiltroConsulta) => Promise<ListaRecebimentosPix>;
  devolver_pix_recebido: (e2eid: string,id_devolucao: string,valor: number) => Promise<DevolucaoPix>;
  consultar_pix_devolvido: (e2eid: string,id_devolucao: string) => Promise<DevolucaoPix>;
  registrar_webhook: (url: string) => Promise<boolean>;
  consultar_webhook: () => Promise<IWebHook>;
  deletar_webhook: () => Promise<boolean>;
  dto_webhook: (data: any) => RecebimentoPix[];
}
 */

//EXEMPLOS:

// O método config só precisa ser usado uma vez, após isso pode se usar os demais métodos em qualquer lugar da aplicação

const _config: SicrediProps = {
  cert_path: "C:\\Dev\\Certs\\Sicredi\\Certificado.pem",
  key_path: "C:\\Dev\\Certs\\Sicredi\\Certificado.key",
  ca_path: "C:\\Dev\\Certs\\Sicredi\\CadeiaCompleta.cer",
  chave_pix: "+5566988887777",
  client_id: "your_client_id", //Caso use o ambiente de homologação, usar o respectivo client_id
  client_secret: "your_client_secret", //Caso use o ambiente de homologação, usar o respectivo client_secret
  sandbox: true, /// Essa propridade habilita o ambiente de homologação. Valor padrão: false
};

PixSicredi.config(_config);

// >>>>>>> COBRANÇAS
async function CriarCobranca(valor: number) {
  const Cob: DadosCobranca = {
    tx_id: criar_txid(),
    valor: String(valor),
  };
  return await PixSicredi.criar_cobranca(Cob);
  //Retorna objeto de cobrança / Error
}

async function AlterarCobranca() {
  return await PixSicredi.criar_cobranca({
    tx_id: criar_txid(),
    valor: "0.02",
    solicitacaoPagador: "Alteracao de valor teste",
  });
  //Retorna objeto de cobrança / Error
}

async function CancelarCobranca(tx_id: string) {
  return await PixSicredi.cancelar_cobranca(tx_id);
  // Retorna um boolean / Error
}

async function ConsultarCobranca(tx_id: string) {
  return await PixSicredi.consultar_cobranca(tx_id);
  // Retorna um objeto Cobranca com recebimentos e devoluçoes ou undefined / Error
}

async function ConsultaListaCobrancas() {
  const data_inicio = new Date();
  data_inicio.setDate(data_inicio.getDate() - 1);
  return await PixSicredi.listar_cobrancas({
    data_inicio: data_inicio.toISOString(),
    data_fim: new Date().toISOString(),
  });
  // Retorna um objeto de consulta de cobrancas / Error
}

// >>>>>> PIX
async function ConsultarPIX(e2eid: string) {
  return await PixSicredi.consultar_pix_recebido(e2eid);
  // Retorna um objeto de Recebimento com devoluçoes ou undefined / Error
}

async function DevolverPix(tx_id: string, id_devolução: string, valor: number) {
  return await PixSicredi.devolver_pix_recebido(tx_id, id_devolução, valor);
  // Retorna boolean / Error
}

async function ConsultaListaPixRecebidos() {
  const data_inicio = new Date();
  data_inicio.setDate(data_inicio.getDate() - 1);
  return await PixSicredi.listar_pix_recebidos({
    data_inicio: data_inicio.toISOString(),
    data_fim: new Date().toISOString(),
  });
  // Retorna um objeto de consulta de Recebimentos / Error
}

/// Webhook
async function Registrar_Atualizar_Webhook(webhook_url: string) {
  return await PixSicredi.registrar_webhook(webhook_url);
  // Retorna boolean / Error
}

function DTO_Webhook(data: any) {
  return PixSicredi.dto_webhook(data);
  // Retorna o objeto de Recebimento Pix em um formato padrão / Error
  /**
  OBJ:{
  e2eid: string,
  txid: string,
  valor: string,
  valor_cobranca: string,
  valor_devolvido: string,
  horario: string,
  devolucoes: DevolucaoPix[],
  banco: 'BANCO',
  }
   */
}

Readme

Keywords

none

Package Sidebar

Install

npm i data7-pix

Weekly Downloads

0

Version

1.0.7

License

MIT

Unpacked Size

148 kB

Total Files

68

Last publish

Collaborators

  • matheus-develope