Эй, люди, я застрял, пытаясь объединить Java и PayPal вместе.Я разместил здесь: http://forum.springsource.org/showthread.php?p=316498#post316498
любая помощь будет принята с благодарностью, пожалуйста, сообщите.
Обновление:
хорошо, моя дилемма заключается в том, что если я буду использовать PayPalКак уже упоминалось, когда я на самом деле "сохранить" информацию о форме в моей локальной базе данных?Другими словами, мне нужно сохранять «пользовательскую» информацию и т. Д. Только ПОСЛЕ подтверждения платежа, раньше делать это было бы бесполезно.
Насколько я понимаю, «возвратный» URL будет активирован только в случае успешной транзакции.Если это так, то должен быть способ идентифицировать этот входящий ответ от PayPal, чтобы он был связан с постом формы для «этого» пользователя.Другими словами для «этой» сессии.Таким образом, пользовательские данные могут быть сохранены.Я знаю, что есть что-то под названием IPN?Может ли это быть изначально в той же форме, чтобы мы получили подтверждение?Я просто пытаюсь понять, как быть в том же сеансе, чтобы я мог сохранить информацию пользователя.И если кредитная карта пользователя отклонена, она все равно возвращается на URL ВОЗВРАТА?Нужно как-то различать.
Наконец, я играл с кодом HTTPPOST, в основном я пытаюсь смоделировать браузер здесь.
public void testPost15() throws ClientProtocolException, IOException {
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("https://www.paypal.com/cgi-bin/webscr");
post.setHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3");
//conn.setRequestProperty( "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.2; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0");
//httpPost.setHeader( "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
//post.setHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
//httpPost.setHeader( "Accept-Language", "en-us,en;q=0.5");
//post.setHeader("Accept-Language","en-gb,en;q=0.5");
List<NameValuePair> params = new ArrayList<NameValuePair>();
//params.add(new BasicNameValuePair("cmd", "_s-xclick"));
params.add(new BasicNameValuePair("cmd", "_xclick"));
//params.add(new BasicNameValuePair("cmd", "_ext-enter"));
//params.add(new BasicNameValuePair("redirect_cmd", "_xclick-subscriptions"));
params.add(new BasicNameValuePair("business", "abc@logixplayer.com"));
params.add(new BasicNameValuePair("currency_code", "USD"));
params.add(new BasicNameValuePair("amount", "4"));
params.add(new BasicNameValuePair("item_name", "PiT words"));
params.add(new BasicNameValuePair("no_note", "1"));
params.add(new BasicNameValuePair("return", "http://localhost:8080/pit-web-0.0.1-SNAPSHOT/welcome"));
post.setEntity(new UrlEncodedFormEntity(params));
HttpResponse response = client.execute(post);
InputStream is = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder str = new StringBuilder();
String line = null;
while((line = reader.readLine()) != null){
str.append(line + "\n");
}
is.close();
String responseText = str.toString();
System.out.println("response: "+responseText);
}
, и я думаю, что начто-то говорит: Вы запросили устаревшую версию PayPal.Эта ошибка часто возникает из-за использования закладок.
Мне кажется, что возможно публиковать в PayPal через Java ... просто я думаю, что я что-то упустил.Эта ошибка является распространенной ошибкой.
Пожалуйста, сообщите.Спасибо.