marcusvy / asaas-bundle
Symfony Bundle for Asaas API SDK
Package info
gitlab.com/marcusvy/asaas-bundle
Type:symfony-bundle
pkg:composer/marcusvy/asaas-bundle
Requires
- php: >=8.4
- marcusvy/asaas-api-sdk-php: ^1.0
- symfony/config: ^7.0|^8.0
- symfony/dependency-injection: ^7.0|^8.0
- symfony/http-kernel: ^7.0|^8.0
Requires (Dev)
- phpunit/phpunit: ^11.0
- symfony/framework-bundle: ^7.0|^8.0
This package is not auto-updated.
Last update: 2026-04-14 23:11:54 UTC
README
O Marcusvy Asaas Bundle é uma integração oficial (Symfony Bundle) para a SDK PHP da API do Asaas. Ele facilita a configuração de sua API key, do ambiente (sandbox) e injeta automaticamente o SDK no contêiner de dependências do Symfony.
📦 Instalação
Você pode instalar o bundle em seu projeto Symfony através do Composer:
composer require marcusvy/asaas-bundle
(Observação: Certifique-se de que o repositório ou o pacote esteja acessível na sua estrutura, caso ele não esteja publicado globalmente no Packagist)
🚀 Configuração
1. Habilitar o Bundle
Se você estiver usando o Symfony Flex, o bundle será ativado automaticamente. Caso não esteja, adicione-o no seu arquivo config/bundles.php:
return [
// ...
Marcusvy\AsaasBundle\MarcusvyAsaasBundle::class => ['all' => true],
];
2. Parâmetros de Configuração
Crie um arquivo de configuração para o pacote em sua aplicação Symfony em config/packages/marcusvy_asaas.yaml:
marcusvy_asaas:
# A sua API Key (AccessToken) do Asaas. É recomendável passar pelo .env
access_token: '%env(ASAAS_API_TOKEN)%'
# Marque como false para utilizar o ambiente de Produção do Asaas
sandbox: true
E no seu arquivo .env adicione a chave do Asaas:
ASAAS_API_TOKEN=sua_chave_de_api_aqui
🛠️ Utilização (Autowiring)
O Bundle injeta automaticamente o AsaasClient nos serviços e controladores de todo o seu projeto. Você não precisa instanciá-lo manualmente!
Basta injetar Marcus\Asaas\Http\AsaasClient no construtor da classe onde deseja utilizar:
<?php
namespace App\Controller;
use Marcus\Asaas\Http\AsaasClient;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;
class PagamentoController extends AbstractController
{
#[Route('/pagamentos', name: 'app_pagamentos')]
public function criarPagamento(AsaasClient $asaasClient): JsonResponse
{
// O Client já está autenticado utilizando a key do seu arquivo de configuração
$response = $asaasClient->request('POST', '/payments', [
'json' => [
'customer' => 'cus_000004725799',
'billingType' => 'BOLETO',
'value' => 100.50,
'dueDate' => '2024-12-31'
]
]);
return new JsonResponse($response->toArray());
}
}
O que ele faz nos bastidores?
O bundle interage com a arquitetura Symfony para facilitar seu trabalho de duas formas:
- Ele instancia e guarda suas configurações em um objeto
Marcus\Asaas\Config\AsaasConfig. - Cria o
Marcus\Asaas\Http\AsaasClientprovisionando oAsaasConfigautomaticamente, reaproveitando ainda oHttpClientdo próprio componente do Symfony se ele existir em seu projeto para a execução das requisições HTTP internas de forma otimizada.
👨💻 Sobre o Autor
Marcus Vinicius Cardoso Desenvolvedor apaixonado por soluções limpas, escaláveis e focadas na excelência de arquitetura de software.
- Email: marcusvy@gmail.com
- GitLab: gitlab.com/marcusvy
- Buy Me a Coffee: buymeacoffee.com/marcusvyz
❤️ Apoie a Manutenção
Sendo um projeto Open Source independente e distribuído livremente (Licença MIT), sua doação incentiva ativamente que novas atualizações sigam de forma rápida acompanhando o painel do Asaas. Você pode fortalecer a comunidade!
Para apoios, doações ou enviar um café simbólico: Chave PIX: marcusvy@gmail.com
"Uma excelente integração gera noites de sono tranquilas para os desenvolvedores e para o controle financeiro de negócios."