Bom dia, estou pegando o token corretamento como o javascript porém quando eu faço o pagamento sempre tenho bad request, tanto com o Rest quanto com a API deles. Se tiver alguém que já implementou posso até pagar para me ajudar.
String url = “<a href="https://ws.sandbox.pagseguro.uol.com.br/v2/transactions">https://ws.sandbox.pagseguro.uol.com.br/v2/transactions</a>”;
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>();
map.add(“email”, dadosCartaoCredito.getEmail());
map.add(“token”, dadosCartaoCredito.getToken());
map.add(“paymentMode”, dadosCartaoCredito.getModoPagamento());
map.add(“paymentMethod”, dadosCartaoCredito.getMeioPagamento());
map.add(“currency”, dadosCartaoCredito.getMoedaUtilizada());
map.add(“itemId1”, dadosCartaoCredito.getMoedaUtilizada());
map.add(“itemDescription1”, dadosCartaoCredito.getDescItemPago1());
map.add(“itemAmount1”, dadosCartaoCredito.getPrecosUnitario1());
map.add(“itemQuantity1”, dadosCartaoCredito.getQtditem1());
map.add(“senderName”, dadosCartaoCredito.getNomeCompletoComprador());
map.add(“senderCPF”, dadosCartaoCredito.getCpfComprador());
map.add(“senderAreaCode”, dadosCartaoCredito.getDddComprador());
map.add(“senderPhone”, dadosCartaoCredito.getTelefoneComprador());
map.add(“senderEmail”, dadosCartaoCredito.getEmailComprador());
map.add(“senderHash”, dadosCartaoCredito.getIdentificadorVendedorJavaScriptPagSeguro());
map.add(“shippingAddressStreet”, dadosCartaoCredito.getRuaEnderecoEnvioProduto());
map.add(“shippingAddressNumber”, dadosCartaoCredito.getNumeroEnderecoEnvioProduto());
map.add(“shippingAddressDistrict”, dadosCartaoCredito.getBairroEnderecoEnvioProduto());
map.add(“shippingAddressPostalCode”, dadosCartaoCredito.getCepEnderecoEnvioProduto());
map.add(“shippingAddressCity”, dadosCartaoCredito.getCidadeEnderecoEnvioProduto());
map.add(“shippingAddressState”, dadosCartaoCredito.getEstadoEnderecoEnvioProduto());
map.add(“shippingAddressCountry”, dadosCartaoCredito.getPaisEnderecoEnvioProduto());
map.add(“creditCardToken”, dadosCartaoCredito.getTokenRetornadoServico());
map.add(“installmentQuantity”, dadosCartaoCredito.getQuantidadeParcelaEscolhidaCliente());
map.add(“installmentValue”, dadosCartaoCredito.getValorParcelasObtidasServico());
map.add(“noInterestInstallmentQuantity”, dadosCartaoCredito.getQuantidadeParcelasSemJurosOferecidasCliente());
map.add(“creditCardHolderName”, dadosCartaoCredito.getNomeImpressoCartaoCredito());
map.add(“creditCardHolderCPF”, dadosCartaoCredito.getCpfDonoCartaoCredito());
map.add(“creditCardHolderBirthDate”, dadosCartaoCredito.getDataNascimentoDonoCartaoCredito());
map.add(“creditCardHolderAreaCode”, dadosCartaoCredito.getDdDonoCartaoCredito());
map.add(“creditCardHolderPhone”, dadosCartaoCredito.getTelefoneDonoCartaoCredito());
map.add(“billingAddressStreet”, dadosCartaoCredito.getFaturamentoNomeRua());
map.add(“billingAddressNumber”, dadosCartaoCredito.getFaturamentoNumeroRua());
map.add(“billingAddressDistrict”, dadosCartaoCredito.getFaturamentoBairro());
map.add(“billingAddressPostalCode”, dadosCartaoCredito.getFaturamentoCepEnderecoCobranca());
map.add(“billingAddressCity”, dadosCartaoCredito.getFaturamentoCidade());
map.add(“billingAddressState”, dadosCartaoCredito.getFaturamentoEstado());
map.add(“billingAddressCountry”, dadosCartaoCredito.getFaturamentoPais());
populateHeaders(map, dadosCartaoCredito);
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map, headers);
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters()
.add(0, new StringHttpMessageConverter(Charset.forName(“ISO-8859-1”)));
ResponseEntity response = restTemplate.postForEntity( url , request , String.class );
System.out.println(response);
Tem um exemplo no curl.
curl https://ws.sandbox.pagseguro.uol.com.br/v2/transactions/ -d
“email=[email removido]
&token=95112EE828D94278BD394E91C4388F20
&paymentMode=default
&paymentMethod=creditCard
&receiverEmail=[email removido]
¤cy=BRL
&extraAmount=1.00
&itemId1=0001
&itemDescription1=Notebook Prata
&itemAmount1=24300.00
&itemQuantity1=1
¬ificationURL=https://sualoja.com.br/notifica.html
&reference=REF1234
&senderName=Jose Comprador
&senderCPF=[telefone removido]
&senderAreaCode=11
&senderPhone=56273440
&senderEmail=[email removido]
&senderHash=abc123
&shippingAddressStreet=Av. Brig. Faria Lima
&shippingAddressNumber=1384
&shippingAddressComplement=5o andar
&shippingAddressDistrict=Jardim Paulistano
&shippingAddressPostalCode=01452002
&shippingAddressCity=Sao Paulo
&shippingAddressState=SP
&shippingAddressCountry=BRA
&shippingType=1
&shippingCost=1.00
&creditCardToken=4as56d4a56d456as456dsa
&installmentQuantity=5
&installmentValue=125.22
&noInterestInstallmentQuantity=2
&creditCardHolderName=Jose Comprador
&creditCardHolderCPF=[telefone removido]
&creditCardHolderBirthDate=27/10/1987
&creditCardHolderAreaCode=11
&creditCardHolderPhone=56273440
&billingAddressStreet=Av. Brig. Faria Lima
&billingAddressNumber=1384
&billingAddressComplement=5o andar
&billingAddressDistrict=Jardim Paulistano
&billingAddressPostalCode=01452002
&billingAddressCity=Sao Paulo
&billingAddressState=SP
&billingAddressCountry=BRA”