资源简介
主要是Java对接iOS内购,回调验证相关的方法, 真机测试的时候,一定要退出原来的账号,才能用沙盒测试账号,二次验证,请注意区分宏, 测试用沙盒验证,App Store审核的时候也使用的是沙盒购买,所以验证购买凭证的时候需要判断返回Status Code决定是否去沙盒进行二次验证,为了线上用户的使用,验证的顺序肯定是先验证正式环境,此时若返回值为21007,就需要去沙盒二次验证,因为此购买的是在沙盒进行的。下载需谨慎
代码片段和文件信息
package com.ylwq.projecte.common.util;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Locale;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
/**
* 苹果IAP内购验证工具类
* @ClassName: IosVerify
* @Description:Apple Pay
*/
public class IosVerifyUtil {
private static class TrustAnyTrustManager implements X509TrustManager {
public void checkClientTrusted(X509Certificate[] chain String authType) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] chain String authType) throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[] {};
}
}
private static class TrustAnyHostnameVerifier implements HostnameVerifier {
public boolean verify(String hostname SSLSession session) {
return true;
}
}
private static final String url_sandbox = “https://sandbox.itunes.apple.com/verifyReceipt“;
private static final String url_verify = “https://buy.itunes.apple.com/verifyReceipt“;
/**
* 苹果服务器验证
*
* @param receipt
* 账单
* @param i
* @url 要验证的地址
* @return null 或返回结果 沙盒 https://sandbox.itunes.apple.com/verifyReceipt
*
*/
public static String buyAppVerify(String receipt int type) {
//环境判断 线上/开发环境用不同的请求链接
String url = ““;
//String url = PayConfig.APPLEPAY_URL;
if(type==0){
url = url_sandbox; //沙盒测试
}else{
url = url_verify; //线上测试
}
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“ “text/json“);
conn.setRequestProperty(“Proxy-Connection“ “Keep-Alive“);
conn.setDoInput(true);
conn.setDoOutput(true);
BufferedOutputStream hurlBufOus = new BufferedOutputStream(conn.getOutputStream());
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4367 2020-02-19 09:39 iOS内购\IosVerifyUtil.java
文件 3316 2020-02-19 09:39 iOS内购\ios内购java服务器验证.txt
目录 0 2020-02-19 09:39 iOS内购\
相关资源
- java串口通讯驱动文件32-64rxtxserial.dl
- 北大青鸟-Java OOP宠物商店项目完整版
- java程序设计填空题题库49道
- Java课程设计总结报告计算器
- java socket多线程聊天
- java实现的Rss
- java英文笔试题,外企常考!
-
Java通用的ba
seDao(我是用连接池做的 - Java网上商城论文
- C#调用JavaWebService(客户端)
-
javax.xm
l.bind.jar 包 - 项目组管理系统,Java+json+jQuery+ajax
- 一个动物识别专家系统在 JAVA语言下的
- java发送ISO8583报文接口案例
- 152G的java全套资源.zip
- 进程调度java编写含界面
- Java烟花特效(含源码).
- Java 中国象棋
- java 通过UDP实现一对多聊天室
- js上传zip文件java解压.txt
- java 课程设计 JPEG图片操作
-
java ba
se64的jar包 - java+jsp+oracle实现基本的用户管理系统
- java swing 企业人事管理系统(含数库)
- java+sql学生成绩管理系统有文档.rar
- Java+SQL2000学籍信息管理子系统课程设
- javafx删除table行的demo
- java串口通讯源码
- javaMail 用三种方式实现发送附件
- Google 推出的 Java 编码规范
评论
共有 条评论