PHPackages                             modularavel/larapix - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. modularavel/larapix

ActiveLibrary[Payment Processing](/categories/payments)

modularavel/larapix
===================

Gerar QRCODE e chave copia e cola com valor definido para pagamentos via PIX!

1.2.0(1mo ago)12[3 PRs](https://github.com/modularavel/larapix/pulls)MITPHPPHP ^8.1CI passing

Since Feb 8Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/modularavel/larapix)[ Packagist](https://packagist.org/packages/modularavel/larapix)[ Docs](https://github.com/modularavel/larapix)[ GitHub Sponsors](https://github.com/Modularavel)[ RSS](/packages/modularavel-larapix/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (2)Dependencies (28)Versions (6)Used By (0)

 [![Larapix - Pagamentos PIX para Laravel](https://github.com/modularavel/larapix/raw/main/screens/banner.png?raw=true)](https://github.com/modularavel/larapix/blob/main/screens/banner.png?raw=true)

modu**laravel/larapix**
=======================

[](#modularavellarapix)

 **Gere QR Codes e códigos PIX copia e cola para pagamentos instantâneos no Laravel.**

 [![Versão no Packagist](https://camo.githubusercontent.com/722d33ef31663156b78a297eae76c40e7e18d5523f2b489acb6d6ac5bbd3eaaa/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d6f64756c61726176656c2f6c6172617069782e7376673f7374796c653d666c61742d737175617265266c6162656c3d766572732543332541336f)](https://packagist.org/packages/modularavel/larapix) [![Status dos Testes](https://camo.githubusercontent.com/2bb7f236e481f8e4bf7bd517ce1ff91327c285d4dee56e093716bbc00b6ce975/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6f64756c61726176656c2f6c6172617069782f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d746573746573267374796c653d666c61742d737175617265)](https://github.com/modularavel/larapix/actions?query=workflow%3Arun-tests+branch%3Amain) [![Code Style](https://camo.githubusercontent.com/d213051599a44c470102249b61f558c21d345e92070d03aaaaaa308af205389b/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d6f64756c61726176656c2f6c6172617069782f6669782d7068702d636f64652d7374796c652d6973737565732e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/modularavel/larapix/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain) [![Total de Downloads](https://camo.githubusercontent.com/7705a5501c8e55180bbf255866d1a32795cdf00ae864c1d8a6d8965d739f600c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d6f64756c61726176656c2f6c6172617069782e7376673f7374796c653d666c61742d737175617265266c6162656c3d646f776e6c6f616473)](https://packagist.org/packages/modularavel/larapix) [![Licença MIT](https://camo.githubusercontent.com/26d3f14b31b5ccadd3347ead285c433903442ab0883ec9a6a3193f432ae11d4f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e254333254137612d4d49542d677265656e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/modularavel/larapix/blob/main/LICENSE.md) [![PHP ^8.1](https://camo.githubusercontent.com/3045cf0508915ba31aaac569e8357235e95233d88476177abccc678558a499b8/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d5e382e312b2d3838393242462e7376673f7374796c653d666c61742d737175617265)](https://www.php.net/) [![Laravel 10|11|12](https://camo.githubusercontent.com/fd00be1189e8bf0375746dcf83ef574300f71ab01e66288187b67a2eb3d48b4f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302e782532307c25323031312e782532307c25323031322e782d4646324432302e7376673f7374796c653d666c61742d737175617265)](https://laravel.com/)

---

📖 Sobre
-------

[](#-sobre)

**Larapix** é um pacote Laravel elegante e minimalista para gerar pagamentos PIX de forma programática. Com uma interface fluente e intuitiva, você pode criar códigos copia e cola e QR Codes prontos para uso em segundos.

### ⚡ Principais Funcionalidades

[](#-principais-funcionalidades)

FuncionalidadeDescrição🔑 **Código Copia e Cola**Gera o payload PIX completo conforme especificação BACEN📱 **QR Code PNG**Gera imagem QR Code pronta para exibição🧹 **Sanitização Automática**Remove acentos e caracteres especiais da cidade automaticamente⛓️ **Interface Fluente**API encadeável e expressiva🏭 **Facade**Acesso simplificado via `Larapix::cobrar()`⚙️ **Configurável**Valores padrão via `.env` ou config🖼️ **View Blade**Template responsivo pronto para uso✅ **CRC16-CCITT**Checksum conforme padrão do Banco Central---

📦 Instalação
------------

[](#-instalação)

Instale o pacote via Composer:

```
composer require modularavel/larapix
```

Publique o arquivo de configuração:

```
php artisan vendor:publish --tag="larapix-config"
```

Opcionalmente, publique as views:

```
php artisan vendor:publish --tag="larapix-views"
```

---

⚙️ Configuração
---------------

[](#️-configuração)

Após publicar o config, edite `config/larapix.php`:

```
return [
    // Chave PIX (CPF, CNPJ, e-mail, telefone ou aleatória)
    'chave_pix' => env('LARAPIX_CHAVE_PIX'),

    // Nome completo do titular da conta
    'nome_do_titular' => env('LARAPIX_NOME_DO_TITULAR'),

    // Cidade do titular (acentos são removidos automaticamente)
    'cidade_do_titular' => env('LARAPIX_CIDADE_DO_TITULAR'),

    // Valor padrão da transação em reais
    'valor' => env('LARAPIX_VALOR', 0),

    // Descrição padrão do pagamento
    'descricao' => env('LARAPIX_DESCRICAO'),

    // Identificador único da transação (TXID)
    'id_transacao' => env('LARAPIX_ID_TRANSACAO'),
];
```

### 🔐 Variáveis de Ambiente (`.env`)

[](#-variáveis-de-ambiente-env)

```
LARAPIX_CHAVE_PIX=seu-cpf-cnpj-email-ou-chave
LARAPIX_NOME_DO_TITULAR=Seu Nome Completo
LARAPIX_CIDADE_DO_TITULAR=SAO PAULO
LARAPIX_VALOR=0
LARAPIX_DESCRICAO=
LARAPIX_ID_TRANSACAO=
```

---

🚀 Uso
-----

[](#-uso)

### Uso Básico — Interface Fluente

[](#uso-básico--interface-fluente)

```
use Modularavel\Larapix\Larapix;

$pix = (new Larapix())
    ->chavePix('12345678909')
    ->nomeDoTitularDaConta('João da Silva')
    ->cidadeDoTitularDaConta('São Paulo') // acentos removidos automaticamente
    ->valor(150.00)
    ->descricao('Pagamento de serviço')
    ->txid('PEDIDO-001');

// Gerar código copia e cola
$codigo = $pix->gerarCodigoDePagamento();

// Gerar imagem QR Code (PNG)
$qrCodePng = $pix->gerarQRCodeDePagamento($codigo);
```

### Uso com Facade

[](#uso-com-facade)

```
use Modularavel\Larapix\Facades\Larapix;

$pix = Larapix::cobrar(
    valor: 99.90,
    chavePix: '11999998888',
    nomeDoTitularDaConta: 'Maria Souza',
    cidadeDoTitularDaConta: 'Uberlândia',
    descricao: 'Assinatura mensal',
    txid: 'SUB-2025-001'
);

$codigo = $pix->gerarCodigoDePagamento();
$qrCode = $pix->gerarQRCodeDePagamento($codigo);
```

### Uso com Valores do Config

[](#uso-com-valores-do-config)

```
// Usa os valores definidos em config/larapix.php
$pix = new Larapix();
$codigo = $pix->valor(50.00)->txid('TX-123')->gerarCodigoDePagamento();
```

### Exibir QR Code em uma View Blade

[](#exibir-qr-code-em-uma-view-blade)

```
// No controller
$pix = Larapix::cobrar(valor: 75.00, descricao: 'Produto X');
$codigo = $pix->gerarCodigoDePagamento();
$qrCode = $pix->gerarQRCodeDePagamento($codigo);

return view('larapix::pix-qrcode', [
    'image' => $qrCode,
    'codigo' => $codigo,
]);
```

### Salvar QR Code em Arquivo

[](#salvar-qr-code-em-arquivo)

```
$pix = (new Larapix())
    ->chavePix('98765432100')
    ->nomeDoTitularDaConta('Empresa LTDA')
    ->cidadeDoTitularDaConta('Curitiba')
    ->valor(500.00);

$codigo = $pix->gerarCodigoDePagamento();
$imagemPng = $pix->gerarQRCodeDePagamento($codigo);

file_put_contents(storage_path('app/qrcode-pix.png'), $imagemPng);
```

### QR Code com Largura Personalizada

[](#qr-code-com-largura-personalizada)

```
use Mpdf\QrCode\Output\Png;

$qrCode = $pix->gerarQRCodeDePagamento($codigo, Png::class, 800); // 800px
```

---

🧹 Sanitização da Cidade
-----------------------

[](#-sanitização-da-cidade)

O campo `cidadeDoTitularDaConta` é sanitizado automaticamente:

EntradaResultado`São Paulo``Sao Paulo``Florianópolis``Florianopolis``Açailândia``Acailandia``Rio de Janeiro!@#``Rio de Janeiro``  Goiânia  ``Goiania``null``''` (vazio)Não é necessário tratar manualmente — o pacote cuida disso para você.

---

🧪 Testes
--------

[](#-testes)

O pacote conta com **57 testes** e **79 assertions** usando Pest PHP:

```
composer test
```

Cobertura dos testes:

- ✅ Interface fluente (todos os setters)
- ✅ Sanitização de cidade (13 cenários)
- ✅ Formatação de valor
- ✅ Tratamento de null
- ✅ Estrutura do payload PIX
- ✅ CRC16 (consistência e unicidade)
- ✅ Geração de QR Code
- ✅ Prioridade config vs parâmetro
- ✅ Tipos inteiros no `cobrar()`
- ✅ Encadeamento completo

---

📐 Estrutura do Payload PIX
--------------------------

[](#-estrutura-do-payload-pix)

O código gerado segue a especificação EMVCo / BACEN:

```
┌─────────────────────────────────────────────────────────────┐
│ 00 │ Payload Format Indicator (01)                          │
│ 26 │ Merchant Account Information                           │
│    ├── 00 │ GUI (br.gov.bcb.pix)                           │
│    ├── 01 │ Chave PIX                                      │
│    └── 02 │ Descrição (opcional)                           │
│ 52 │ Merchant Category Code (0000)                          │
│ 53 │ Transaction Currency (986 = BRL)                       │
│ 54 │ Transaction Amount                                     │
│ 58 │ Country Code (BR)                                      │
│ 59 │ Merchant Name                                          │
│ 60 │ Merchant City                                          │
│ 62 │ Additional Data Field                                  │
│    └── 05 │ TXID                                           │
│ 63 │ CRC16 (checksum)                                       │
└─────────────────────────────────────────────────────────────┘

```

---

📁 Estrutura do Pacote
---------------------

[](#-estrutura-do-pacote)

```
larapix/
├── config/
│   └── larapix.php              # Configurações do pacote
├── resources/views/
│   └── pix-qrcode.blade.php     # View com QR Code (Bootstrap 5)
├── routes/
│   └── web.php                  # Rota de exemplo
├── src/
│   ├── Constants/
│   │   └── Constants.php        # IDs dos campos do payload
│   ├── Contracts/
│   │   └── LarapixInterface.php # Interface do contrato
│   ├── Facades/
│   │   └── Larapix.php          # Facade Laravel
│   ├── Larapix.php              # Classe principal
│   └── LarapixServiceProvider.php
└── tests/
    ├── LarapixTest.php          # 56 testes funcionais
    ├── ArchTest.php             # Testes de arquitetura
    └── ...

```

---

🔗 Requisitos
------------

[](#-requisitos)

RequisitoVersãoPHP^8.1Laravel10.x / 11.x / 12.xext-intlRequerido (para `Normalizer`)ext-mbstringRequeridompdf/qrcode^1.2---

📋 Changelog
-----------

[](#-changelog)

Veja [CHANGELOG.md](CHANGELOG.md) para detalhes sobre as mudanças em cada versão.

---

🤝 Contribuindo
--------------

[](#-contribuindo)

Contribuições são bem-vindas! Por favor, veja [CONTRIBUTING.md](CONTRIBUTING.md) para detalhes.

```
# Clonar o repositório
git clone https://github.com/modularavel/larapix.git
cd larapix

# Instalar dependências
composer install

# Rodar testes
composer test

# Formatar código
composer format

# Análise estática
composer analyse
```

---

🔒 Vulnerabilidades de Segurança
-------------------------------

[](#-vulnerabilidades-de-segurança)

Para reportar vulnerabilidades de segurança, consulte nossa [política de segurança](../../security/policy).

---

👨‍💻 Autor
---------

[](#‍-autor)

   [ ![Casimiro Rocha](https://github.com/casimirorocha.png)
 **Casimiro Rocha** ](https://github.com/casimirorocha)
 [📧 casimiroaf@gmail.com](mailto:casimiroaf@gmail.com)  ---

📜 Licença
---------

[](#-licença)

Este projeto é licenciado sob a **Licença MIT** — veja o arquivo [LICENSE.md](LICENSE.md) para detalhes.

---

🌟 Apoie o Projeto
-----------------

[](#-apoie-o-projeto)

Se este pacote foi útil para você, considere dar uma ⭐ no [repositório](https://github.com/modularavel/larapix)!

---

 Feito com ❤️ por [Modularavel](https://github.com/modularavel)

 **Versão atual: 1.2.0**

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance93

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 57.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~520 days

Total

2

Last Release

35d ago

PHP version history (2 changes)1.0.0PHP ^8.2

1.2.0PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/149928614?v=4)[modularavel](/maintainers/modularavel)[@modularavel](https://github.com/modularavel)

---

Top Contributors

[![freekmurze](https://avatars.githubusercontent.com/u/483853?v=4)](https://github.com/freekmurze "freekmurze (359 commits)")[![mvdnbrk](https://avatars.githubusercontent.com/u/802681?v=4)](https://github.com/mvdnbrk "mvdnbrk (46 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (25 commits)")[![Nielsvanpach](https://avatars.githubusercontent.com/u/10651054?v=4)](https://github.com/Nielsvanpach "Nielsvanpach (23 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (19 commits)")[![pforret](https://avatars.githubusercontent.com/u/474312?v=4)](https://github.com/pforret "pforret (16 commits)")[![modularavel](https://avatars.githubusercontent.com/u/149928614?v=4)](https://github.com/modularavel "modularavel (15 commits)")[![sebastiandedeyne](https://avatars.githubusercontent.com/u/1561079?v=4)](https://github.com/sebastiandedeyne "sebastiandedeyne (14 commits)")[![casimirorocha](https://avatars.githubusercontent.com/u/6707152?v=4)](https://github.com/casimirorocha "casimirorocha (14 commits)")[![patinthehat](https://avatars.githubusercontent.com/u/5508707?v=4)](https://github.com/patinthehat "patinthehat (10 commits)")[![riasvdv](https://avatars.githubusercontent.com/u/3626559?v=4)](https://github.com/riasvdv "riasvdv (9 commits)")[![AdrianMrn](https://avatars.githubusercontent.com/u/12762044?v=4)](https://github.com/AdrianMrn "AdrianMrn (8 commits)")[![crynobone](https://avatars.githubusercontent.com/u/172966?v=4)](https://github.com/crynobone "crynobone (7 commits)")[![AlexVanderbist](https://avatars.githubusercontent.com/u/6287961?v=4)](https://github.com/AlexVanderbist "AlexVanderbist (7 commits)")[![thecaliskan](https://avatars.githubusercontent.com/u/13554944?v=4)](https://github.com/thecaliskan "thecaliskan (5 commits)")[![irfanm96](https://avatars.githubusercontent.com/u/42065936?v=4)](https://github.com/irfanm96 "irfanm96 (5 commits)")[![IGedeon](https://avatars.githubusercontent.com/u/694313?v=4)](https://github.com/IGedeon "IGedeon (4 commits)")[![yaroslawww](https://avatars.githubusercontent.com/u/23663794?v=4)](https://github.com/yaroslawww "yaroslawww (3 commits)")[![jessarcher](https://avatars.githubusercontent.com/u/4977161?v=4)](https://github.com/jessarcher "jessarcher (3 commits)")[![koossaayy](https://avatars.githubusercontent.com/u/6431084?v=4)](https://github.com/koossaayy "koossaayy (3 commits)")

---

Tags

qrcodelaravelpagamentospixmodularavelbacenlarapixpagamentos pixpix phppix qrcodecopia e cola

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/modularavel-larapix/health.svg)

```
[![Health](https://phpackages.com/badges/modularavel-larapix/health.svg)](https://phpackages.com/packages/modularavel-larapix)
```

###  Alternatives

[defstudio/telegraph

A laravel facade to interact with Telegram Bots

818355.4k3](/packages/defstudio-telegraph)[spatie/laravel-health

Monitor the health of a Laravel application

88212.7M188](/packages/spatie-laravel-health)[harris21/laravel-fuse

Circuit breaker for Laravel queue jobs. Protect your workers from cascading failures.

46273.9k](/packages/harris21-laravel-fuse)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.4M354](/packages/psalm-plugin-laravel)[simplestats-io/laravel-client

Server-side analytics for Laravel that follows the full funnel from visit to registration to payment, attributed to the channel that drove it. Revenue, MRR, churn and ad-spend profit (ROAS/CAC) per channel. GDPR compliant, ad-blocker proof.

5226.7k](/packages/simplestats-io-laravel-client)[linkxtr/laravel-qrcode

A clean, modern, and easy-to-use QR code generator for Laravel

3827.1k](/packages/linkxtr-laravel-qrcode)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
