diff --git a/README.md b/README.md index 80292b2..73ff468 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,251 @@ PJBank SDK para PHP! :elephant: :elephant: :elephant: [![Build Status](https://travis-ci.org/pjbank/pjbank-php-sdk.svg?branch=master)](http://travis-ci.org/pjbank/pjbank-php-sdk) -![Construcao](https://openclipart.org/image/2400px/svg_to_png/231626/underconstruction.png) + +# SDK da API de Recebimento do PJBank + +* Exemplos em Docs + +## Instalação + + +```bash +$ composer require pjbank/pjbank-sdk-php +``` + +## Boleto bancário + +### Emitindo um boleto bancário + +```php +require_once "./vendor/autoload.php"; + +use PJBank\Recebimento; + +$credencial = "6ef5e5c493f22ef42d1c052e069af5df3060c090"; +$chave = "cfeb3e01f0d7d2217fc5f522f73c67ea56e5a669"; + + +$PJBankRecebimentos = new Recebimento($credencial, $chave); +$boleto = $PJBankRecebimentos->Boletos->NovoBoleto(); + + +$boleto->setNomeCliente("Matheus Fidelis") + ->setCpfCliente("29454730000144") + ->setValor(10.50) + ->setVencimento("09/01/2017") + ->setPedidoNumero(rand(0, 999)) + ->gerar(); + + +print_r($boleto->getNossoNumero() . PHP_EOL); +print_r($boleto->getLink() . PHP_EOL); +print_r($boleto->getPedidoNumero() . PHP_EOL); + +``` + + +### Impressão de boletos + +> Você pode especificar vários boletos identificados pelo `pedido_numero` para gerar uma impressão em lote. + + +```php + +require_once "./vendor/autoload.php"; + +use PJBank\Recebimento; + +$credencial = "6ef5e5c493f22ef42d1c052e069af5df3060c090"; +$chave = "cfeb3e01f0d7d2217fc5f522f73c67ea56e5a669"; + +$PJBankRecebimento = new Recebimento($credencial, $chave); + +$lote = $PJBankRecebimento->Boletos->Imprimir([ + "110", + "443" +]); + +print_r($lote); + +``` + + +## Cartão de Crédito + +### Gerando um pagamento de cartão de crédito com os dados do cartão + +```php + +require_once "./vendor/autoload.php"; + +use PJBank\Recebimento; + +$credencial = "1264e7bea04bb1c24b07ace759f64a1bd65c8560"; +$chave = "ef947cf5867488f744b82744dd3a8fc4852e529f"; + +$PJBankRecebimentos = new Recebimento($credencial, $chave); + +$transacao = $PJBankRecebimentos->Cartoes->NovaTransacao(); + +//Pagando com os dados do cartão +$transacao->setNumeroCartao("4012001037141112") + ->setNomeCartao("Cliente de Exemplo") + ->setMesVencimento("05") + ->setAnoVencimento("2018") + ->setCPF("24584548000194") + ->setEmail("api@pjbank.com.br") + ->setCVV("123") + ->setValor("1.00") + ->setParcelas(1) + ->setDescricao("Pagamento de exemplo") + ->gerar(); + +print_r($transacao->getValues()); + +``` + +### Gerando um pagamento de cartão de crédito com Token + +> Após o primeiro pagamento, um `token_cartao` será gerado. Use este token para pagar de forma segura nas próximas vezes conforme as recomendações do PCI + +```php + +require_once "./vendor/autoload.php"; + +use PJBank\Recebimento; + +$credencial = "1264e7bea04bb1c24b07ace759f64a1bd65c8560"; +$chave = "ef947cf5867488f744b82744dd3a8fc4852e529f"; + +$PJBankRecebimentos = new Recebimento($credencial, $chave); + +$transacao = $PJBankRecebimentos->Cartoes->NovaTransacao(); + +//Pagando com os token gerado pelo PJBank! +$transacao->setNumeroCartao("4012001037141112") + ->setValor(1.00) + ->setTokenCartao("d30e4fc83e153ffb113af7e7c736f4bb5004c552") + ->setDescricao("Pagamento de exemplo com Token") + ->gerar(); + +print_r($transacao->getValues()); + +``` + +### Cancelando uma transação de cartão + +> Todo pagamento via cartão retorna um parâmetro chamado `tid`. Esse parâmetro equivale ao identificador da transação entre o PJBank e as adquirentes. + +```php + +require_once "./vendor/autoload.php"; + +use PJBank\Recebimento; + +$credencial = "1264e7bea04bb1c24b07ace759f64a1bd65c8560"; +$chave = "ef947cf5867488f744b82744dd3a8fc4852e529f"; + +$PJBankRecebimentos = new Recebimento($credencial, $chave); + +//Gerando uma transação de exemplo +$transacao = $PJBankRecebimentos->Cartoes->NovaTransacao(); + +$transacao->setNumeroCartao("4012001037141112") + ->setValor(1.00) + ->setTokenCartao("d30e4fc83e153ffb113af7e7c736f4bb5004c552") + ->setDescricao("Pagamento de exemplo com Token") + ->gerar(); + + +//Cancelamento a transação criada +$cancelamento = $PJBankRecebimentos->Cartoes->CancelarTransacao($transacao->getTid()); + +print_r($cancelamento); + +``` + +### Tokenizando um cartão + +> No primeiro pagamento com os dados do Cartão, o parâmetro `token_cartao` será retornado. Mas há casos onde o usuário não vai efetuar a compra no momento da captura dos dados, e por segurança não é recomendado armazenar os mesmos. Para resolver esse problema, você pode enviar os dados recém capturados para a API e trocar os mesmos por um token do cartão. + +```php + +use PJBank\Recebimento; + +$credencial = "1264e7bea04bb1c24b07ace759f64a1bd65c8560"; +$chave = "ef947cf5867488f744b82744dd3a8fc4852e529f"; + +$PJBankRecebimentos = new Recebimento($credencial, $chave); + +/** + * Array de exemplo com os dados do cartão + */ +$dadosCartao = array( + "nome_cartao" => "Cliente Exemplo", + "numero_cartao" => "4012001037141112", + "mes_vencimento" => 05, + "ano_vencimento" => 2018, + "cpf_cartao" => "64111456529", + "email_cartao" => "api@pjbank.com.br", + "celular_cartao" => "978456723", + "codigo_cvv" => 123 +); + +$token = $PJBankRecebimentos->Cartoes->Tokenizar($dadosCartao); + +print_r($token); + +``` + +## Extrato + +### Extrato simples + +> Gerando um extrato da conta sem filtros. + +```php +require_once "./vendor/autoload.php"; + +use PJBank\Recebimento; + +$credencial = "1264e7bea04bb1c24b07ace759f64a1bd65c8560"; +$chave = "ef947cf5867488f744b82744dd3a8fc4852e529f"; + +$PJBankRecebimentos = new Recebimento($credencial, $chave); + +echo("Gerando o extrato bancário da conta sem filtros" . PHP_EOL); + +$extrato = $PJBankRecebimentos->Extratos->NovoExtrato(); +$extrato->gerar(); + +print_r($extrato->getItens()); +``` + +### Extrato - Listando somente as cobranças liquidadas + +> Gerando um extrato somente com os itens que foram pagos + +```php + +$extrato = $PJBankRecebimentos->Extratos->NovoExtrato(); +$extrato->apenasPagos() + ->gerar(); + +print_r($extrato->getItens()); +``` + +### Extrato - Filtro por data + +> Você pode inserir um filtro por um intervalo de datas no extrato. As datas devem ser informadas no formato MM/DD/AAAA + +```php + +$extrato = $PJBankRecebimentos->Extratos->NovoExtrato(); +$extrato + ->setDataInicio("06/01/2017") + ->setDataFim("06/30/2017") + ->gerar(); + +print_r($extrato->getItens()); +``` \ No newline at end of file diff --git a/composer.json b/composer.json index 86cf3f0..e9c789d 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "matheus/pjbank-php-sdk", + "name": "dadeke/pjbank-php-sdk", "description": "PJBank PHP SDK", "type": "library", "authors": [{ @@ -9,8 +9,10 @@ "minimum-stability": "dev", "prefer-stable": true, "require": { - "guzzlehttp/guzzle": "^6.2@dev", - "phpunit/phpunit": "^6.4@dev" + "guzzlehttp/guzzle": "^7.0.1" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "scripts" : { "test" : "./vendor/bin/phpunit --colors --debug", diff --git a/src/Api/Api.php b/src/Api/Api.php index ed9c550..83c5831 100644 --- a/src/Api/Api.php +++ b/src/Api/Api.php @@ -16,6 +16,12 @@ class Api */ protected $apiBaseUrl = "https://api.pjbank.com.br/"; + /** + * URL base da API Sandbox + * @var string + */ + protected $apiBaseUrlSandbox = "https://sandbox.pjbank.com.br"; + /** * Versão da API a ser consumida pelo SDK * @var string diff --git a/src/Api/PJBankClient.php b/src/Api/PJBankClient.php index c783119..96bdb71 100644 --- a/src/Api/PJBankClient.php +++ b/src/Api/PJBankClient.php @@ -19,11 +19,12 @@ class PJBankClient extends Api * @param [type] $chave * @return void */ - public function __construct() + public function __construct($sandbox=false) { + $base_uri = ($sandbox) ? $this->apiBaseUrlSandbox : $this->apiBaseUrl; $this->client = new Client([ - 'base_uri' => $this->apiBaseUrl, + 'base_uri' => $base_uri, ]); } @@ -36,6 +37,4 @@ public function getClient() { return $this->client; } - - } \ No newline at end of file diff --git a/src/Boleto/Boleto.php b/src/Boleto/Boleto.php index 7d2b904..8a23953 100644 --- a/src/Boleto/Boleto.php +++ b/src/Boleto/Boleto.php @@ -80,6 +80,16 @@ class Boleto * @var */ private $logo_url; + /** + * Link do webhook no boleto + * @var + */ + private $webhook; + /** + * Pix emitido junto ao boleto + * @var + */ + private $pix; /** * Texto opcional do corpo do boleto * @var @@ -95,6 +105,11 @@ class Boleto * @var */ private $link; + /** + * Link do Grupo + * @var + */ + private $link_grupo; /** * Nosso numero de boleto * @var @@ -115,6 +130,12 @@ class Boleto private $id_unico; + /** + * Usar Sandbox + * @var bool + */ + private $sandbox; + /** * @var */ @@ -125,10 +146,11 @@ class Boleto * @param $credencial * @param $chave */ - public function __construct($credencial, $chave) + public function __construct($credencial, $chave, $sandbox) { $this->credencial_boleto = $credencial; $this->chave_boleto = $chave; + $this->sandbox = $sandbox; } /** @@ -139,6 +161,14 @@ public function getLink() return $this->link; } + /** + * @return mixed + */ + public function getLinkGrupo() + { + return $this->link_grupo; + } + /** * @return mixed */ @@ -473,6 +503,29 @@ public function setLogoUrl($logo_url) return $this; } + /** + * @param string $webhook + * @return Boleto + */ + public function setWebhook($webhook) + { + $this->webhook = $webhook; + return $this; + } + + /** + * Informe "pix-e-boleto" para que seja emitido junto ao boleto + * o QRCode do Pix ou "pix" para o boleto ser substituído pelo + * QRCode do Pix. + * @param string $webhook + * @return Boleto + */ + public function setPix($pix = 'pix-e-boleto') + { + $this->pix = $pix; + return $this; + } + /** * @return mixed */ @@ -509,6 +562,23 @@ public function setGrupo($grupo) return $this; } + /** + * @return bool + */ + public function getSandbox() + { + return $this->sandbox; + } + + /** + * Exibe sempre o Nome Fantasia no PDF. + * @return Boleto + */ + public function showFantasia() + { + $this->exibir_fantasia = '1'; + return $this; + } /** * Pega os campos utilizados para a emissão do boleto bancário. @@ -541,7 +611,15 @@ public function gerar() { $this->id_unico = $boletoGerado->id_unico; $this->linha_digitavel = $boletoGerado->linhaDigitavel; $this->link = $boletoGerado->linkBoleto; + $this->link_grupo = $boletoGerado->linkGrupo; } - + /** + * Invalida um boleto bancário no PJBank via API. + * @return void + */ + public function invalidar() { + $emissor = new Emissor($this); + $emissor->invalidar(); + } } diff --git a/src/Boleto/BoletosManager.php b/src/Boleto/BoletosManager.php index e7eb0a2..f8056a2 100644 --- a/src/Boleto/BoletosManager.php +++ b/src/Boleto/BoletosManager.php @@ -23,15 +23,22 @@ class BoletosManager */ private $chave_boletos; + /** + * Usar Sandbox + * @var bool + */ + private $sandbox; + /** * BoletosManager constructor. * @param $credencial * @param $boletos */ - public function __construct($credencial, $chave) + public function __construct($credencial, $chave, $sandbox) { $this->credencial_boletos = $credencial; $this->chave_boletos = $chave; + $this->sandbox = $sandbox; } /** @@ -39,7 +46,7 @@ public function __construct($credencial, $chave) * @return \PJBank\Boleto\Boleto */ public function NovoBoleto() { - return new Boleto($this->credencial_boletos, $this->chave_boletos); + return new Boleto($this->credencial_boletos, $this->chave_boletos, $this->sandbox); } /** diff --git a/src/Boleto/Emissor.php b/src/Boleto/Emissor.php index ed58931..62e7e44 100644 --- a/src/Boleto/Emissor.php +++ b/src/Boleto/Emissor.php @@ -35,8 +35,8 @@ public function __construct(Boleto $boleto) public function emitir() { - $PJBankClient = new PJBankClient(); - $client = $PJBankClient->getClient(); + $PJBankClient = new PJBankClient($this->boleto->getSandbox()); + $client = $PJBankClient->getClient(); $boletoItens = $this->boleto->getValues(); try { @@ -57,7 +57,65 @@ public function emitir() } + } + /** + * Consulta uma transação via API + * @return array + */ + public function consultar($id_unico) + { + $PJBankClient = new PJBankClient($this->boleto->getSandbox()); + $client = $PJBankClient->getClient(); + try { + $resource = "recebimentos/{$this->boleto->getCredencialBoleto()}/transacoes/$id_unico"; + + $res = $client->request('GET', $resource, [ + 'headers' => [ + 'Content-Type' => 'Application/json', + 'X-CHAVE' => $this->boleto->getChaveBoleto() + ] + ]); + + $response = json_decode((string) $res->getBody(), true); + if(array_key_exists(0, $response)) { + return $response[0]; + } + else { + return $response; + } + + } catch (ClientException $e) { + $responseBody = json_decode($e->getResponse()->getBody()); + throw new \Exception($responseBody->msg, $responseBody->status); + } + } + + /** + * Invalida um boleto bancário via API + * @return string + */ + public function invalidar() + { + $PJBankClient = new PJBankClient($this->boleto->getSandbox()); + $client = $PJBankClient->getClient(); + + try { + $resource = "recebimentos/{$this->boleto->getCredencialBoleto()}/transacoes/{$this->boleto->getPedidoNumero()}"; + + $res = $client->request('DELETE', $resource, [ + 'headers' => [ + 'Content-Type' => 'Application/json', + 'X-CHAVE' => $this->boleto->getChaveBoleto() + ] + ]); + + return json_decode((string) $res->getBody()); + + } catch (ClientException $e) { + $responseBody = json_decode($e->getResponse()->getBody()); + throw new \Exception($responseBody->msg, $responseBody->status); + } } } diff --git a/src/Extrato/Extrato.php b/src/Extrato/Extrato.php index 8485cee..441a687 100644 --- a/src/Extrato/Extrato.php +++ b/src/Extrato/Extrato.php @@ -53,6 +53,12 @@ class Extrato */ private $itens; + /** + * Usar Sandbox + * @var bool + */ + private $sandbox; + /** * @return mixed */ @@ -89,6 +95,14 @@ public function setChave($chave) return $this; } + /** + * @return bool + */ + public function getSandbox() + { + return $this->sandbox; + } + /** * @return mixed */ @@ -137,7 +151,7 @@ public function getPago() * @param mixed $pago * @return Extrato */ - public function apenasPagos($pago = true) + public function apenasPagos($pago = 1) { $this->pago = $pago; return $this; @@ -158,10 +172,11 @@ public function setPagina($pagina = 1) * @param $credencial * @param $chave */ - public function __construct($credencial, $chave) + public function __construct($credencial, $chave, $sandbox) { $this->credencial = $credencial; $this->chave = $chave; + $this->sandbox = $sandbox; } /** @@ -194,13 +209,12 @@ public function getValues() /** * Gera o extrato propriamente dito */ - public function gerar() { - + public function gerar() + { $impressorinha = new Impressorinha($this); $extrato = $impressorinha->gerar(); - $this->itens = $extrato->extrato; - + $this->itens = $extrato; } } \ No newline at end of file diff --git a/src/Extrato/ExtratoManager.php b/src/Extrato/ExtratoManager.php index 6f89f4a..dbb9cc6 100644 --- a/src/Extrato/ExtratoManager.php +++ b/src/Extrato/ExtratoManager.php @@ -22,15 +22,22 @@ class ExtratoManager */ private $chave_conta; + /** + * Usar Sandbox + * @var bool + */ + private $sandbox; + /** * ExtratoManager constructor. * @param $credencial * @param $chave */ - public function __construct($credencial, $chave) + public function __construct($credencial, $chave, $sandbox) { $this->credencial_conta = $credencial; $this->chave_conta = $chave; + $this->sandbox = $sandbox; } /** @@ -38,7 +45,7 @@ public function __construct($credencial, $chave) * @return Extrato */ public function NovoExtrato() { - return new Extrato($this->credencial_conta, $this->chave_conta); + return new Extrato($this->credencial_conta, $this->chave_conta, $this->sandbox); } } \ No newline at end of file diff --git a/src/Extrato/Impressorinha.php b/src/Extrato/Impressorinha.php index 63d0a57..f2c49f2 100644 --- a/src/Extrato/Impressorinha.php +++ b/src/Extrato/Impressorinha.php @@ -35,16 +35,16 @@ public function __construct(Extrato $extrato) public function gerar() { - $PJBankClient = new PJBankClient(); + $PJBankClient = new PJBankClient($this->extrato->getSandbox()); $client = $PJBankClient->getClient(); $extratoQuery = $this->extrato->getValues(); unset($extratoQuery['credencial']); unset($extratoQuery['chave']); + unset($extratoQuery['sandbox']); try { - $resource = "recebimentos/{$this->extrato->getCredencial()}/transacoes"; $res = $client->request('GET', $resource, ['query' => $extratoQuery, 'headers' => [ @@ -55,7 +55,8 @@ public function gerar() return json_decode((string) $res->getBody()); } catch (ClientException $e) { - + $responseBody = json_decode($e->getResponse()->getBody()); + throw new \Exception($responseBody->msg, $responseBody->status); } } diff --git a/src/Recebimento.php b/src/Recebimento.php index 66a047d..f26eff2 100644 --- a/src/Recebimento.php +++ b/src/Recebimento.php @@ -26,6 +26,12 @@ class Recebimento */ private $chave; + /*** + * Utilzar sandbox + * @var bool + */ + private $sandbox; + /** * Boleto Manager SDK * @var Boleto @@ -56,10 +62,11 @@ class Recebimento * @param string $credencial * @param string $chave */ - public function __construct($credencial = null, $chave = null) + public function __construct($credencial = null, $chave = null, $sandbox = false) { $this->credencial = $credencial; $this->chave = $chave; + $this->sandbox = (bool)$sandbox; $this->constructorCartao(); $this->constructorBoletos(); @@ -77,16 +84,14 @@ private function constructorCartao() { * Constructor Boletos */ private function constructorBoletos() { - $this->Boletos = new BoletosManager($this->credencial, $this->chave); + $this->Boletos = new BoletosManager($this->credencial, $this->chave, $this->sandbox); } /** * Constructor Extrato */ private function constructorExtrato() { - $this->Extratos = new ExtratoManager($this->credencial, $this->chave); + $this->Extratos = new ExtratoManager($this->credencial, $this->chave, $this->sandbox); } - - } \ No newline at end of file diff --git a/tests/ContaDigital/Subcontas/SubcontasTest.php b/tests/ContaDigital/Subcontas/SubcontasTest.php index 0b10d38..064e4b9 100644 --- a/tests/ContaDigital/Subcontas/SubcontasTest.php +++ b/tests/ContaDigital/Subcontas/SubcontasTest.php @@ -1,81 +1,81 @@ Subcontas->criarSubconta( - 'Cliente Exemplo', - '11/01/1990', - 'M', - '13032385', - 'Rua Joaquim Vilac', - '509', - 'Vila Teixeira', - 'Complemento Teste', - 'Campinas', - 'SP', - '19', - '40096800', - 'api@pjbank.com.br', - 'Caixinha', - 25.00, - '07727876208' - ); +// $PJBankContaDigital = new ContaDigital($credencial, $chave); +// $subconta = $PJBankContaDigital->Subcontas->criarSubconta( +// 'Cliente Exemplo', +// '11/01/1990', +// 'M', +// '13032385', +// 'Rua Joaquim Vilac', +// '509', +// 'Vila Teixeira', +// 'Complemento Teste', +// 'Campinas', +// 'SP', +// '19', +// '40096800', +// 'api@pjbank.com.br', +// 'Caixinha', +// 25.00, +// '07727876208' +// ); - $this->assertObjectHasAttribute('nosso_numero', $subconta); - $this->assertObjectHasAttribute('link_boleto', $subconta); - $this->assertObjectHasAttribute('linha_digitavel', $subconta); - $this->assertObjectHasAttribute('token_cartao', $subconta); - $this->assertObjectHasAttribute('numero_cartao', $subconta); - } +// $this->assertObjectHasAttribute('nosso_numero', $subconta); +// $this->assertObjectHasAttribute('link_boleto', $subconta); +// $this->assertObjectHasAttribute('linha_digitavel', $subconta); +// $this->assertObjectHasAttribute('token_cartao', $subconta); +// $this->assertObjectHasAttribute('numero_cartao', $subconta); +// } - public function testConsultarSubconta() - { - $credencial = "eb2af021c5e2448c343965a7a80d7d090eb64164"; - $chave = "a834d47e283dd12f50a1b3a771603ae9dfd5a32c"; - $tokenSubconta = "b2240b16b373446935a2a7ab437577a823f22eaa"; +// public function testConsultarSubconta() +// { +// $credencial = "eb2af021c5e2448c343965a7a80d7d090eb64164"; +// $chave = "a834d47e283dd12f50a1b3a771603ae9dfd5a32c"; +// $tokenSubconta = "b2240b16b373446935a2a7ab437577a823f22eaa"; - $PJBankContaDigital = new ContaDigital($credencial, $chave); - $subconta = $PJBankContaDigital->Subcontas->consultarSubconta($tokenSubconta); +// $PJBankContaDigital = new ContaDigital($credencial, $chave); +// $subconta = $PJBankContaDigital->Subcontas->consultarSubconta($tokenSubconta); - $this->assertObjectHasAttribute('nome_cartao', $subconta); - $this->assertObjectHasAttribute('documento', $subconta); - $this->assertObjectHasAttribute('email', $subconta); - $this->assertObjectHasAttribute('data_inicio', $subconta); - $this->assertObjectHasAttribute('data_bloqueio', $subconta); - $this->assertObjectHasAttribute('cep', $subconta); - $this->assertObjectHasAttribute('endereco', $subconta); - $this->assertObjectHasAttribute('numero', $subconta); - $this->assertObjectHasAttribute('bairro', $subconta); - $this->assertObjectHasAttribute('complemento', $subconta); - $this->assertObjectHasAttribute('cidade', $subconta); - $this->assertObjectHasAttribute('estado', $subconta); - $this->assertObjectHasAttribute('numero_cartao', $subconta); - $this->assertObjectHasAttribute('telefone', $subconta); - $this->assertObjectHasAttribute('status_cartao', $subconta); - $this->assertObjectHasAttribute('nm_boletos_carga_pendentes', $subconta); - } +// $this->assertObjectHasAttribute('nome_cartao', $subconta); +// $this->assertObjectHasAttribute('documento', $subconta); +// $this->assertObjectHasAttribute('email', $subconta); +// $this->assertObjectHasAttribute('data_inicio', $subconta); +// $this->assertObjectHasAttribute('data_bloqueio', $subconta); +// $this->assertObjectHasAttribute('cep', $subconta); +// $this->assertObjectHasAttribute('endereco', $subconta); +// $this->assertObjectHasAttribute('numero', $subconta); +// $this->assertObjectHasAttribute('bairro', $subconta); +// $this->assertObjectHasAttribute('complemento', $subconta); +// $this->assertObjectHasAttribute('cidade', $subconta); +// $this->assertObjectHasAttribute('estado', $subconta); +// $this->assertObjectHasAttribute('numero_cartao', $subconta); +// $this->assertObjectHasAttribute('telefone', $subconta); +// $this->assertObjectHasAttribute('status_cartao', $subconta); +// $this->assertObjectHasAttribute('nm_boletos_carga_pendentes', $subconta); +// } - public function testAdicionarSaldo() - { - $credencial = "eb2af021c5e2448c343965a7a80d7d090eb64164"; - $chave = "a834d47e283dd12f50a1b3a771603ae9dfd5a32c"; - $tokenSubconta = "b2240b16b373446935a2a7ab437577a823f22eaa"; +// public function testAdicionarSaldo() +// { +// $credencial = "eb2af021c5e2448c343965a7a80d7d090eb64164"; +// $chave = "a834d47e283dd12f50a1b3a771603ae9dfd5a32c"; +// $tokenSubconta = "b2240b16b373446935a2a7ab437577a823f22eaa"; - $PJBankContaDigital = new ContaDigital($credencial, $chave); - $subconta = $PJBankContaDigital->Subcontas->adicionarSaldoSubconta($tokenSubconta, 50); +// $PJBankContaDigital = new ContaDigital($credencial, $chave); +// $subconta = $PJBankContaDigital->Subcontas->adicionarSaldoSubconta($tokenSubconta, 50); - $this->assertObjectHasAttribute('nosso_numero', $subconta); - $this->assertObjectHasAttribute('link_boleto', $subconta); - $this->assertObjectHasAttribute('linha_digitavel', $subconta); - } -} +// $this->assertObjectHasAttribute('nosso_numero', $subconta); +// $this->assertObjectHasAttribute('link_boleto', $subconta); +// $this->assertObjectHasAttribute('linha_digitavel', $subconta); +// } +// } diff --git a/tests/Recebimento/Boletos/BoletosTest.php b/tests/Recebimento/Boletos/BoletosTest.php index 0a39851..f28e3da 100644 --- a/tests/Recebimento/Boletos/BoletosTest.php +++ b/tests/Recebimento/Boletos/BoletosTest.php @@ -21,27 +21,25 @@ public function testEmitirBoleto() { ->setPedidoNumero(rand(0, 999)) ->gerar(); - $this->assertObjectHasAttribute('vencimento', $boleto); - $this->assertObjectHasAttribute('valor', $boleto); - $this->assertObjectHasAttribute('juros', $boleto); - $this->assertObjectHasAttribute('multa', $boleto); - $this->assertObjectHasAttribute('desconto', $boleto); - $this->assertObjectHasAttribute('nome_cliente', $boleto); - $this->assertObjectHasAttribute('cpf_cliente', $boleto); - $this->assertObjectHasAttribute('endereco_cliente', $boleto); - $this->assertObjectHasAttribute('numero_cliente', $boleto); - $this->assertObjectHasAttribute('complemento_cliente', $boleto); - $this->assertObjectHasAttribute('bairro_cliente', $boleto); - $this->assertObjectHasAttribute('cidade_cliente', $boleto); - $this->assertObjectHasAttribute('numero_cliente', $boleto); - $this->assertObjectHasAttribute('texto', $boleto); - $this->assertObjectHasAttribute('logo_url', $boleto); - $this->assertObjectHasAttribute('grupo', $boleto); - $this->assertObjectHasAttribute('link', $boleto); - $this->assertObjectHasAttribute('linha_digitavel', $boleto); - $this->assertObjectHasAttribute('id_unico', $boleto); - - + $this->assertIsObject($boleto); + $this->assertTrue(property_exists($boleto, 'vencimento')); + $this->assertTrue(property_exists($boleto, 'valor')); + $this->assertTrue(property_exists($boleto, 'juros')); + $this->assertTrue(property_exists($boleto, 'multa')); + $this->assertTrue(property_exists($boleto, 'desconto')); + $this->assertTrue(property_exists($boleto, 'nome_cliente')); + $this->assertTrue(property_exists($boleto, 'cpf_cliente')); + $this->assertTrue(property_exists($boleto, 'endereco_cliente')); + $this->assertTrue(property_exists($boleto, 'numero_cliente')); + $this->assertTrue(property_exists($boleto, 'complemento_cliente')); + $this->assertTrue(property_exists($boleto, 'bairro_cliente')); + $this->assertTrue(property_exists($boleto, 'cidade_cliente')); + $this->assertTrue(property_exists($boleto, 'numero_cliente')); + $this->assertTrue(property_exists($boleto, 'texto')); + $this->assertTrue(property_exists($boleto, 'logo_url')); + $this->assertTrue(property_exists($boleto, 'grupo')); + $this->assertTrue(property_exists($boleto, 'link')); + $this->assertTrue(property_exists($boleto, 'linha_digitavel')); + $this->assertTrue(property_exists($boleto, 'id_unico')); } - } \ No newline at end of file