Controller
/** * IAP二次验证 * @param pingPayRequest * @return */ @RequestMapping("iap_verify") public BaseResponse iapVerify(@RequestBody PayRequest payRequest){ Map verifyMap = null; try { verifyMap = IAPVerify.getSecondaryVerify(pingPayRequest.getData(),pingPayRequest.getTp()); } catch (Exception e) { e.printStackTrace(); } log.warn("IAP返回:"+verifyMap); if(null == verifyMap){ return ResponseUtils.returnResponse(ResponseEnum.PING_PAY_REWARD_ERROR); } pingPayRequest.setPingId("");//TODO 苹果返回id PingPay pingPay_save = pingPayService.save(pingPayRequest); if(null == pingPay_save){ return ResponseUtils.returnResponse(ResponseEnum.PING_PAY_REWARD_ERROR); } if(null != verifyMap){ return ResponseUtils.returnResponse(ResponseEnum.OK,verifyMap); }else { return ResponseUtils.returnResponse(ResponseEnum.PUBLICATION_IAP_V_FAIL); } }
public class IAPVerify { public static Map getSecondaryVerify(String data,String tp) throws Exception { Map verifyMap = new HashMap(); if (data != null && data.equals("") && null !=tp && !tp.equals("")) { URL dataUrl = new URL("https://buy.itunes.apple.com/verifyReceipt"); if(tp.equals("t")){ dataUrl = new URL("https://sandbox.itunes.apple.com/verifyReceipt"); } HttpURLConnection con = (HttpURLConnection) dataUrl.openConnection(); con.setRequestMethod("POST"); con.setRequestProperty("content-type", "text/json"); con.setRequestProperty("Proxy-Connection", "Keep-Alive"); con.setDoOutput(true); con.setDoInput(true); OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream()); String str = String.format(Locale.CHINA, "{"receipt-data":"" + data + ""}"); System.out.println(str); out.write(str); out.flush(); out.close(); InputStream is = con.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String line = null; String result = ""; while ((line = reader.readLine()) != null) { result += line + " "; } org.json.JSONObject j; try { j = new org.json.JSONObject(result); String returnresult = j.get("status").toString(); if (returnresult.equals("0")) { verifyMap.put("status", 0); verifyMap.put("receipt", j.get("receipt")); }else if (returnresult.equals("21002")) { verifyMap.put("status", -6L); verifyMap.put("receipt", j.get("receipt")); } else { verifyMap.put("status", Long.valueOf(returnresult)); verifyMap.put("receipt", j.get("receipt")); } return verifyMap; } catch (Exception e) { System.out.println("接收返回类型:" + e.getMessage()); } } return null; } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67482.html
摘要:有人说苹果的审核人员比较任性,审核通不过是常事儿。然而这些文章并没有在认真介绍苹果审核的注意事项。通过这张图对苹果的审核项目进行梳理,也总结出了一些信息。 有人说苹果的审核人员比较任性,APP审核通不过是常事儿。确实,苹果在行业里扮演的就是一个极客的角色,要求多、难应付。奈何对方手里捏了上亿的用户,所以你得把他当女神一样哄着,满足她各种各样无礼的要求。 要问起谁把这个女神伺候得最满意,...
阅读 2716·2021-11-17 17:01
阅读 2092·2021-09-28 09:35
阅读 3602·2021-09-01 11:04
阅读 862·2020-06-22 14:41
阅读 2985·2019-08-30 15:55
阅读 2598·2019-08-30 15:43
阅读 2322·2019-08-26 13:54
阅读 2517·2019-08-26 13:48