Skip to content

JohnsonRodrigues/cobracaAsaas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cobraça Asaas

SDK não-oficial de integração á API do serviço www.asaas.com

Projeto em andamento

Installation

composer require cobranca/asaas

Exemplo

<?php

require 'vendor/autoload.php';

use Cobranca\Asaas;

// Instancie o cliente Asaas usando a instância do adapter previamente criada.
$asaas = new Asaas('seu_token_de_acesso');

Endpoint

Caso queira usar a API em modo teste basta especificar o ambiente no momento em que o cliente é instanciado.

// Obs.: Caso não seja informado o segundo parâmetro a API entra em modo de produção
$asaas = new Asaas('seu_token_de_acesso', 'producao|homologacao');

Clientes

// Retorna a listagem de clientes
$clientes = $asaas->cliente->getAll(array $filtros);

// Retorna os dados do cliente de acordo com o Id
$cobranca = $asaas->cliente->getById(123);

// Retorna os dados do cliente de acordo com o Email
$clientes = $asaas->cliente->getByEmail('email@mail.com');

// Insere um novo cliente
$clientes = $asaas->cliente->create(array $dadosCliente);

// Atualiza os dados do cliente
$clientes = $asaas->cliente->update(123, array $dadosCliente);

// Restaura um cliente
$asaas->cliente->restaura(123);

// Deleta uma cliente
$asaas->cliente->delete(123);

Cobranças

// Retorna a listagem de cobranças
$cobrancas = $asaas->cobranca->getAll(array $filtros);

// Retorna os dados da cobrança de acordo com o Id
$cobranca = $asaas->cobranca->getById(123);

// Retorna a listagem de cobranças de acordo com o Id do Cliente
$cobrancas = $asaas->cobranca->getByCustomer($customer_id);

// Retorna a listagem de cobranças de acordo com o Id da Assinaturas
$cobrancas = $asaas->cobranca->getBySubscription($subscription_id);

// Insere uma nova cobrança
$cobranca = $asaas->cobranca->create(array $dadosCobranca);

// Insere uma nova cobrança parcelada
$cobranca = $asaas->cobranca->parcelada(array $dadosCobranca);

// Insere uma nova cobrança com split 
/* Saldo dividido em multiplas contas do Asaas*/
$cobranca = $asaas->cobranca->parcelada(array $dadosCobranca);

// Atualiza os dados da cobrança
$cobranca = $asaas->cobranca->update(123, array $dadosCobranca);

// Restaura cobrança removida
$cobranca = $asaas->cobranca->restore(id);

// Estorna cobrança
$cobranca = $asaas->cobranca->estorno(id);

// Confirmação em dinheiro
$cobranca = $asaas->cobranca->confirmacao(id);

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

Assinaturas

Os status possíveis de uma cobrança são os seguintes:

[PENDING] - Aguardando pagamento

[RECEIVED] - Recebida (saldo já creditado na conta)

[CONFIRMED] - Pagamento confirmado (saldo ainda não creditado)

[OVERDUE] - Vencida

[REFUNDED] - Estornada

[RECEIVED_IN_CASH] - Recebida em dinheiro (não gera saldo na conta)

[REFUND_REQUESTED] - Estorno Solicitado

[CHARGEBACK_REQUESTED] - Recebido chargeback

[CHARGEBACK_DISPUTE] - Em disputa de chargeback (caso sejam apresentados documentos para contestação)

[AWAITING_CHARGEBACK_REVERSAL] - Disputa vencida, aguardando repasse da adquirente

[DUNNING_REQUESTED] - Em processo de recuperação

[DUNNING_RECEIVED] - Recuperada

[AWAITING_RISK_ANALYSIS] - Pagamento em análise


// Retorna a listagem de assinaturas
$assinaturas = $asaas->assinatura->getAll(array $filtros);

// Retorna os dados da assinatura de acordo com o Id
$assinatura = $asaas->assinatura->getById(123);

// Retorna a listagem de assinaturas de acordo com o Id do Cliente
$assinaturas = $asaas->assinatura->getByCustomer($customer_id);

// Insere uma nova assinatura

/*

Assinatura via Boleto

$dadosAssinatura = array(
  "customer" => "{CUSTOMER_ID}",
  "billingType" => "BOLETO",
  "nextDueDate" => "2017-05-15",
  "value" => 19.9,
  "cycle" => "MONTHLY",
  "description" => "Assinatura Plano Pró",
  "discount" => array(
    "value" => 10,
    "dueDateLimitDays" => 0
  ),
  "fine" => array(
    "value": 1
  ),
  "interest" => array(
    "value": 2
  )
);


Assinatura via cartão de credito


$dadosAssinatura = array(
  "customer" => "{CUSTOMER_ID}",
  "billingType" => "CREDIT_CARD",
  "nextDueDate" => "2017-05-15",
  "value" => 19.9,
  "cycle" => "MONTHLY",
  "description" => "Assinatura Plano Pró",
  "creditCard" => array(
    "holderName" => "marcelo h almeida",
    "number" => "5162306219378829",
    "expiryMonth" => "05",
    "expiryYear" => "2021",
    "ccv" => "318"
  ),
  "creditCardHolderInfo" => array(
    "name" => "Marcelo Henrique Almeida",
    "email" => "marcelo.almeida@gmail.com",
    "cpfCnpj" => "24971563792",
    "postalCode" => "89223-005",
    "addressNumber" => "277",
    "addressComplement" => null,
    "phone" => "4738010919",
    "mobilePhone" => "47998781877"
  )
);

*/

$assinatura = $asaas->assinatura->create(array $dadosAssinatura);

// Atualiza os dados da assinatura
$assinatura = $asaas->assinatura->update(123, array $dadosAssinatura);

Listar notas fiscais das cobranças de uma assinatura

/*

$parametos = array(
'offset' => '',
'limit' => '',
'status' => '',

*/

$assinatura = $asaas->assinatura->getNotaFiscal($id, array $parametos);

// Deleta uma assinatura
$asaas->assinatura->delete(123);

Notificações

// Retorna a listagem de notificações
$notificacoes = $asaas->notificacao->getAll(array $filtros);

// Retorna os dados da notificação de acordo com o Id
$notificacao = $asaas->notificacao->getById(123);

// Retorna a listagem de notificações de acordo com o Id do Cliente
$notificacoes = $asaas->notificacao->getByCustomer($customer_id);

// Insere uma nova notificação
$notificacao = $asaas->notificacao->create(array $dadosNotificacao);

// Atualiza os dados da notificação
$notificacao = $asaas->notificacao->update(123, array $dadosNotificacao);

// Deleta uma notificação
$asaas->notificacao->delete(123);

Documentação Oficial

Obs.: Esta é uma API não oficial. Foi feita com base na documentação disponibilizada neste link.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages