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) {
}
}
}