thomas-sens / sicoob-bundle
Installs: 19
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
pkg:composer/thomas-sens/sicoob-bundle
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.9
- symfony/dotenv: ^7.1
- symfony/framework-bundle: ^7.1
- symfony/http-kernel: ^7.1
- symfony/monolog-bundle: ^3.10
- symfony/property-access: ^7.3
- symfony/serializer: ^7.1
Requires (Dev)
- phpunit/phpunit: ^10
- symfony/phpunit-bridge: ^7.3
README
Sicoob integration for Symfony
Instalation:
composer require thomas-sens/sicoob-bundle
Generate a parameters file:
php bin/console config:dump-reference SicoobBundle > config/packages/sicoob.yaml
Example: src/config/packages/sicoob.yaml
sicoob:
environment: 'production'
client_id: '9b5e603e428cc477a2841e2683c92d21'
cert_path: '...\secrets\sicoob\cert.pem'
cert_key: '...\secrets\sicoob\key.pem'
cert_password: 'password'
Example:
use ThomasSens\SicoobBundle\Model\Pix\CobrancaImediata;
use ThomasSens\SicoobBundle\Model\Pix\Calendario;
use ThomasSens\SicoobBundle\Model\Pix\Devedor;
use ThomasSens\SicoobBundle\Model\Pix\InfoAdicional;
use ThomasSens\SicoobBundle\Model\Pix\Valor;
use ThomasSens\SicoobBundle\Model\Pix\Pix;
class SicoobController extends AbstractController
{
#[Route('/sicoob', name: 'app_sicoob')]
public function index(SicoobClient $sicoob): Response
{
// Pix
$calendario = new Calendario(1200); //20 minutos
$devedor = new Devedor(null, 'cnpj', 'nome');
$valor = new Valor(1.5);
$infoAdicionais = [
new InfoAdicional('Observação', $recebimento->getDescricao())
];
$cobrancaImediata = new CobrancaImediata(
$calendario,
$devedor,
$valor,
'chave-pix',
'descrição',
$infoAdicionais
);
$sicoob->pix->criarCobranca($cobrancaImediata);
...
$sicoob->pix->consultarCobranca($txid);
// Boleto
$sicoob->boleto->consultarBoleto($codigoBarras, $numeroConta, $dataPagamento);
$sicoob->boleto->pagarBoleto($codigoBarras, $boletoPagamento);
}
}