iOS 苹果内购验证凭证请求地址

测试地址

swift 复制代码
https://sandbox.itunes.apple.com/verifyReceipt

正式地址:

swift 复制代码
https://buy.itunes.apple.com/verifyReceipt

示例

swift 复制代码
import Foundation

class InAppPurchaseManager {
    
    static let shared = InAppPurchaseManager()
    
    private let verifyURL = URL(string: "https://buy.itunes.apple.com/verifyReceipt")! // 苹果正式环境验证地址
    
    func verifyReceipt(receiptData: Data, completion: @escaping (Bool) -> Void) {
        let receiptString = receiptData.base64EncodedString(options: [])
        let parameters = ["receipt-data": receiptString]
        
        guard let jsonData = try? JSONSerialization.data(withJSONObject: parameters, options: []) else {
            completion(false)
            return
        }
        
        var request = URLRequest(url: verifyURL)
        request.httpMethod = "POST"
        request.setValue("application/json", forHTTPHeaderField: "Content-Type")
        request.httpBody = jsonData
        
        let task = URLSession.shared.dataTask(with: request) { data, response, error in
            guard let data = data,
                  let httpResponse = response as? HTTPURLResponse,
                  error == nil,
                  httpResponse.statusCode == 200 else {
                completion(false)
                return
            }
            
            do {
                // 解析服务器返回的数据
                let jsonResponse = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any]
                
                // 检查验证结果
                if let status = jsonResponse?["status"] as? Int, status == 0 {
                    // 验证成功
                    completion(true)
                } else {
                    // 验证失败
                    completion(false)
                }
            } catch {
                // JSON 解析失败
                completion(false)
            }
        }
        
        task.resume()
    }
}
相关推荐
zhao1zhihui1 小时前
Objective-C Runtime:从消息派发到安全 Hook
ios
GitLqr3 小时前
Flutter FocusNode 实战指南:玩转键盘焦点与用户输入体验
android·flutter·ios
星辰即远方20 小时前
天气预报总结
macos·ios·objective-c·cocoa
秋雨梧桐叶落莳1 天前
计算器仿写总结
学习·macos·ios·objective-c·cocoa
末代iOS程序员华仔1 天前
iOS上架海外工具类应用合规指南:避免封号与下架风险
flutter·ios·swift
末代iOS程序员华仔1 天前
Flutter 开发 iOS App 上架全流程与常见问题分析
flutter·ios
末代iOS程序员华仔1 天前
Flutter开发iOS海外工具类应用上架合规指南与风险规避
flutter·ios
AI云海2 天前
iOS 多 Target 打包、UAT/生产测试与上架 App Store 全流程指南
ios
阿里超级工程师2 天前
最新快速申请ios打包证书和profile文件步骤
ios·打包证书
2501_915909062 天前
iOS 应用反调试技详解术 检测调试器的原理与防护实践
android·ios·小程序·https·uni-app·iphone·webview