Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Commit

Permalink
Merge pull request #255 from moip/release/v3.1.0
Browse files Browse the repository at this point in the history
[RELEASE] v3.1.0
  • Loading branch information
mbnakaya authored Jan 29, 2018
2 parents bb9f995 + 395458b commit c32c902
Show file tree
Hide file tree
Showing 16 changed files with 432 additions and 84 deletions.
22 changes: 21 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,28 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

<a name="v3.1.0"></a>
## v3.1.0 (2018-01-17)


#### Bug Fixes

* **Accounts**: Resolves Warning on account creation. ([4a712974](https://github.com/moip/moip-sdk-php/commit/4a712974))

#### Features

* **Orders**: Adds item category argument into `addItem()` method. ([749fa85e](https://github.com/moip/moip-sdk-php/commit/749fa85e))

* **Accounts**: Adds `getPasswordLink()` method. ([fe2c4d6d](https://github.com/moip/moip-sdk-php/commit/fe2c4d6d))

* **Balances**: Get balances of Moip Account. ([37b085a8](https://github.com/moip/moip-sdk-php/commit/37b085a8))

* **Transfers**:
* Create a transfer to a saved bank account. ([749fa85e](https://github.com/moip/moip-sdk-php/commit/749fa85e))
* Adds set and get `ownId` to a transfer. ([1c297d14](https://github.com/moip/moip-sdk-php/commit/1c297d14))

<a name="v3.0.0"></a>
## v3.0.0 (2018-01-04)
# [](https://github.com/moip/moip-sdk-php/compare/v2.2.0...v3.0.0) (2018-01-04)


#### Bug Fixes
Expand Down
160 changes: 93 additions & 67 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@
- [Cartão de crédito](#cartão-de-crédito-1)
- [Valor Total](#valor-total)
- [Valor Parcial](#valor-parcial)
- [Conta Bancária](#conta-bancária)
- [Conta bancária](#conta-bancária)
- [Valor Total](#valor-total-1)
- [Valor Parcial](#valor-parcial-1)
- [Consulta](#consulta-1)
- [Consulta](#consultar-reembolso)
- [OAuth (Moip Connect)](#oauth-moip-connect)
- [Solicitar permissões de acesso ao usuário](#solicitar-permissões-de-acesso-ao-usuário)
- [Gerando access token OAuth](#gerando-access-token-oauth)
Expand All @@ -78,13 +78,26 @@
- [Consulta](#consulta-1)
- [Verifica se usuário já possui Conta Moip](#verifica-se-usuário-já-possui-conta-moip)
- [Obter chave pública de uma Conta Moip](#obter-chave-pública-de-uma-conta-moip)
- [Saldo Moip](#saldo-moip)
- [Consulta](#consultar-saldos)
- [Conta Bancária](#conta-bancária-1)
- [Criação](#criar-conta-bancária)
- [Consulta](#consultar-conta-bancária)
- [Listagem](#listar-contas-bancárias)
- [Atualização](#atualizar-conta-bancária)
- [Deletar](#deletar-conta-bancária)
- [Transferência](#transferência)
- [Criação](#criando/executando-uma-transferência)
- [Consulta](#consultar-transferência)
- [Listagem](#listar-transferências)
- [Reversão](#reverter-transferência)
- [Preferências de Notificação](#preferências-de-notificação)
- [Criação](#criação-2)
- [Consulta](#consulta-4)
- [Consulta](#consulta-5)
- [Exclusão](#exclusão)
- [Listagem](#listagem)
- [Webhooks](#webhooks)
- [Consulta](#consulta-5)
- [Consulta](#consulta-6)
- [Packages](#packages)
- [Tratamento de exceções](#tratamento-de-exceções)
- [Documentação](#documentação)
Expand Down Expand Up @@ -260,11 +273,11 @@ Após criar o pedido basta criar um pagamento nesse pedido.
Para realizar o pagamento, via cartão de crédito, utilizando o cartão de um terceiro (quando o cliente não é o portador do cartão que será utilizado), é necessário que estes dados sejam diferenciados e informados corretamente, para cada etapa do fluxo.

```php
$holder = $this->moip->holders()->setFullname('Jose Silva')
->setBirthDate(\DateTime::createFromFormat($this->date_format, $this->date_string))
$holder = $moip->holders()->setFullname('Jose Silva')
->setBirthDate("1990-10-10")
->setTaxDocument('22222222222', 'CPF')
->setPhone(11, 66778899, 55)
->setAddress(Holder::ADDRESS_BILLING, 'Avenida Faria Lima', '2927', 'Itaim', 'Sao Paulo', 'SP', '01234000', 'Apt 101');
->setAddress('BILLING', 'Avenida Faria Lima', '2927', 'Itaim', 'Sao Paulo', 'SP', '01234000', 'Apt 101');
```
##### Com hash
> Para mais detalhes sobre a geração de hash com os dados do cartão [consulte a documentação.](https://dev.moip.com.br/docs/criptografia-de-cartao)
Expand Down Expand Up @@ -404,6 +417,12 @@ $refund = $payment->refunds()
);
print_r($refund);
```

### Consultar reembolso
```php
$refund = $payment->refunds()->get($refund_id);
```

## OAuth (Moip Connect)
### Solicitar permissões de acesso ao usuário
Para solicitar as permissões você deverá invocar o método getAuthUrl (que monta a URL) e redirecionar o usuário para a URL gerada. O usuário deverá conceder a permissão e então ele será redirecionado para a URL determinada pelo seu App e passada como atributo para o objeto Connect.
Expand Down Expand Up @@ -559,6 +578,55 @@ $keys = $moip->keys()->get();
print_r($keys);
```

## Saldo Moip
O Saldo é a composição de valores atuais disponíveis, indisponíveis (bloqueados) e futuros de uma determinada **Conta Moip**.

> Esta API está na versão 2.1, contendo o _header_ **Accept**, com o valor `application/json;version=2.1`.
### Consultar saldos
```php
$balances = $moip->balances()->get();
```

_Requer autenticação `OAuth`._

## Conta Bancária
A Conta bancária é o domicílio bancário de uma determinada Conta Moip. Esta API permite a criação, a consulta e a alteração dos dados de uma Conta Bancária.

### Criar Conta Bancária
```php
$bank_account = $moip->bankaccount()
->setBankNumber('237')
->setAgencyNumber('12345')
->setAgencyCheckNumber('0')
->setAccountNumber('12345678')
->setAccountCheckNumber('7')
->setType('CHECKING')
->setHolder('Demo Moip', '622.134.533-22', 'CPF')
->create($moip_account_id);
```

### Consultar Conta Bancária
```php
$bank_account = $moip->bankaccount()->get($bank_account_id);
```

### Listar Contas Bancárias
```php
$bank_accounts = $moip->bankaccount()->getList($account_id)->getBankAccounts();
```

### Atualizar Conta Bancária
```php
$bank_account = $moip->bankaccount()
->setAccountCheckNumber('8')
->update($bank_account_id);
```

### Deletar Conta Bancária
```php
$moip->bankaccount()->delete($bank_account_id);
```

## Preferências de notificação

### Criação
Expand Down Expand Up @@ -612,8 +680,11 @@ $moip->webhooks()->get(new Pagination(10, 0), 'ORD-ID', 'ORDER.PAID');
```

## Transferência
A Transferência é uma movimentação de fundos entre uma Conta Moip e outra conta de pagamento (pode ser uma Conta bancária ou uma determinada Conta Moip).

### Criando/executando uma transferência
#### Por conta bancária

```php
$amount = 500;
$bank_number = '001';
Expand All @@ -632,82 +703,37 @@ $transfer = $moip->transfers()
print_r($transfer);
```

### Consulta
#### Transferência específica
```php
$transfer_id = 'TRA-28HRLYNLMUFH';
$transfer = $this->moip->transfers()->get($transfer_id);

print_r($transfer);
```

#### Todas transferências
##### Sem paginação
```php
$transfers = $this->moip->transfers()->getList();
```

##### Com paginação
Para realizar uma transferência utilizando uma conta bancária já cadastrada:
```php
$transfers = $this->moip->transfers()->getList(new Pagination(10,0));
$transfer = $moip->transfers()
->setTransfersToBankAccount($amount, $bank_account_id)
->execute();
```

### Reverter
### Consultar transferência
```php
$transfer_id = 'TRA-28HRLYNLMUFH';
$transfer = $moip->transfers()->get($transfer_id);

$transfer = $this->moip->transfers()->revert($transfer_id);
```

## Contas bancárias

### Criação
```php
$account_id = 'MPA-05E8C79EAAAA';
$bank_account = $moip->bankaccount()
->setBankNumber('237')
->setAgencyNumber('12345')
->setAgencyCheckNumber('0')
->setAccountNumber('12345678')
->setAccountCheckNumber('7')
->setType('CHECKING')
->setHolder('Demo Moip', '622.134.533-22', 'CPF')
->create($account_id);

print_r($bank_account);
```

### Consulta
#### Conta bancária específica
```php
$bank_account_id = 'BKA-397X21X1G6LT';
$bank_account = $moip->bankaccount()->get($bank_account_id);

print_r($bank_account);
print_r($transfer);
```

#### Todas contas bancárias
### Listar transferências
#### Sem paginação
```php
$account_id = 'MPA-05E8C79EAAAA';
$bank_accounts = $moip->bankaccount()->getList($account_id)->getBankAccounts();

print_r($bank_accounts);
$transfers = $moip->transfers()->getList();
```

### Exclusão
#### Com paginação
```php
$bank_account_id = 'BKA-397X21X1G6LT';
$moip->bankaccount()->delete($bank_account_id);
$transfers = $moip->transfers()->getList(new Pagination(10,0));
```

### Atualização
### Reverter transferência
```php
$bank_account_id = 'BKA-397X21X1G6LT';
$bank_account = $moip->bankaccount()->get($bank_account_id);
$bank_account->setAccountCheckNumber('7');
$bank_account->update();
$transfer_id = 'TRA-28HRLYNLMUFH';

print_r($bank_account);
$transfer = $moip->transfers()->revert($transfer_id);
```

## Tratamento de Exceções
Expand Down
13 changes: 12 additions & 1 deletion src/Moip.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

use Moip\Contracts\Authentication;
use Moip\Resource\Account;
use Moip\Resource\Balances;
use Moip\Resource\BankAccount;
use Moip\Resource\Customer;
use Moip\Resource\Entry;
Expand Down Expand Up @@ -49,7 +50,7 @@ class Moip
*
* @const string
*/
const CLIENT_VERSION = '3.0.0';
const CLIENT_VERSION = '3.1.0';

/**
* Authentication that will be added to the header of request.
Expand Down Expand Up @@ -257,6 +258,16 @@ public function bankaccount()
return new BankAccount($this);
}

/**
* Create a new Balances instance.
*
* @return Balances
*/
public function balances()
{
return new Balances($this);
}

/**
* Get the endpoint.
*
Expand Down
56 changes: 55 additions & 1 deletion src/Resource/Account.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ public function initialize()
$this->data->email = new stdClass();
$this->data->person = new stdClass();
$this->data->person->alternativePhones = [];
$this->data->businessSegment = new stdClass();
$this->data->type = self::ACCOUNT_TYPE;
}

Expand Down Expand Up @@ -363,6 +364,36 @@ public function getType()
return $this->getIfSet('type', $this->data);
}

/**
* Get business segment id.
*
* @return int id.
*/
public function getBusinessSegmentId()
{
return $this->getIfSet('id', $this->data->businessSegment);
}

/**
* Get business segment name.
*
* @return string name.
*/
public function getBusinessSegmentName()
{
return $this->getIfSet('name', $this->data->businessSegment);
}

/**
* Get business segment mcc.
*
* @return int mcc.
*/
public function getBusinessSegmentMcc()
{
return $this->getIfSet('mcc', $this->data->businessSegment);
}

/**
* Get transparent account (true/false).
*
Expand All @@ -383,6 +414,16 @@ public function getCreatedAt()
return $this->getIfSet('createdAt', $this->data);
}

/**
* Get link to set the password of created account.
*
* @return string
*/
public function getPasswordLink()
{
return $this->getIfSet('href', $this->data->_links->setPassword);
}

/**
* Mount the seller structure from account.
*
Expand Down Expand Up @@ -434,8 +475,21 @@ protected function populate(stdClass $response)

$account->data->person->alternativePhones = $this->getIfSet('alternativePhones', $person);

$businessSegment = $this->getIfSet('businessSegment', $response);

$account->data->businessSegment->id = $this->getIfSet('id', $businessSegment);
$account->data->businessSegment->name = $this->getIfSet('name', $businessSegment);
$account->data->businessSegment->mcc = $this->getIfSet('mcc', $businessSegment);

$account->data->company = $this->getIfSet('company', $response);
$account->data->_links = $this->getIfSet('_links', $response);
$account->data->_links = new stdClass();

$_links = $this->getIfSet('_links', $response);
$account->data->_links->setPassword = new stdClass();

$setPassword = $this->getIfSet('setPassword', $_links);
$account->data->_links->setPassword->href = $this->getIfSet('href', $setPassword);

$account->data->type = $this->getIfSet('type', $response);
$account->data->id = $this->getIfSet('id', $response);
$account->data->accessToken = $this->getIfSet('accessToken', $response);
Expand Down
Loading

0 comments on commit c32c902

Please sign in to comment.