Paypal em Java

5 respostas
U

eu editei esse post, antes era sobre o pagseguro, mas decidi mudar…

Eu aprendi fazer a comunicação com o pagseguro, nem precisa de api, basta envia um POST com informações da venda e ficar recebendo POSTs do estado da compra. Quando for “Completo” (que pode durar uns dias) tudo ocorreu bem com a compra…

E com o paypal? Como funciona a transação, a API ou SDK do paypal em java é grande, tem vários e vários jsp muito difícil de entender, e duvido que precise de tudo.

Tem algo mais enxuto? Alguém já fez algo em java com paypal?

5 Respostas

C

Aproveitando que você já utilizou pagseguro, gostaria de saber se você tem um exemplo da implementação de qualquer coisa que possa me ajudar, em meu sistema vou utilizar o pagseguro.

U

Cara, para enviar os dados eu usei essa API:

http://visie.com.br/pagseguro/linguagem/java/

Porém ela não funciona quando tem que tratar o retorno do pagseguro. daí criei esta ação struts2.

@Override
	public String execute() throws Exception {
		if(req.getMethod().equals("POST")) {
			Enumeration<?> en = req.getParameterNames();
			String token = "123456789";
			StringBuffer validaNPI = new StringBuffer("Comando=validar&Token=");
			validaNPI.append(token);
			
			while (en.hasMoreElements()) {
				String paramName = (String) en.nextElement();
				String paramValue = req.getParameter(paramName);
				validaNPI.append("&");
				validaNPI.append(paramName);
				validaNPI.append("=");
				validaNPI.append(paramValue);
			}

			URL u = new URL("http://localhost:9090/pagseguro-ws/checkout/NPI.jhtml");
			URLConnection uc = u.openConnection();
			uc.setDoOutput(true);
			uc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
			PrintWriter pw = new PrintWriter(uc.getOutputStream());
			pw.println(validaNPI.toString());
			pw.close();

			BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
			String res = in.readLine();
			in.close();

			if(res.equals("VERIFICADO")) {
				System.out.println("VERIFICADO");
				System.out.println(req.getParameter("StatusTransacao"));
			} else if (res.equals("FALSO")) {
				System.out.println("FALSO");
			} else {
				System.out.println("Erro");
			}

		}
		return NONE;
	}

A ação cria o token e envia e checa se foi verificado o token também imprime o status da transação. Como pode ver, eu apenas fiz uns testes, pra entender como funciona. Entendendo (o que aconteceu de fato), posso fazer algo mais seguro.

C

Obrigado pelas dicas unkillable, foram de grande ajuda, o link que você me indicou tem muito material bom.

fguazzel

unkillable,

de fato os exemplos são bem complexos. Primeiro você deve escolher qual o modelo atende sua necessidade.
Vc pretende ter o controle completo do checkout? Vai ter que partir para o modelo ExpressCheckout ou Pro, se não você pode ficar com o Web Site Payments Standard.

Imagino que você queira implementar o ExpressCheckout e nesse acho que o ideal é baixar a SDK escolhendo o sabor preferido, Name-Value Pair (minha favorita) ou a SOAP.

Todas as SDKs vem com uma aplicação de exemplo. Na verdade um conjunto básico do que pode ser feito com o Paypal, principalmente para que o desenvolvedor entenda as diferenças entre chamadas, como funcionam as transações (diferenças entre Order e Capture, como funciona uma Authorizations, etc).

Como a documentação é muito extensa, recomendo essa sequência (se vc for usar express Checkout):


Se for usar Name-Value nas chamadas:

Usar ou não a SDK é opcional. Para NVP ela ajuda pouco mas já trás resolvidos pequenos detalhes que vc acabará fazendo depois. Aí é só partir pro abraço.

jeroqueiroz

Conseguiram implementar, pois continuo com dúvidas e tendo problemas para implementar.

Se alguém pude ajudar agradeço muito.

Criado 21 de março de 2010
Ultima resposta 26 de fev. de 2012
Respostas 5
Participantes 4