Skip to content

Versão PHP para consumo da API de serviços do banco Unicred. Utilizado para autenticação, emissão e consulta de títulos de cobrança.

License

Notifications You must be signed in to change notification settings

gildonei/unicred

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Latest Stable Version

Unicred API

Versão PHP para consumo da API de serviços do banco Unicred (Cobweb - da UBR - Unicred Brasil). Utilizado para autenticação, emissão e consulta de títulos de cobrança.

Site oficial - https://portal-api.e-unicred.com.br/api-portal/

Dependências

  • PHP >= 5.6

Instalando o SDK

Se já possui um arquivo composer.json, basta adicionar a seguinte dependência ao seu projeto:

"require": {
    "gildonei/unicred": "dev-master"
}

Com a dependência adicionada ao composer.json, basta executar:

composer install

Alternativamente, você pode executar diretamente em seu terminal:

composer require gildonei/unicred:dev-master

Exemplo de uso

Registro de Título

<?php

use \Unicred\Environment;
use \Unicred\UnicredApi;
use \Unicred\Entity\Assignor;
use \Unicred\Entity\Payer;
use \Unicred\Entity\Address;
use \Unicred\Entity\BankSlip;
use \Unicred\Request\AuthenticationRequest;
use \Unicred\Exception\UnicredRequestException;

try {
    #Preparando o ambiente
    $ambiente = Environment::sandbox();

    #Dados do Cedente (Cliente Unicred)
    $cedente = new Assignor();
    $cedente->setBankAgency('BANK AGENCY NUMBER')
        ->setApiKey('SUA API KEY')
        ->setUser('SEU LOGIN')
        ->setPassword('SUA SENHA')
        ->setPayeeCode('SEU CÓDIGO DE BENEFICIÁRIO')
        ->setPortifolio('CÓDIGO VARIAÇÃO DA CARTEIRA');

    #Obter o Token de Acesso
    $autenticacao = new AuthenticationRequest($cedente, $ambiente);
    $autenticacao->execute();

    #Dados do boleto
    $parcelaId = 12304;
    $boleto = new BankSlip();
    $boleto->setDueDate(new DateTime())
        ->setValue(10.45)
        ->setYourNumber($parcelaId)
        ->setBankSlipNumber($parcelaId)
		->getPayer()
            ->setName('Fulano de Tal')
            ->setPayerType(PAYER::PERSON)
            ->setDocument('44675831141')
            ->setEmail('[email protected]')
            ->setCorporateName('Fulano de Tal')
        ->getAddress()
            ->setState('SC')
            ->setDistrict('Bairro')
            ->setCity('Cidade')
            ->setAddress('Logradouro com Número')
            ->setZip('99999-999');
	$boleto->getDiscount()
		->setIndicator(0)	// Opções válidas no manual da Unicred
		->setDateLimit(new DateTime())
		->setValue(0.00);
	$boleto->getFine()
		->setIndicator(0)
		->setDateLimit(new DateTime())
		->setValue(0.00);
	$boleto->getInterest()
		->setIndicator(0)
		->setDateLimit(new DateTime())
		->setValue(0.00);

    #Instancia a API
    $unicred = new UnicredApi($cedente, $ambiente);

    #Obtém o ID do boleto gerado
    $boletoId = $unicred->createBankSlip($boleto);

    #Atribui o ID do boleto Unicred ao objeto boleto
    $boleto->setBankSlipId($boletoId);

    # Consulta o objeto boleto na API - obtém código de barras e linha digitável
    $boleto = $unicred->consultBankSlip($boleto);

    #Output do objeto boleto (BankSlip)
    print_r($boleto);

} catch (UnicredRequestException $e) {
    echo $e->getUnicredError()->getMessage();

} catch (Exception $e) {
    echo $e->getMessage();
}

Consulta de Título

<?php

use \Unicred\Environment;
use \Unicred\UnicredApi;
use \Unicred\Entity\Assignor;
use \Unicred\Entity\BankSlip;
use \Unicred\Request\AuthenticationRequest;
use \Unicred\Exception\UnicredRequestException;

try {
    #Preparando o ambiente
    $ambiente = Environment::sandbox();

    #Dados do Cedente (Cliente Unicred)
    $cedente = new Assignor();
    $cedente->setBankAgency('BANK AGENCY NUMBER')
        ->setApiKey('SUA API KEY')
        ->setUser('SEU LOGIN')
        ->setPassword('SUA SENHA')
        ->setPayeeCode('SEU CÓDIGO DE BENEFICIÁRIO')
        ->setPortifolio('CÓDIGO VARIAÇÃO DA CARTEIRA');

    #Obter o Token de Acesso
    $autenticacao = new AuthenticationRequest($cedente, $ambiente);
    $autenticacao->execute();

    #Dados do boleto
    $boleto = new BankSlip();
    $boleto->setBankSlipId('TOKEN DO BOLETO');

    # Consulta o objeto boleto na API - obtém código de barras e linha digitável
    $boleto = $unicred->consultBankSlip($boleto);

    #Output do objeto boleto (BankSlip)
    print_r($boleto);

} catch (UnicredRequestException $e) {
    echo $e->getUnicredError()->getMessage();

} catch (Exception $e) {
    echo $e->getMessage();
}

Agradecimentos e Referências

Parte do modelo de implementação e referência para o desenvolvimento desta API foi tirada de inspiração no projeto Cielo API-3.0 desenvolvido pelo @netojoaobatista - https://github.com/DeveloperCielo/API-3.0-PHP

Qualquer contribuilção adicional como testes, melhorias, correções e evoluções será muito bem vinda.

About

Versão PHP para consumo da API de serviços do banco Unicred. Utilizado para autenticação, emissão e consulta de títulos de cobrança.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages