levicosta201/gerencianet-pix-sdk 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

levicosta201/gerencianet-pix-sdk

Composer 安装命令:

composer require levicosta201/gerencianet-pix-sdk

包简介

Package to connect with PIX Api from Gerencianet

README 文档

README

Latest Stable Version Total Downloads Latest Unstable Version License

Essa API foi desenvolvida para facilitar a integração com a API do PIX da Gerencianet. Você pode isntalar em qualquer projeto via composer.

New Features!

  • Autenticação
  • Geração de cobrança

A medida que forem desenvolvidas novas features iremos adicionando aqui neste documento, a API será atualizada constantemente até que seja realizado a comunicação com todas as partes da API.

Requisítos Mínimos

Para utilizar este SDK você precisará de no mínimo:

  • [PHP] - php: >=7.3
  • [CURL] - Latest Version
  • [COMPOSER] - Latest Version

Instalação

A instalação deste SDK é ralmente muito simples e você poderá fazer isso apenas com o comando abaixo.

$ composer require levicosta201/gerencianet-pix-sdk

Utilização

Utilizar este SDK também foi facilitado. Sabemos que o SDK da GN é simples de utilizar, porém foi feita uma organização para melhor compreesão e facilidade da emissão do PIX. Veja o exemplo abaixo:

Autenticação:

Antes de efetuar qualquer transação na API PIX da GN é preciso que você receba um token de autenticação, este token pode ser obtido por meio de ticket da própria GN.

//Aqui são aceitos dois parâmetros em forma de string, homolog ou production
$connect = new Gerencianet\Pix\Connect('production');
//Aqui você você precisa informar apenas o caminho do seu certificado .pem fornecido pela GN
$connect = $connect->setCertFile('PATH_TO_CERT_FILE')
    ->setClientId(env('GERENCIA_NET_CLIENT_ID'))
    ->setClientSecret(env('GERENCIA_NET_CLIENT_SECRET'));
return $connect->proccess();

A solicitação acima irá retornar um array com os seguintes dados:

[▼
  "data" => array:2 [▼
    "accessToken" => "AQUI_IRA_VIR_SEU_TOKEN_DE_ACESSO ▶"
    "tokenType" => "Bearer"
  ]
]

Cobrança:

Após a autenticação você já possui o necessário para realizar uma cobrança, que poderá ser realizada da seguinte maneira:

$pixCharge = new Gerencianet\Pix\Charge('production');
$pixCharge = $pixCharge->setCepDebtor('12300999')
    ->setCityDebtor('CIDADE_DE_QUEM_PAGA')
    ->setFreeValue(false)
    ->setNameDebtor('Nome de quem paga')
    ->setCpfCnpjDebtor('CPF_DEQUEM_PAGA')
    ->setValue(10.0)
    ->setType('estatico')
    ->setDescriptionService('Teste de descrição')
    ->setDimenQrCoode(256)
    ->setUniquePay(true)
    ->setExpiresTimeQrCode(3600)
    ->setAccessToken($authData['accessToken'])
    ->setTokenType('TIPO_TOKEN_RETORNO_API')
    ->setKeyPix('SUA_CHAVE_PIX_GN');
return $pixCharge->create();

Parâmetros

Função Tipo Descrição
setNameDebtor() String Deverá ser informado o nome de quem está REALIZANDO O PAGAMENTO do Pix
setCpfCnpjDebtor() String Deverá ser informado o CPF/CNPJ de quem está REALIZANDO O PAGAMENTO do Pix. Sem pontos e sem traços
setCepDebtor() String Deverá ser informado o CEP de quem está REALIZANDO O PAGAMENTO do Pix
setCityDebtor() String Deverá ser informado a Cidade de quem está REALIZANDO O PAGAMENTO do Pix
setFreeValue() Bool Deverá ser informado se o valor do pagamento é livre ou não
setValue() Float Deverá ser informado o valor da cobrança do Pix
setType() Bool Deverá ser informado se o QR Code será dinâmico ou estático
setDescriptionService() String Deverá ser informado a descrição da cobrança
setDimenQrCoode() Integer Deverá ser informado o tamanho da imagem do QR Code, o tamanho máximo é 256px
setUniquePay() Bool Deverá ser informado se o QR Code poderá ser reutilizado
setExpiresTimeQrCode() Integer Deverá ser informado o tempo de expiração do QR Code em Milisegundos
setKeyPix() String Deverá informar a sua chave PIX cadastrada no GN sem pontos e sem traços
setTokenType() String Deverá informar o tipo de token que a API retorna
create() Class Executa a cobrança e retorna o array com os dados da cobrança

