`
hougechuanqi
  • 浏览: 71841 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【IOS】IAP (内置购买) 服务器端代码

 
阅读更多

 

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.net.HttpURLConnection;

import java.net.URL;

 

import javax.net.ssl.HttpsURLConnection;

import javax.transaction.SystemException;

 

import com.alibaba.fastjson.JSONObject;

 

public class ApplePayments {

private final static String _sandboxUriStr = "https://sandbox.itunes.apple.com/verifyReceipt";

//private final static String _productionUriStr = "https://buy.itunes.apple.com/verifyReceipt";

 

/**

* @param receipt 明码

* @throws SystemException

*/

public static void processPayment(final String receipt)

throws SystemException {

@SuppressWarnings("restriction")

final sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();

final String receiptData = encoder.encode(receipt.getBytes());

final JSONObject object=new JSONObject();

object.put("receipt-data", receiptData);

        final String jsonData=object.toJSONString();

try {

 

final URL url = new URL(_sandboxUriStr);

final HttpURLConnection conn = (HttpsURLConnection) url

.openConnection();

conn.setRequestMethod("POST");

conn.setDoOutput(true);

conn.setRequestProperty("Content-Type", "application/json");

conn.setRequestProperty("Accept", "application/json");

 

final OutputStreamWriter wr = new OutputStreamWriter(

conn.getOutputStream());

wr.write(jsonData);

wr.flush();

 

// Get the response

final BufferedReader rd = new BufferedReader(new InputStreamReader(

conn.getInputStream()));

String line;

while ((line = rd.readLine()) != null) {

System.out.println(line);

}

wr.close();

rd.close();

} catch (IOException e) {

 

}

}

}

分享到:
评论
2 楼 hougechuanqi 2014-07-11  
我也出现过,原因就是你的请求参数有问题,再好好检查一下
1 楼 wujiyongheng 2013-11-19  
我在网上找了很多的例子,都大同小异。但是都是会提示 21002错误,数据格式出错,不知道博主是在什么情况下,验证通过呢? 这个会和环境相关吗? (我完全按照你的例子来也还是照样提示格式出错。。。)

相关推荐

Global site tag (gtag.js) - Google Analytics