Skip to content

Commit

Permalink
Merge pull request #44 from gabriellucius/direct-preapproval
Browse files Browse the repository at this point in the history
Direct preapproval
  • Loading branch information
s2it-moscou authored Jul 16, 2018
2 parents cfa415c + 8df87de commit 4320b5f
Show file tree
Hide file tree
Showing 160 changed files with 10,431 additions and 665 deletions.
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
4.2.0
- Criar requisições de assinaturas transparente e gerenciá-las (aderir, cancelar, consultar, efetuar cobrança, etc)

4.1.1
- Publicação da biblioteca no Repositório Global do Maven: ajustes no javadoc e melhorias gerais

4.1.0
- Melhorias e adicionado exemplos das transações de cancelamento e estorno (total e parcial)

4.0.0
- Remoção de funcionalidade depreciada (checkout com cartão de crédito internacional)

3.2.0
- Remoção de funcionalidades depreciadas

3.1.1
- Corrigido bug ao criar sessões (/sessions)

3.1.0
- Adicionar parametros no header da requisição
- Adicionar novas bandeiras de cartão de crédito

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
47 changes: 1 addition & 46 deletions README.md
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -133,52 +133,7 @@ Caso tenha dúvidas ou precise de suporte, acesse nosso [fórum].

Changelog
---------
4.1.1
- Publicação da biblioteca no Repositório Global do Maven: ajustes no javadoc e melhorias gerais

4.1.0
- Melhorias e adicionado exemplos das transações de cancelamento e estorno (total e parcial)

4.0.0
- Remoção de funcionalidade depreciada (checkout com cartão de crédito internacional)

3.2.0
- Remoção de funcionalidades depreciadas

3.1.1
- Corrigido bug ao criar sessões (/sessions)

3.1.0
- Adicionar parametros no header da requisição
- Adicionar novas bandeiras de cartão de crédito

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
Para consultar o log de alterações acesse o arquivo [CHANGELOG.md](CHANGELOG.md).

