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()
    }
}
相关推荐
北极象43 分钟前
千问大模型接入示例
ios·iphone·qwen
ipad协议开发3 小时前
企业微信 iPad 协议应用机器人开发
ios·企业微信·ipad
QuantumLeap丶19 小时前
《Flutter全栈开发实战指南:从零到高级》- 26 -持续集成与部署
android·flutter·ios
2501_915918411 天前
TCP 抓包分析在复杂网络问题中的作用,从连接和数据流层面理解系统异常行为
网络·网络协议·tcp/ip·ios·小程序·uni-app·iphone
二流小码农1 天前
鸿蒙开发:个人开发者如何使用华为账号登录
android·ios·harmonyos
wvy1 天前
Xcode 26还没有适配SceneDelegate的app建议尽早适配
ios
游戏开发爱好者81 天前
苹果 App 上架流程,结合 Xcode、CI 等常见工具
macos·ios·ci/cd·小程序·uni-app·iphone·xcode
前端老白1 天前
webview在微信小程序中,安卓加载失败,IOS正常加载
android·ios·微信小程序·webview
2501_915106321 天前
用 HBuilder 上架 iOS 应用时如何管理Bundle ID、证书与描述文件
android·ios·小程序·https·uni-app·iphone·webview
2501_915909061 天前
资源文件混淆在 iOS 应用安全中的实际价值
android·安全·ios·小程序·uni-app·iphone·webview