1
luodangjia
2024-05-12 533558ecfbb188f43cbb151e5245abff1b1aa818
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package cn.stylefeng.rest.ijpay.iosUtil;
 
import net.sf.json.JSONObject;
/**
 * 苹果支付
 */
public  class IosPalUtils {
 
    /*public static String buyAppVerify(String receipt, String environment) {
        String url = null;
        if(environment.equals("0")) {
            url = "https://buy.itunes.apple.com/verifyReceipt";  // 生产环境
        }
        if (environment.equals("1")) {
            url = "https://sandbox.itunes.apple.com/verifyReceipt";  // 沙盒测试
        }
        try {
            SSLContext sc = SSLContext.getInstance("SSL");
            sc.init(null, new TrustManager[] { new TrustAnyTrustManager() },new java.security.SecureRandom());
            URL console = new URL(url);
            HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();
            conn.setSSLSocketFactory(sc.getSocketFactory());
            conn.setHostnameVerifier(new TrustAnyHostnameVerifier());
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Content-type", "application/json");
            conn.setDoInput(true);
            conn.setDoOutput(true);
            BufferedOutputStream hurlBufOus = new BufferedOutputStream(
                    conn.getOutputStream());
            String newReceipt = receipt.replace(" ", "+");
            String str = String.format("{\"receipt-data\":\"" + newReceipt + "\"}");
            hurlBufOus.write(str.getBytes());
            hurlBufOus.flush();
 
            InputStream is = conn.getInputStream();
            BufferedReader reader = new BufferedReader(
                    new InputStreamReader(is));
            String line = null;
            StringBuffer sb = new StringBuffer();
            while ((line = reader.readLine()) != null) {
                sb.append(line);
            }
            return sb.toString();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return null;
    }*/
 
    /**
     * @param key  支付Id第三方返回的orderId
     */
    public  static Boolean isSuccess(String key) {
        try {
            System.out.println("!!!!!!!!!!!"+key+"!!!!!!!!!!!");
            Boolean ok=false;
            if (key!=null) {
                key = key.replace(" ", "+");
                System.out.println("!!!!!!!!!!!"+key+"!!!!!!!!!!!");
                JSONObject data = JSONObject.fromObject("{\"receipt-data\":\"" + key + "\"}");
                String score = HttpUtilIOS.sendPosturl("https://buy.itunes.apple.com/verifyReceipt", data);
                // 将String 转化为json
                JSONObject json = JSONObject.fromObject(score);
                System.out.print("!!!!!!!!!!!"+json+"!!!!!!!!!!!");
 
                if (!json.getString("status").equals("0")) {
                    JSONObject data1 = JSONObject.fromObject("{\"receipt-data\":\"" + key + "\"}");
                    String score1 = HttpUtilIOS.sendPosturl("https://sandbox.itunes.apple.com/verifyReceipt", data1);
                    // 将String 转化为json
                    JSONObject json1 = JSONObject.fromObject(score1);
                    if (json1.getString("status").equals("0")) {
                        String receipt = json1.getString("receipt");
                        JSONObject jsons = JSONObject.fromObject(receipt);
                        String m3 = jsons.getString("in_app");
                        String m4 = m3.replace("[", "");
                        String m5 = m4.replace("]", "");
                        if(m5!=null){
                            ok=true;
                        }
                    }
                }else {
                    if (json.getString("status").equals("0")) {
                        String receipt = json.getString("receipt");
                        JSONObject jsons = JSONObject.fromObject(receipt);
                        String m3 = jsons.getString("in_app");
                        String m4 = m3.replace("[", "");
                        String m5 = m4.replace("]", "");
                        if(m5!=null){
                            ok=true;
                        }
                    }
                }
            }
            return ok;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return  null;
    }
 
}