资料来源:网络整理
时间:2023/2/14 0:20:33 共计:3607 浏览
paypal IPN返回
1.设定返回的地址
目标:登录paypal-->用户信息-->我的销售工具-->即时付款通知-->编辑并填写url
填写的URL必须为公网的,不能为局域网,要不就无法接收到paypal发送的信息
2.编写IPN.jsp (此代码为官方代码)
Java代码
-
-
Enumeration en = request.getParameterNames();
-
String str = "cmd=_notify-validate";
-
while (en.hasMoreElements()) {
-
String paramName = (String) en.nextElement();
-
String paramValue = request.getParameter(paramName);
-
str = str + "&" + paramName + "="
-
+ URLEncoder.encode(paramValue, "utf-8");
-
-
}
-
System.out.println("paypal传递过来的交易信息:" + str);
-
-
-
-
-
URL u = new URL("https://www.sandbox.paypal.com/cgi-bin/webscr");
-
-
-
URLConnection uc = u.openConnection();
-
uc.setDoOutput(true);
-
uc.setRequestProperty("Content-Type",
-
"application/x-www-form-urlencoded");
-
PrintWriter pw = new PrintWriter(uc.getOutputStream());
-
pw.println(str);
-
pw.close();
-
-
BufferedReader in = new BufferedReader(new InputStreamReader(
-
uc.getInputStream()));
-
String res = in.readLine();
-
in.close();
-
-
-
-
-
String itemName = request.getParameter("item_name");
-
String itemNumber = request.getParameter("item_number");
-
String paymentStatus = request.getParameter("payment_status");
-
String paymentDate = request.getParameter("payment_date");
-
String paymentAmount = request.getParameter("mc_gross");
-
String paymentCurrency = request.getParameter("mc_currency");
-
String txnId = request.getParameter("txn_id");
-
String receiverEmail = request.getParameter("receiver_email");
-
String payerEmail = request.getParameter("payer_email");
-
-
if (res == null || res == "")
-
res = "0";
-
-
-
if (res.equals("VERIFIED")) {
-
-
-
-
-
-
-
} else if (res.equals("INVALID")) {
-
-
} else {
-
-
-
}
注意:paypal回复的通知为'VERIFIED',也不一定代表此次交易成功,要判断是否交易成功通过下面语句,判断交易状态是否成功。
Java代码
String paymentStatus = request.getParameter("payment_status");

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。