資源簡介
主要是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內購\
評論
共有 條評論