Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .DS_Store
Binary file not shown.
403 changes: 402 additions & 1 deletion README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
}
],
"require": {
"php": ">=7.2"
"php": "^7.2"
},
"autoload": {
"psr-4": {
Expand Down
36 changes: 36 additions & 0 deletions src/Asaas.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,17 @@ class Asaas {
public $assinatura;
public $cliente;
public $cobranca;
public $LinkPagamento;
public $notificacao;
public $transferencia;
public $webhook;
public $antecipacao;
public $extrato;
public $pagarconta;
public $NotaFiscal;
public $MinhaConta;
public $InformacoesFiscais;
public $ConsultaSerasa;

private $connection;

Expand All @@ -31,11 +37,16 @@ public function __construct($token, $status = false) {
$this->cidade = new Cidades($this->connection);
$this->cliente = new Cliente($this->connection);
$this->cobranca = new Cobranca($this->connection);
$this->LinkPagamento = new LinkPagamento($this->connection);
$this->notificacao = new Notificacao($this->connection);
$this->transferencia = new Transferencia($this->connection);
$this->extrato = new Extrato($this->connection);
$this->antecipacao = new Antecipacao($this->connection);
$this->pagarconta = new PagarConta($this->connection);
$this->NotaFiscal = new NotaFiscal($this->connection);
$this->MinhaConta = new MinhaConta($this->connection);
$this->InformacoesFiscais = new InformacoesFiscais($this->connection);
$this->ConsultaSerasa = new ConsultaSerasa($this->connection);
$this->webhook = new Webhook($this->connection);
}

Expand All @@ -59,6 +70,11 @@ public function Cobranca(){
return $this->cobranca;
}

public function LinkPagamento(){
$this->LinkPagamento = new LinkPagamento($this->connection);
return $this->LinkPagamento;
}

public function Notificacao(){
$this->notificacao = new Notificacao($this->connection);
return $this->notificacao;
Expand All @@ -83,6 +99,26 @@ public function PagarConta(){
$this->pagarconta = new PagarConta($this->connection);
return $this->pagarconta;
}

public function NotaFiscal(){
$this->NotaFiscal = new NotaFiscal($this->connection);
return $this->NotaFiscal;
}

public function InformacoesFiscais(){
$this->InformacoesFiscais = new InformacoesFiscais($this->connection);
return $this->InformacoesFiscais;
}

public function MinhaConta(){
$this->MinhaConta = new MinhaConta($this->connection);
return $this->MinhaConta;
}

public function ConsultaSerasa(){
$this->ConsultaSerasa = new ConsultaSerasa($this->connection);
return $this->ConsultaSerasa;
}

public function Webhook(){
$this->webhook = new Webhook($this->connection);
Expand Down
9 changes: 5 additions & 4 deletions src/Cobranca.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,11 @@ public function estorno($id){

// Confirmação em dinheiro
public function confirmacao($id, $dados){
return $this->http->post(
sprintf("/payments/%s/receiveInCash", $id),
$dados
);
return $this->http->post("/payments/{$id}/receiveInCash", array());
}
// Confirmação em dinheiro
public function dezconfirmacao($id, $dados){
return $this->http->post("/payments/{$id}/undoReceivedInCash", array());
}

// Deleta uma cobrança
Expand Down
42 changes: 42 additions & 0 deletions src/ConsultaSerasa.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php

namespace CodePhix\Asaas;


class ConsultaSerasa {

public $http;

public function __construct(Connection $connection)
{
$this->http = $connection;
}


public function getAll($parametos = false){
$filtro = '';
if(is_array($parametos)){
if($parametos){
foreach($parametos as $key => $f){
if(!empty($f)){
if($filtro){
$filtro .= '&';
}
$filtro .= $key.'='.$f;
}
}
$filtro = '?'.$filtro;
}
}
return $this->http->get('/creditBureauReport'.$filtro);
}

public function getBy($id){
return $this->http->get('/creditBureauReport/'.$id);
}

public function create($dados){
return $this->http->post('/creditBureauReport', $dados);
}

}
27 changes: 27 additions & 0 deletions src/InformacoesFiscais.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?php

namespace CodePhix\Asaas;


class InformacoesFiscais {

public $http;

public function __construct(Connection $connection)
{
$this->http = $connection;
}

public function ListMunicipalConfigurations(){
return $this->http->get('/customerFiscalInfo/municipalOptions');
}

public function get(){
return $this->http->get('/customerFiscalInfo');
}

public function createUpdate($id){
return $this->http->post('/customerFiscalInfo', $dadosConta);
}

}
128 changes: 128 additions & 0 deletions src/LinkPagamento.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
<?php

namespace CodePhix\Asaas;

use CodePhix\Asaas\Connection;

class LinkPagamento {
public $http;
protected $cobranca;

public function __construct(Connection $connection)
{
$this->http = $connection;
}

// Retorna a listagem de cobranças
public function getAll(array $filtros){
$filtro = '';
if(is_array($filtros)){
if($filtros){
foreach($filtros as $key => $f){
if(!empty($f)){
if($filtro){
$filtro .= '&';
}
$filtro .= $key.'='.$f;
}
}
$filtro = '?'.$filtro;
}
}
return $this->http->get('/paymentLinks'.$filtro);
}

// Retorna os dados da cobrança de acordo com o Id
public function getById($id){
return $this->http->get('/paymentLinks/'.$id);
}

// Insere uma nova cobrança
public function create(array $dadosCobranca){
$dadosCobranca = $this->setCobranca($dadosCobranca);
if(!empty($dadosCobranca['error'])){
return $dadosCobranca;
}else {
return $this->http->post('/paymentLinks', $dadosCobranca);
}
}

// Atualiza os dados da cobrança
public function update($id, array $dadosCobranca){
return $this->http->post('/paymentLinks/' . $id, $dadosCobranca);
}

// Restaura cobrança removida
public function restore($id){
return $this->http->post("/paymentLinks/{$id}/restore", []);
}

// Deleta uma cobrança
public function delete($id){
return $this->http->get('/paymentLinks/'.$id,'','DELETE');
}

/**
* Faz merge nas informações das cobranças.
*
* @see https://asaasv3.docs.apiary.io/#reference/0/cobrancas/criar-nova-cobrancas
* @param Array $cliente
* @return Array
*/
public function setCobranca($dados)
{
try {
$this->cobranca = array(
'customer' => '',
'billingType' => '',
'value' => '',
'dueDate' => '',
'description' => '',
'externalReference' => '',
'installmentCount' => '',
'installmentValue' => '',
'discount' => '',
'interest' => '',
'fine' => '',
);

$this->cobranca = array_merge($this->cobranca, $dados);
return $this->cobranca;

} catch (Exception $e) {
return 'Erro ao definir o cliente. - ' . $e->getMessage();
}
}

/**
* Faz merge nas informações das cobranças.
*
* @see https://asaasv3.docs.apiary.io/#reference/0/cobrancas/criar-nova-cobrancas
* @param Array $cliente
* @return Array
*/
public function setCobrancaCartao($dados)
{
try {
$this->cobranca = array(
'customer' => '',
'billingType' => '',
'value' => '',
'dueDate' => '',
'description' => '',
'externalReference' => '',
'installmentCount' => '',
'installmentValue' => '',
'discount' => '',
'interest' => '',
'fine' => '',
);

$this->cobranca = array_merge($this->cobranca, $dados);
return $this->cobranca;

} catch (Exception $e) {
return 'Erro ao definir o cliente. - ' . $e->getMessage();
}
}
}
24 changes: 24 additions & 0 deletions src/MinhaConta.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?php

namespace CodePhix\Asaas;


class MinhaConta {

public $http;

public function __construct(Connection $connection)
{
$this->http = $connection;
}


public function get(){
return $this->http->get('/myAccount/');
}

public function getConf(){
return $this->http->get('/myAccount/paymentCheckoutConfig/');
}

}
59 changes: 59 additions & 0 deletions src/NotaFiscal.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?php

namespace CodePhix\Asaas;


class NotaFiscal {

public $http;

public function __construct(Connection $connection)
{
$this->http = $connection;
}


public function getAll($parametos = false){
$filtro = '';
if(is_array($parametos)){
if($parametos){
foreach($parametos as $key => $f){
if(!empty($f)){
if($filtro){
$filtro .= '&';
}
$filtro .= $key.'='.$f;
}
}
$filtro = '?'.$filtro;
}
}
return $this->http->get('/invoices/'.$filtro);
}

public function getBy($id){
return $this->http->get('/invoices/'.$id);
}


public function ListMunicipalServices($parametos){
return $this->http->get('/invoices/municipalServices?description='.$parametos);
}

public function issueInvoice($id){
return $this->http->post('/invoices/'$id.'/authorize', arrat());
}

public function create($id){
return $this->http->post('/invoices', $dadosConta);
}

public function update($id, $dadosConta){
return $this->http->post('/invoices/'.$id, $dadosConta);
}

public function cancel($id){
return $this->http->post('/invoices/'.$id.'/cancel', []);
}

}
Loading