Skip to content
This repository has been archived by the owner on Apr 24, 2023. It is now read-only.

Commit

Permalink
Merge pull request #73 from pagseguro/desenvolvimento
Browse files Browse the repository at this point in the history
Update PagSeguro PHP Library and improvements
  • Loading branch information
s2it-moscou committed Jan 9, 2018
2 parents 3df3ec3 + c6d7326 commit a21f4db
Show file tree
Hide file tree
Showing 180 changed files with 6,590 additions and 1,162 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
Changelog
---------
3.4.0
- Atualizada biblioteca PHP do PagSeguro para versão 3.3.0
- Fix: erro no "credit card holder phone" (não estava sendo enviado o telefone do usuário)
- Melhoria: adicionada validação para, caso os dados do cartão de crédito não tenham sido inseridos corretamente (como senha errada, validada errada), exibir mensagem na tela de checkout (antes a compra era finalizada com erro)
- Fix: erro ao exibir o parcelamento máximo na tela do produto

3.3.0
- Adicionada compatibilidade com One Step Checkout Brasil 6 Pro (Inovarti)

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Com o módulo instalado e configurado, você pode pode oferecer o PagSeguro como
- Certifique-se de que não há instalação de outros módulos para o PagSeguro em seu sistema;
- Caso utilize a compilação do Magento, desative-a e limpe-a *(Sistema -> Ferramentas -> Compilação)*;
- Baixe a última versão do módulo **[nesse link](https://github.com/pagseguro/magento/raw/master/UOL_PagSeguro-3.3.0.tgz)** ou então baixe o repositório como arquivo zip através do botão do GitHub;
- Baixe a última versão do módulo **[nesse link](https://github.com/pagseguro/magento/raw/master/UOL_PagSeguro-3.4.0.tgz)** ou então baixe o repositório como arquivo zip através do botão do GitHub;
- Na área administrativa do seu Magento, acesse o menu *Sistema/System -> Magento Connect -> Magento Connect Manager*. Caso tenha uma versão anterior do módulo instalada faça a remoção agora;
- No Magento Connect Manger, dentro da seção Direct package file upload, clique em **Escolher arquivo/Choose file**, selecione o arquivo UOL_PagSeguro-x.x.x.tgz (baixado anteriormente), clique no botão de upload e acompanhe a instalação do módulo no console da página;
- Caso utilize a compilação, volte para a área administrativa do Magento, ative-a e execute-a novamente;
Expand Down
Binary file removed UOL_PagSeguro-3.3.0.tgz
Binary file not shown.
Binary file added UOL_PagSeguro-3.4.0.tgz
Binary file not shown.
12 changes: 5 additions & 7 deletions app/code/community/UOL/PagSeguro/Model/InstallmentsMethod.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,11 @@ public function create($amount, $brand = '')
{
$this->helper = Mage::helper('pagseguro');
try {
$session = PagSeguro\Services\Session::create($this->library->getAccountCredentials());
$installments = PagSeguro\Services\Installment::create(
$this->library->getAccountCredentials(),
[
$session,
$amount,
$brand,
'amount' => $amount,
'card_brand' => $brand
]
);
$format = $this->output($installments, true);
Expand All @@ -80,7 +78,7 @@ public function create($amount, $brand = '')
private function output($installments, $maxInstallment)
{
return ($maxInstallment) ?
$this->formatOutput($this->getMaxInstallment($installments)) :
$this->formatOutput($this->getMaxInstallment($installments->getInstallments())) :
$this->formatOutput($installments);
}

Expand Down Expand Up @@ -112,7 +110,7 @@ private function formatInstallments($installment)
{
return array(
'quantity' => $installment->getQuantity(),
'amount' => $installment->getInstallmentAmount(),
'amount' => $installment->getAmount(),
'totalAmount' => PagSeguro\Helpers\Currency::toDecimal($installment->getTotalAmount()),
'text' => str_replace('.', ',', $this->getInstallmentText($installment)),
);
Expand All @@ -130,7 +128,7 @@ private function getInstallmentText($installment)
return sprintf(
"%s x de R$ %.2f %s juros",
$installment->getQuantity(),
$installment->getInstallmentAmount(),
$installment->getAmount(),
$this->getInterestFreeText($installment->getInterestFree()));
}

Expand Down
5 changes: 4 additions & 1 deletion app/code/community/UOL/PagSeguro/Model/PaymentMethod.php
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,10 @@ public function paymentDirect($paymentMethod, $paymentData)
number_format($paymentData['creditCardInstallmentValue'], 2, '.', ''));
$payment->setHolder()->setBirthdate($paymentData['creditCardBirthdate']);
$payment->setHolder()->setName($paymentData['creditCardHolder']);
$payment->setHolder()->setPhone()->withArray($this->helper->formatPhone($this->order->getBillingAddress()->getTelephone()));

$phone = $this->helper->formatPhone($this->order->getBillingAddress()->getTelephone());
$payment->setHolder()->setPhone()->withParameters($phone['areaCode'], $phone['number']);

$payment->setHolder()->setDocument()->withParameters(
$formatedDocument['type'],
$formatedDocument['number']
Expand Down
2 changes: 1 addition & 1 deletion app/code/community/UOL/PagSeguro/etc/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ limitations under the License.
<config>
<modules>
<UOL_PagSeguro>
<version>3.3.0</version>
<version>3.4.0</version>
</UOL_PagSeguro>
</modules>
<global>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@
<input class="pagseguro-cc-input form-control code-card-mask required-entry" id="creditCardCode" type="text" minlength="3"
maxlength="4"
onkeydown="creditCardCodeMask(this)"
onblur="validateCreditCardCode(this, true)" required>
<div class="display-none validation-advice creditCardCode-error-message">Insira um código segurança válido</div>
onblur="validateCreditCardCode(this)" required>
<div class="display-none validation-advice creditCardCode-error-message">Insira um código segurança válido.</div>
</div>
</div>

Expand Down Expand Up @@ -168,6 +168,14 @@
</div>
</div>

<div class="credit-card-error-ps pagseguro-label-spacing pagseguro-cc-group-div" style="font-weight: bold; text-align: center;">
<span>
<div class="display-none validation-advice creditCardToken-error-message">
Dados do cartão inválidos. Verifique o número, a validade e o código de segurança do cartão inseridos e tente novamente.
</div>
</span>
</div>

<div style="display: inline-block; "class="pagseguro-label-spacing pagseguro-cc-group-div">
<ul class="pagseguro-direct-payment-ul">
<div class="pagseguro-cc-input-div">
Expand All @@ -178,7 +186,3 @@
</ul>
</div>
</div>




9 changes: 8 additions & 1 deletion lib/PagseguroPhpSdk/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -189,4 +189,11 @@ nbproject/
## Composer
#################
composer.phar
/vendor/*
composer.lock
/vendor/*


#################
## Lib
#################
*.log
54 changes: 54 additions & 0 deletions lib/PagseguroPhpSdk/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
3.3.0
- Removidas funcionalidades depreciadas
- Correções e melhorias gerais

3.2.0
- Adicionado serviço de assinatura transparente

3.1.0
- Alterada URL do checkout transparente
- Correções e melhorias gerais

3.0.8
- Corrigido problema de conversão de tipo bool em string na geração de URL
- Corrigido erro *undefined index* no serviço de parcelamento

3.0.6
- Corrigidos nomes e siglas dos estados brasileiros
- Corrigido bug no serviço de parcelamento
- Correções e melhorias gerais

3.0.0
- Criar requisições de pagamentos
- Criar requisições de pagamentos com assinaturas
- Criar requisições de cancelamento de transações
- Criar requisições de estorno de transações
- Consultar transações por código
- Consultar transações por intervalo de datas
- Consultar transações abandonadas
- Consultar transações por código de referência
- Criar requisições de autorizações
- Consultar autorizações por código
- Consultar autorizações por intervalo de datas
- Consultar autorizações por código de notificação
- Consultar autorizações por código de referência
- Criar requisições de assinaturas
- Criar requisições de cancelamento de assinaturas
- Criar requisições de cobrança de assinaturas
- Consultar assinaturas por código
- Consultar assinaturas por intervalo de datas
- Consultar assinaturas por intervalo de dias
- Consultar assinaturas por código de notificação
- Receber notificações de autorizações
- Receber notificações de assinaturas
- Receber notificações de transações
- Criar requisições de checkout transparente utilizando boleto
- Criar requisições de checkout transparente utilizando debito online
- Criar requisições de checkout transparente utilizando cartão de crédito
- Criar requisições de checkout transparente utilizando cartão de crédito internacional
- Criar requisições de checkout transparente utilizando boleto com split payment
- Criar requisições de checkout transparente utilizando debito online com split payment
- Criar requisições de checkout transparente utilizando cartão de crédito com split payment
- Criar requisições de checkout transparente utilizando cartão de crédito internacional com split payment
- Atualização do código da biblioteca, aderindo ao uso de *namespaces*.
- Refatoração do código base.
98 changes: 38 additions & 60 deletions lib/PagseguroPhpSdk/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Descrição
A biblioteca PagSeguro em PHP é um conjunto de classes de domínio que facilitam, para o desenvolvedor PHP, a utilização das funcionalidades que o PagSeguro oferece na forma de APIs. Com a biblioteca instalada e configurada, você pode facilmente integrar funcionalidades como:

- Criar [requisições de pagamentos]
- Criar [requisições de assinaturas transparentes] e gerenciá-las
- Criar [requisições de assinaturas]
- Cancelar [assinaturas]
- Consultar [assinaturas]
Expand All @@ -28,34 +29,43 @@ Requisitos
- [SPL]
- [cURL]
- [SimpleXml]
- [Composer]


Instalação
----------

- Baixe o repositório como arquivo zip ou faça um clone;
> Nota: Recomendamos a instalação via **Composer**. Você também pode baixar o repositório como [arquivo zip] ou fazer um clone via Git.
### Instalação via Composer
> Para baixar e instalar o Composer no seu ambiente acesse https://getcomposer.org/download/ e caso tenha dúvidas de como utilizá-lo consulte a [documentação oficial do Composer].
É possível instalar a biblioteca pagseguro-php-sdk([pagseguro/pagseguro-php-sdk]) via Composer de duas maneiras:

- Executando o comando para adicionar a dependência automaticamente
```
php composer.phar require pagseguro/pagseguro-php-sdk
```

**OU**

- Adicionando a dependência ao seu arquivo ```composer.json```
```composer.json
{
"require": {
"pagseguro/pagseguro-php-sdk" : "*"
}
}
```

### Instalação manual
- Baixe o repositório como [arquivo zip] ou faça um clone;
- Descompacte os arquivos em seu computador;
- Execute o comando ```composer install```
- O diretório *public* contém exemplos de chamadas utilizando a API e o diretório *source* contém a biblioteca propriamente dita.

Instalação via Composer

- Alternativamente, é possível utilizar o [Composer] para carregar a biblioteca ([pagseguro/pagseguro-php-sdk]).

Adicionando a dependência ao seu arquivo ```composer.json```
```composer.json
{
"require": {
"pagseguro/pagseguro-php-sdk" : "*"
}
}
```

OU

Executando o comando para adicionar a dependência automaticamente

```php composer.phar require pagseguro/pagseguro-php-sdk```
- Execute o comando ```php composer.phar install``` no local onde extraiu os arquivos.


Como usar
---------
O diretório *[public](public)* contém exemplos das mais diversas chamadas à API do PagSeguro utilizando a biblioteca (pagamento, assinatura, notificação) e o diretório *[source](source)* contém a biblioteca propriamente dita (código fonte).


Configuração
Expand All @@ -73,41 +83,8 @@ Caso tenha dúvidas ou precise de suporte, acesse nosso [fórum].

Changelog
---------
Para consultar o log de alterações acesse o arquivo [CHANGELOG.md](CHANGELOG.md).

3.0.0
- Criar requisições de pagamentos
- Criar requisições de pagamentos com assinaturas
- Criar requisições de cancelamento de transações
- Criar requisições de estorno de transações
- Consultar transações por código
- Consultar transações por intervalo de datas
- Consultar transações abandonadas
- Consultar transações por código de referência
- Criar requisições de autorizações
- Consultar autorizações por código
- Consultar autorizações por intervalo de datas
- Consultar autorizações por código de notificação
- Consultar autorizações por código de referência
- Criar requisições de assinaturas
- Criar requisições de cancelamento de assinaturas
- Criar requisições de cobrança de assinaturas
- Consultar assinaturas por código
- Consultar assinaturas por intervalo de datas
- Consultar assinaturas por intervalo de dias
- Consultar assinaturas por código de notificação
- Receber notificações de autorizações
- Receber notificações de assinaturas
- Receber notificações de transações
- Criar requisições de checkout transparente utilizando boleto
- Criar requisições de checkout transparente utilizando debito online
- Criar requisições de checkout transparente utilizando cartão de crédito
- Criar requisições de checkout transparente utilizando cartão de crédito internacional
- Criar requisições de checkout transparente utilizando boleto com split payment
- Criar requisições de checkout transparente utilizando debito online com split payment
- Criar requisições de checkout transparente utilizando cartão de crédito com split payment
- Criar requisições de checkout transparente utilizando cartão de crédito internacional com split payment
- Atualização do código da biblioteca, aderindo ao uso de *namespaces*.
- Refatoração do código base.

Licença
-------
Expand Down Expand Up @@ -150,7 +127,7 @@ Achou e corrigiu um bug ou tem alguma feature em mente e deseja contribuir?
* Obs.: Adicione exemplos para sua nova feature. Se seu Pull Request for relacionado a uma versão específica, o Pull Request não deve ser enviado para o branch master e sim para o branch correspondente a versão.
* Obs2: Não serão aceitos PR's na branch master. Utilizar a branch de desenvolvimento.


[requisições de assinaturas transparentes]: https://dev.pagseguro.uol.com.br/documentacao/pagamento-online/pagamentos/pagamento-recorrente-transparente
[requisições de assinaturas]: http://download.uol.com.br/pagseguro/docs/pagseguro-assinatura-automatica.pdf
[assinaturas]: http://download.uol.com.br/pagseguro/docs/pagseguro-assinatura-automatica.pdf
[requisições de pagamentos]: https://dev.pagseguro.uol.com.br/documentacao/pagamentos
Expand All @@ -169,5 +146,6 @@ Achou e corrigiu um bug ou tem alguma feature em mente e deseja contribuir?
[Composer]: https://getcomposer.org
[pagseguro/pagseguro-php-sdk]: https://packagist.org/packages/pagseguro/pagseguro-php-sdk
[Como receber pagamentos pelo PagSeguro]: https://pagseguro.uol.com.br/receba-pagamentos.jhtml#checkout-transparent


[Composer]: https://getcomposer.org/
[arquivo zip]: https://github.com/pagseguro/pagseguro-php-sdk/archive/master.zip
[documentação oficial do Composer]: https://getcomposer.org/doc/
3 changes: 3 additions & 0 deletions lib/PagseguroPhpSdk/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
"lib-curl": "*",
"lib-openssl": "*"
},
"require-dev": {
"phpunit/phpunit": "^5.7"
},
"autoload": {
"psr-4": {
"PagSeguro\\": "source/"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

\PagSeguro\Library::initialize();

$code = 'FD3AF1B214EC40F0B0A6745D041BF50D';
$code = '2ED002E234444A0D9469EF14F0D5A9C1';

try {
$response = \PagSeguro\Services\Application\Search\Code::search(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

\PagSeguro\Library::initialize();

$code = '7BD4A616E8C3E8C3F57BB440FFA9ABEAE6F2';
$code = '7DD98273EB72EB7238388469DF9008F43A14';

try {
$response = \PagSeguro\Services\Application\Search\Notification::search(
Expand Down
45 changes: 45 additions & 0 deletions lib/PagseguroPhpSdk/public/DirectPreApproval/accession.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php
require_once "../../vendor/autoload.php";

\PagSeguro\Library::initialize();
\PagSeguro\Library::cmsVersion()->setName("Nome")->setRelease("1.0.0");
\PagSeguro\Library::moduleVersion()->setName("Nome")->setRelease("1.0.0");
/**
* Para usa o ambiente de testes (sandbox) descomentar a linha abaixo
*/
//\PagSeguro\Configuration\Configure::setEnvironment('sandbox');
//\PagSeguro\Configuration\Configure::setLog(true, '/var/www/git/pagseguro/pagseguro-php-sdk/Log.log');

$preApproval = new \PagSeguro\Domains\Requests\DirectPreApproval\Accession();
$preApproval->setPlan('código do plano');
$preApproval->setReference('referência da assinatura');
$preApproval->setSender()->setName('nome');//assinante
$preApproval->setSender()->setEmail('email');//assinante
$preApproval->setSender()->setIp('ip');//assinante
$preApproval->setSender()->setAddress()->withParameters('logradouro', 'numero', 'bairro', 'cep', 'cidade', 'UF',
'BRA');//assinante
$document = new \PagSeguro\Domains\DirectPreApproval\Document();
$document->withParameters('CPF', 'cpf'); //assinante
$preApproval->setSender()->setDocuments($document);
$preApproval->setSender()->setPhone()->withParameters('ddd', 'telefone'); //assinante
$preApproval->setPaymentMethod()->setCreditCard()->setToken('token'); //token do cartão de crédito gerado via javascript
$preApproval->setPaymentMethod()->setCreditCard()->setHolder()->setName('Nome Teste'); //nome do titular do cartão de crédito
$preApproval->setPaymentMethod()->setCreditCard()->setHolder()->setBirthDate('10/10/1990'); //data de nascimento do titular do cartão de crédito
$document = new \PagSeguro\Domains\DirectPreApproval\Document();
$document->withParameters('CPF', 'cpf'); //cpf do titular do cartão de crédito
$preApproval->setPaymentMethod()->setCreditCard()->setHolder()->setDocuments($document);
$preApproval->setPaymentMethod()->setCreditCard()->setHolder()->setPhone()->withParameters('ddd', 'telefone'); //telefone do titular do cartão de crédito
$preApproval->setPaymentMethod()->setCreditCard()->setHolder()->setBillingAddress()->withParameters('logradouro', 'numero',
'bairro', 'cep', 'cidade', 'UF', 'BRA'); //endereço do titular do cartão de crédito

try {
$response = $preApproval->register(
new \PagSeguro\Domains\AccountCredentials('email vendedor', 'token vendedor') // credencias do vendedor no pagseguro
);

echo '<pre>';
print_r($response);
} catch (Exception $e) {
die($e->getMessage());
}

Loading

0 comments on commit a21f4db

Please sign in to comment.