|
@@ -33,15 +33,6 @@ let kStoreLiteKitSecret = "905532d3f55449a9b7a96161e7a2d538";
|
|
|
//let kStoreKitSecret = "20f0129197a34439a2130358172984bb";
|
|
|
#endif
|
|
|
|
|
|
-<<<<<<< Updated upstream
|
|
|
-//#if DEBUG
|
|
|
- let kServerURL = "https://sandbox.itunes.apple.com/verifyReceipt"
|
|
|
-//#else
|
|
|
-// let kServerURL = "https://buy.itunes.apple.com/verifyReceipt"
|
|
|
-//#endif
|
|
|
-
|
|
|
-=======
|
|
|
->>>>>>> Stashed changes
|
|
|
let keychainAccessGroup = "your.keychain.access.group"
|
|
|
let receiptDataLabel = "receiptData"
|
|
|
|
|
@@ -322,13 +313,13 @@ extension KMInAppPurchaseManager: SKPaymentTransactionObserver {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- func validatePurchase(transaction: SKPaymentTransaction?) {
|
|
|
+ func validatePurchase(_ isTestServer: Bool = true, transaction: SKPaymentTransaction?) {
|
|
|
// 获取购买凭证
|
|
|
if let receiptURL = Bundle.main.appStoreReceiptURL,
|
|
|
let receiptData = try? Data(contentsOf: receiptURL) {
|
|
|
// 将购买凭证发送到服务器进行验证
|
|
|
// sendReceiptToServer(receiptData: receiptData, transaction: transaction)
|
|
|
- sendReceiptToAppleServer(receiptData: receiptData, transaction: transaction)
|
|
|
+ sendReceiptToAppleServer(isTestServer, receiptData: receiptData, transaction: transaction)
|
|
|
} else {
|
|
|
self.handleAction(state: .noReceipt)
|
|
|
}
|
|
@@ -387,7 +378,7 @@ extension KMInAppPurchaseManager: SKPaymentTransactionObserver {
|
|
|
// SKPaymentQueue.default().finishTransaction(transaction)
|
|
|
}
|
|
|
|
|
|
- func sendReceiptToAppleServer(receiptData: Data, transaction: SKPaymentTransaction?) {
|
|
|
+ func sendReceiptToAppleServer(_ isTestServer: Bool = true, receiptData: Data, transaction: SKPaymentTransaction?) {
|
|
|
// 构建请求
|
|
|
// let url = URL(string: "https://your-server.com/verify-receipt")!
|
|
|
// let requestContents = ["receipt-data" : receipt.base64EncodedString()]
|
|
@@ -400,7 +391,11 @@ extension KMInAppPurchaseManager: SKPaymentTransactionObserver {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- let url = URL(string: KMLightMemberManager.manager.config.kAppleServerURL)!
|
|
|
+ var url = URL(string: KMLightMemberManager.manager.config.kAppleServerURL)!
|
|
|
+ if !isTestServer {
|
|
|
+ url = URL(string: "https://buy.itunes.apple.com/verifyReceipt")!
|
|
|
+ }
|
|
|
+ print(url)
|
|
|
var request = URLRequest(url: url)
|
|
|
request.httpMethod = "POST"
|
|
|
request.httpBody = requestData
|
|
@@ -476,6 +471,8 @@ extension KMInAppPurchaseManager: SKPaymentTransactionObserver {
|
|
|
if status == 21007 {
|
|
|
self.handleAction(state: .verFailed)
|
|
|
// [self verifyPurchaseWithPaymentTransaction:transaction isTestServer:YES];
|
|
|
+ } else if status == 21008 {
|
|
|
+ self.validatePurchase(false, transaction: nil)
|
|
|
} else if status == 0 {
|
|
|
//保存票据信息
|
|
|
self.saveReceiptInfo(receipt: receipt)
|