marcusvy/asaas-bundle

Symfony Bundle for Asaas API SDK

Maintainers

Package info

gitlab.com/marcusvy/asaas-bundle

Issues

Type:symfony-bundle

pkg:composer/marcusvy/asaas-bundle

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

v1.2 2026-04-13 20:54 UTC

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:

  1. Ele instancia e guarda suas configurações em um objeto Marcus\Asaas\Config\AsaasConfig.
  2. Cria o Marcus\Asaas\Http\AsaasClient provisionando o AsaasConfig automaticamente, reaproveitando ainda o HttpClient do 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.

❤️ 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."