Download the PHP package joshua-barbosa/erede-sdk without Composer

On this page you can find all versions of the php package joshua-barbosa/erede-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package erede-sdk

eRede SDK

Packagist Tests PHP Buy Me A Coffee

SDK PHP para a API eRede (Rede) com autenticação OAuth 2.0, integrado ao Laravel.

Suporta Laravel 8 a 13 / PHP 8.0+.

Compatibilidade

Laravel PHP Testado no CI Situação
13.x 8.3 · 8.4 ✅ Recomendado
12.x 8.3 ✅ Recomendado
11.x 8.2 ✅ ⚠️ Suporte a ser removido
10.x 8.1 ✅ ⚠️ Suporte a ser removido
9.x 8.1 ✅ ⚠️ Suporte a ser removido
8.x 8.0 ✅ ⚠️ Suporte a ser removido

⚠️ Laravel 8, 9, 10 e 11 serão descontinuados

O suporte a essas versões existe como medida paliativa, para que projetos legados consigam usar o SDK enquanto a migração não acontece. Ele será removido numa versão futura, sem prazo definido mas sem cerimônia — provavelmente na primeira versão que precisar de um recurso mais novo do framework.

Todas as quatro já estão fora do suporte oficial da Laravel e carregam advisories de segurança conhecidas. Na prática isso significa que o Composer 2.10+ recusa instalá-las por padrão — se o seu projeto está numa delas, você já convive com esse bloqueio, independentemente deste pacote.

Migre para o Laravel 12 ou 13. Enquanto isso não é viável, fixe a versão do SDK para não ser surpreendido quando o suporte cair:

O ~0.2.0 aceita correções (0.2.1, 0.2.2) mas não sobe para 0.3.0, que é onde a remoção pode acontecer.

O piso de PHP 8.0 custou alguns recursos de 8.1+ (readonly, enum nos testes). O que foi cedido e como reverter está em docs/php-8.0-compat.md.

Instalação

O ServiceProvider é descoberto automaticamente — nada a registrar manualmente.

O pacote está em 0.x: a API pública ainda pode mudar. O SemVer permite alterações incompatíveis entre versões 0.x diferentes, então fixe em ~0.2.0 se quiser proteção contra quebras — sobretudo se você depende do suporte a Laravel 8–11.

Desenvolvimento local

Para editar o pacote e ver o efeito imediato na aplicação, use um repositório path:

Com symlink: true o Composer aponta o vendor/ para a sua cópia local: você edita o pacote e o efeito é imediato, sem composer update.

Publicar a configuração

Isso cria config/erede.php na aplicação. O pacote funciona sem publicar — os padrões vêm do próprio arquivo interno —, mas publicar é o caminho para versionar ajustes de timeout, cache e log.

Configuração

No OAuth 2.0 da Rede o PV é o clientId e a chave de integração é o clientSecret.

Proxy

Ambientes corporativos costumam exigir saída por proxy. Basta definir:

Isso aplica o mesmo proxy a HTTP e HTTPS. Para separar, ou para excluir hosts:

Se nenhuma variável for definida, nenhuma opção de proxy é passada ao Guzzle.

Timeouts

Não há retry automático: criar transação é um POST não idempotente e uma retentativa cega pode gerar cobrança duplicada. Se precisar de retry, aplique-o apenas nas leituras (get, getByReference).

Log

O pacote registra o canal erede em logging.channels automaticamente (driver daily, storage/logs/erede.log, retenção de 14 dias) e loga por ele.

Se você definir logging.channels.erede no config/logging.php da aplicação, a sua definição prevalece — o pacote nunca sobrescreve configuração explícita. Use isso para mandar o eRede para um stack, Slack, Sentry etc.:

Todo contexto passa por eRede\Support\Redactor antes de ir para o log: access_token, securityCode, cvv e afins viram [REDACTED], e cardNumber fica mascarado preservando os 4 últimos dígitos.

Cache do access_token

O token é reaproveitado até expirar, descontando 60 s de margem.

Com múltiplos workers, prefira um store compartilhado (redis, memcached). Com file ou array cada processo autentica por conta própria.

Uso

Injeção de dependência (recomendado)

Ou app(eRede::class).

Instância explícita

Útil quando o PV varia por loja/tenant:

Argumentos omitidos caem para o config/erede.php — passar só o pv mantém timeouts, proxy e cache da aplicação.

Criar uma transação de crédito

Autorizar agora, capturar depois

Consultar

Cancelar / estornar

Referência da API

Documentação detalhada de cada tipo, separada por camada:

Documento Conteúdo
docs/classes.md eRede\Classes — objetos de entrada que você monta (Transaction, Amount, Url) e os blocos aninhados das respostas (Authorization, Capture, Refund, Status, Link), além da tabela ReturnResponse
docs/components.md eRede\Components — Transactions e Refunds, os verbos do SDK: quais endpoints chamam, como resolvem o tid e o que retornam
docs/responses.md eRede\Responses — Transaction, TransactionGet, Refund e RefundGet: como a hidratação via fromData funciona e o que cada campo significa
docs/traits.md eRede\Traits — ToArray (serialização e a regra do ignoreNullable), Attribute (acesso por nome) e RetrieveResponse (resposta HTTP → payload ou exceção)

Tratamento de erros

Todas as falhas de comunicação e de negócio lançam eRede\Exceptions\eRedeException, que estende \Exception.

Erros de configuração (credenciais ausentes, ambiente inválido) lançam ConfigurationException, que também estende eRedeException — capture-a separadamente se quiser distinguir falha de setup de recusa do emissor.

InvalidArgumentException continua sendo lançada para uso incorreto da API do SDK (consulta sem tid, por exemplo).

Testes

Desenvolver o pacote exige PHP 8.1+, embora ele rode em 8.0. O motivo é o laravel/pint, que exige 8.1. Para instalar as dependências de desenvolvimento em PHP 8.0, remova-o antes: composer remove --dev laravel/pint --no-update. É o que a linha de PHP 8.0 do CI faz.

99 testes, 364 asserções. Cobertura: 94,94% de linhas / 92,46% de métodos (medida com PCOV em PHP 8.3).

A suíte usa Http::fake() — nenhuma requisição sai para a Rede.

Para cobertura local:

Nos testes da sua aplicação, faça o mesmo:

Corrigido na extração

Pendências conhecidas

Herdadas da versão original e mantidas para não alterar comportamento nesta extração:

Apoie

Este pacote é mantido nas horas vagas. Se ele te poupou algumas horas de briga com a API da Rede, me paga um café ☕ — ajuda a manter a compatibilidade em dia conforme o Laravel e a API da Rede evoluem.

Contribuição de código também é bem-vinda: abra uma issue ou um PR.

Licença

MIT.


All versions of erede-sdk with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0
illuminate/contracts Version ^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
illuminate/http Version ^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^8.0|^9.0|^10.0|^11.0|^12.0|^13.0
guzzlehttp/guzzle Version ^7.5
psr/log Version ^1.1|^2.0|^3.0
symfony/http-foundation Version ^5.4|^6.0|^7.0|^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package joshua-barbosa/erede-sdk contains the following files

Loading the files please wait ...