Caso tenha sucesso na execução acima você deverá receber o seguinte retorno em forma de array

array:4 [▼
  "success" => "true"
  "barCode" => "CODIGO_DE_BARRAS"
  "qrCodeBase64" => "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAABlB"
  "pixData" => array:7 [▼
    "calendario" => array:1 [▼
      "expiracao" => "3600"
    ]
    "devedor" => array:2 [▼
      "cpf" => "CPF_PAGADOR"
      "nome" => "NOME_PAGADOR"
    ]
    "valor" => array:1 [▼
      "original" => 0.01
    ]
    "chave" => "28656307000164"
    "solicitacaoPagador" => "Teste de descrição"
    "txid" => "5m6KHjHtDP2a 5Yva30gWjMrA"
  ]
]

Listagem de Pix:

Após realizar a sua cobrança, você poderá listar e visualizar as cobranças recebidas, para isso faça da seguinte forma:

$authData = PixService::auth();
$issuedPix = new Issued();
$issuedPix = $issuedPix->setInitDate("2020-12-09" . "T00:00:00Z")
    ->setEndDate("2021-12-12" . "T00:00:00Z")
    ->setCertFile(self::getCertFile())
    ->setTokenType($authData['tokenType'])
    ->setAccessToken($authData['accessToken']);

return $issuedPix->list();

Parâmetros

Função Tipo Descrição
setInitDate() DateTime Deverá ser informado para saber qual o início do período da busca
setEndDate() DateTime Deverá ser informado para saber qual o fim do período da busca
setFilterCpf() String Deverá ser informado para filtrar PIX por um CPF específico
setFilterCnpj() String Deverá ser informado para filtrar PIX por um CNPJ específico
setPaginate() Integer Deverá ser informado para filtrar a paginação da Lista do PIX
setItensPerPage() Integer Deverá ser informado para o retorno de quantos PIX serão exibidos por página

Caso tenha sucesso na requisição você receberá o seguinte array:

array:2 [▼
  "parametros" => array:3 [▼
    "inicio" => "2020-12-09T00:00:00Z"
    "fim" => "2021-12-12T00:00:00Z"
    "paginacao" => array:4 [▼
      "paginaAtual" => 0
      "itensPorPagina" => 100
      "quantidadeDePaginas" => 1
      "quantidadeTotalDeItens" => 1
    ]
  ]
  "pix" => array:1 [▼
    0 => array:4 [▼
      "endToEndId" => "ABCDEFGR020121414PVXK1"
      "valor" => "0.01"
      "horario" => "2020-12-14T14:24:19.000Z"
      "infoPagador" => "API"
    ]
  ]
]

Todos

  • Lis PIX
  • List PIX Cob
  • Pix Webhook
  • Cancel PIX

License

MIT

Free Software, Hell Yeah!

levicosta201/gerencianet-pix-sdk 适用场景与选型建议

levicosta201/gerencianet-pix-sdk 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 47 次下载、GitHub Stars 达 9, 最近一次更新时间为 2020 年 12 月 14 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 levicosta201/gerencianet-pix-sdk 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 levicosta201/gerencianet-pix-sdk 我们能提供哪些服务?
定制开发 / 二次开发

基于 levicosta201/gerencianet-pix-sdk 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 47
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: mit
  • 更新时间: 2020-12-14