Skip to content
Open
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
21 changes: 20 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,13 +105,32 @@ $cobranca = $asaas->Cobranca()->estorno(id);
$cobranca = $asaas->Cobranca()->confirmacao(id);

// Desfazer confirmação de recebimento em dinheiro
$cobranca = $asaas->Cobranca()->confirmacao(id);
$cobranca = $asaas->Cobranca()->dezconfirmacao(id);

// Deleta uma cobrança
$asaas->Cobranca()->delete(123);
```


Pix
------------

Para criar o pix, precisa ser adicionar uma cobrança e com esse id da cobrança será gerado o qrCode do pix, lembrando o qrCode é gerado até as 23:59h do mesmo dia.
O QrCode vem em base64.

```php

$Pix = $asaas->Pix()->create($id_cobranca);
if($Pix->success){
echo '<img src="data:image/jpeg;base64, '.$Pix->encodedImage.'" />';
}

//Consulta se foi efetivado o pagamento via Pix, (Obs: Recomendo um post a cada 30s, ou um botão para confirmação do pagamento, assim não sobrecarregado o seu sistema e nem o do asaas ;) ).
$retorno = $asaas->Pix()->get($id_cobranca);

```



Link de Pagamemto
------------
Expand Down
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
"authors": [
{
"name": "Max Alex",
"email": "contato@codephix.com.br",
"email": "contato@codephix.com",
"homepage": "https://www.codephix.com"
}
],
"require": {
"php": "^7.2"
"php": "^7.2|^8.0"
},
"autoload": {
"psr-4": {
Expand Down
Binary file renamed .DS_Store → src/.DS_Store
Binary file not shown.
14 changes: 14 additions & 0 deletions src/Asaas.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ class Asaas {
public $MinhaConta;
public $InformacoesFiscais;
public $ConsultaSerasa;
public $Pix;
public $Parcelamento;

private $connection;

Expand All @@ -48,13 +50,25 @@ public function __construct($token, $status = false) {
$this->InformacoesFiscais = new InformacoesFiscais($this->connection);
$this->ConsultaSerasa = new ConsultaSerasa($this->connection);
$this->webhook = new Webhook($this->connection);
$this->Pix = new Pix($this->connection);
$this->Parcelamento = new Parcelamento($this->connection);
}

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

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

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

public function Cidade(){
$this->cidade = new Cidades($this->connection);
return $this->cidade;
Expand Down
4 changes: 2 additions & 2 deletions src/Cliente.php
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,6 @@ public function setCliente($cliente)
*/
public function cliente_valid($cliente)
{
return ! ( (empty($cliente['name']) OR empty($cliente['cpfCnpj']) OR empty($cliente['email'])) ? 1 : '' );
return ! ( (empty($cliente['name']) OR empty($cliente['cpfCnpj'])) ? 1 : '' );
}
}
}
18 changes: 14 additions & 4 deletions src/Cobranca.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,18 +74,28 @@ public function estorno($id){

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

// Desconfirmação em dinheiro
public function desconfirmacao($id, $dados){
return $this->http->post("/payments/{$id}/undoReceivedInCash", $dados);
}

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



// Retorna a listagem de cobranças de acordo com o Id da Assinaturas
public function Carner($id){
return $this->http->get('/installments/id'.$id);
}



/**
* Cria um novo boleto no Asaas.
* @param Array $cliente
Expand Down
Empty file modified src/ConsultaSerasa.php
100644 → 100755
Empty file.
Empty file modified src/InformacoesFiscais.php
100644 → 100755
Empty file.
Empty file modified src/LinkPagamento.php
100644 → 100755
Empty file.
Empty file modified src/MinhaConta.php
100644 → 100755
Empty file.
6 changes: 3 additions & 3 deletions src/NotaFiscal.php
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ public function ListMunicipalServices($parametos){
}

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

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

Expand All @@ -53,7 +53,7 @@ public function update($id, $dadosConta){
}

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

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

namespace CodePhix\Asaas;

use CodePhix\Asaas\Connection;

class Parcelamento {
public $http;
protected $cobranca;

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

// Retorna a listagem de cobranças
public function getAll(array $filtros = array()){
$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('/installments'.$filtro);
}

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

// Retorna os dados da cobrança de acordo com o Id
public function getBeefPdf($id){
$id = str_replace(
array(
'ins_00000000000',
'ins_0000000000',
'ins_000000000',
'ins_00000000',
'ins_0000000',
'ins_000000',
'ins_00000',
'ins_0000',
'ins_000',
'ins_00',
'ins_0',
'ins_'
),'',$id);

$link = $this->http->base_url.'.asaas.com/installment/paymentBook/'.$id;
return $link;
}

// Retorna a listagem de cobranças de acordo com o Id do Cliente
public function getByCustomer($customer_id){
return $this->http->get('/installments?customer='.$customer_id);
}

// Estorna cobrança
public function estorno($id){
return $this->http->post("/installment/{$id}/refund", []);
}

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

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

namespace CodePhix\Asaas;


class Pix {
//
public $http;

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

//https://www.asaas.com/api/v3/payments/id/pixQrCode

//Retorna informação via Pix, para conta com liberação.
public function create($id)
{

$resturn = $this->http->get('/payments/'.$id.'/pixQrCode');

if(!empty($resturn->encodedImage)){
$resturn->success = 1;
return $resturn;
}else{
return json_encode(array('success' => false));
}

/*
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.asaas.com/pixQrCode/createAsaasPaymentQrCode/'.$id);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

if(!empty($custom)){
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $custom);
}

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json"
));

$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response);

//$response = $this->http->request('GET', $this->base_url . $url);

return $response;*/
}

//Retorna informação via Pix, para conta com liberação.
public function get($id)
{

$id = str_replace('pay_','',$id);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.asaas.com/payment/isReceivedPayment/'.$id);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);

if(!empty($custom)){
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $custom);
}

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type: application/json"
));

$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response);

//$response = $this->http->request('GET', $this->base_url . $url);

return $response;
}

}