Licença
-------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
import br.com.uol.pagseguro.api.common.domain.builder.PaymentMethodBuilder;
import br.com.uol.pagseguro.api.common.domain.builder.PaymentMethodConfigBuilder;
import br.com.uol.pagseguro.api.common.domain.builder.PhoneBuilder;
import br.com.uol.pagseguro.api.common.domain.builder.PreApprovalBuilder;
import br.com.uol.pagseguro.api.common.domain.builder.PreApprovalRequestBuilder;
import br.com.uol.pagseguro.api.common.domain.builder.SenderBuilder;
import br.com.uol.pagseguro.api.common.domain.builder.ShippingBuilder;
import br.com.uol.pagseguro.api.common.domain.enums.ConfigKey;
Expand Down Expand Up @@ -84,7 +84,7 @@ public static void main(String[] args){
.withAddress(new AddressBuilder() //
.withPostalCode("99999999")
.withCountry("BRA")
.withState(State.XX)//
.withState(State.SP)//
.withCity("Cidade Exemplo")
.withComplement("99o andar")
.withDistrict("Jardim Internet")
Expand Down Expand Up @@ -172,7 +172,7 @@ public static void main(String[] args){
)

//Adciona a assinatura ao checkout
.withPreApproval(new PreApprovalBuilder()//
.withPreApproval(new PreApprovalRequestBuilder()//
.withCharge("manual") //
.withName("Seguro contra roubo do Notebook Prata")
.withDetails("Cada dia 28 será cobrado o valor de R$100,00 referente ao seguro " +
Expand All @@ -185,7 +185,7 @@ public static void main(String[] args){
.withDateRange(new DateRangeBuilder()
.between(
new Date(),
DatatypeConverter.parseDateTime("2017-09-27T23:59:59.000-03:00")
DatatypeConverter.parseDateTime("2018-09-27T23:59:59.000-03:00")
.getTime())
)
)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
package br.com.uol.pagseguro.example.api.direct.preapproval;

import br.com.uol.pagseguro.api.PagSeguro;
import br.com.uol.pagseguro.api.PagSeguroEnv;
import br.com.uol.pagseguro.api.common.domain.builder.*;
import br.com.uol.pagseguro.api.common.domain.enums.DocumentType;
import br.com.uol.pagseguro.api.common.domain.enums.PreApprovalPaymentMethodType;
import br.com.uol.pagseguro.api.common.domain.enums.State;
import br.com.uol.pagseguro.api.credential.Credential;
import br.com.uol.pagseguro.api.direct.preapproval.AccededDirectPreApproval;
import br.com.uol.pagseguro.api.direct.preapproval.DirectPreApprovalAccessionBuilder;
import br.com.uol.pagseguro.api.http.JSEHttpClient;
import br.com.uol.pagseguro.api.utils.logging.SimpleLoggerFactory;


import java.text.SimpleDateFormat;

public class AccedeDirectPreApprovalPlan {
public static void main(String[] args){

String sellerEmail = "your_seller_email";
String sellerToken = "your_seller_token";

try{

final PagSeguro pagSeguro = PagSeguro
.instance(new SimpleLoggerFactory(), new JSEHttpClient(),
Credential.sellerCredential(sellerEmail, sellerToken), PagSeguroEnv.SANDBOX);

// Aderindo ao plano FFAC8AE62424AC5884C90F8DAAE2F21A
AccededDirectPreApproval accededDirectPreApproval = pagSeguro.directPreApprovals().accede(
new DirectPreApprovalAccessionBuilder()
.withPlan("FFAC8AE62424AC5884C90F8DAAE2F21A")
.withReference("XXXXXXXX")
.withSender(new SenderBuilder()
.withName("José Comprador")
.withEmail("[email protected]")
.withIp("1.1.1.1")
.withHash("HASHHERE")
.withPhone(new PhoneBuilder()
.withAreaCode("99")
.withNumber("99999999")
)
.withAddress(new AddressBuilder()
.withStreet("Av. PagSeguro")
.withNumber("9999")
.withComplement("99o andar")
.withDistrict("Jardim Internet")
.withCity("Cidade Exemplo")
.withState(State.SP)
.withCountry("BRA")
.withPostalCode("99999999")
)
.addDocument(new DocumentBuilder()
.withType(DocumentType.CPF)
.withValue("99999999999")
)
)

.withPaymentMethod(new PreApprovalPaymentMethodBuilder()
.withType(PreApprovalPaymentMethodType.CREDITCARD)
.withCreditCard(new PreApprovalCreditCardBuilder()
.withToken("bdb962e9b432483f8e12d62c3fc4adc5")
.withHolder(new PreApprovalHolderBuilder()
.withName("JOSÉ COMPRADOR")
.withBirthDate(new SimpleDateFormat("dd/MM/yyyy").parse("20/12/1990"))
.addDocument(new DocumentBuilder()
.withType(DocumentType.CPF)
.withValue("99999999999")
)
.withPhone(new PhoneBuilder()
.withAreaCode("99")
.withNumber("99999999")
)
.withBillingAddress(new AddressBuilder()
.withStreet("Av. PagSeguro")
.withNumber("9999")
.withComplement("99o andar")
.withDistrict("Jardim Internet")
.withCity("Cidade Exemplo")
.withState(State.SP)
.withCountry("BRA")
.withPostalCode("99999999")
)
)
)
)
);

System.out.println(accededDirectPreApproval.getPreApprovalCode());
}catch (Exception e){
e.printStackTrace();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package br.com.uol.pagseguro.example.api.direct.preapproval;

import br.com.uol.pagseguro.api.PagSeguro;
import br.com.uol.pagseguro.api.PagSeguroEnv;
import br.com.uol.pagseguro.api.credential.Credential;
import br.com.uol.pagseguro.api.direct.preapproval.DirectPreApprovalCancellationBuilder;
import br.com.uol.pagseguro.api.http.JSEHttpClient;
import br.com.uol.pagseguro.api.utils.logging.SimpleLoggerFactory;

public class CancelDirectPreApproval {

public static void main(String[] args){
String sellerEmail = "your_seller_email";
String sellerToken = "your_seller_token";

try{
final PagSeguro pagSeguro = PagSeguro
.instance(new SimpleLoggerFactory(), new JSEHttpClient(),
Credential.sellerCredential(sellerEmail, sellerToken), PagSeguroEnv.SANDBOX);

// Cancelamento de adesão (assinatura)
pagSeguro.directPreApprovals().cancel(
new DirectPreApprovalCancellationBuilder()
.withCode("1EA91B6DFFFFC60FF4030F807D2473EE")
);

System.out.println("Cancelamento de adesão realizado!");
}catch (Exception e){
e.printStackTrace();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package br.com.uol.pagseguro.example.api.direct.preapproval;

import br.com.uol.pagseguro.api.PagSeguro;
import br.com.uol.pagseguro.api.PagSeguroEnv;
import br.com.uol.pagseguro.api.common.domain.builder.*;
import br.com.uol.pagseguro.api.common.domain.enums.DocumentType;
import br.com.uol.pagseguro.api.common.domain.enums.PreApprovalPaymentMethodType;
import br.com.uol.pagseguro.api.common.domain.enums.State;
import br.com.uol.pagseguro.api.credential.Credential;
import br.com.uol.pagseguro.api.direct.preapproval.DirectPreApprovalChangingPaymentMethodBuilder;
import br.com.uol.pagseguro.api.http.JSEHttpClient;
import br.com.uol.pagseguro.api.utils.logging.SimpleLoggerFactory;

import java.text.SimpleDateFormat;

public class ChangePaymentMethodDirectPreApproval {

public static void main(String[] args) {

String sellerEmail = "your_seller_email";
String sellerToken = "your_seller_token";

try {
final PagSeguro pagSeguro = PagSeguro
.instance(new SimpleLoggerFactory(), new JSEHttpClient(),
Credential.sellerCredential(sellerEmail, sellerToken), PagSeguroEnv.SANDBOX);

//Permite a alteração do meio de pagamento (cartão de crédito) atrelado ao pagamento do plano para as próximas cobranças
pagSeguro.directPreApprovals().changePaymentMethod(
new DirectPreApprovalChangingPaymentMethodBuilder()
.withPreApprovalCode("9902A8593131EE5FF4331F85FA630007") // código da assinatura
.withType(PreApprovalPaymentMethodType.CREDITCARD)
.withSenderRiskData(new PreApprovalSenderRiskDataBuilder()
.withIp("1.1.1.1")
.withHash("HASHCODE")
)
.withCreditCard(new PreApprovalCreditCardBuilder()
.withToken("621593e9f7cd4955b3452b4400e4893e")
.withHolder(new PreApprovalHolderBuilder()
.withName("JOSÉ COMPRADOR")
.withBirthDate(new SimpleDateFormat("dd/MM/yyyy").parse("20/12/1990"))
.addDocument(new DocumentBuilder()
.withType(DocumentType.CPF)
.withValue("99999999999")
)
.withPhone(new PhoneBuilder()
.withAreaCode("99")
.withNumber("99999999")
)
.withBillingAddress(new AddressBuilder()
.withStreet("Av. PagSeguro")
.withNumber("9999")
.withComplement("99o andar")
.withDistrict("Jardim Internet")
.withCity("Cidade Exemplo")
.withState(State.SP)
.withCountry("BRA")
.withPostalCode("99999999")
)
)
)
);
System.out.println("Meio de pagamento alterado com sucesso!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package br.com.uol.pagseguro.example.api.direct.preapproval;

import br.com.uol.pagseguro.api.PagSeguro;
import br.com.uol.pagseguro.api.PagSeguroEnv;
import br.com.uol.pagseguro.api.common.domain.enums.PreApprovalStatus;
import br.com.uol.pagseguro.api.credential.Credential;
import br.com.uol.pagseguro.api.direct.preapproval.DirectPreApprovalChangingStatusBuilder;
import br.com.uol.pagseguro.api.http.JSEHttpClient;
import br.com.uol.pagseguro.api.utils.logging.SimpleLoggerFactory;

public class ChangeStatusDirectPreApproval {

public static void main(String[] args){
String sellerEmail = "your_seller_email";
String sellerToken = "your_seller_token";

try{
final PagSeguro pagSeguro = PagSeguro
.instance(new SimpleLoggerFactory(), new JSEHttpClient(),
Credential.sellerCredential(sellerEmail, sellerToken), PagSeguroEnv.SANDBOX);

// Alteração do status de adesão (assinatura) [ suspenção: "SUSPENDED" | reativação: "ACTIVE" ]
pagSeguro.directPreApprovals().changeStatus(
new DirectPreApprovalChangingStatusBuilder()
.withCode("0213D5537C7CE858840B8FBF0854CAA3")
.withStatus(PreApprovalStatus.ACTIVE)
);

System.out.println("Alteracao de status de adesao realizado!");
}catch (Exception e){
e.printStackTrace();
}
}
}
Loading

0 comments on commit 4320b5f

Please sign in to comment.