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()
    }
}
相关推荐
Frank学习路上1 小时前
【IOS】XCode创建firstapp并运行(成为IOS开发者)
开发语言·学习·ios·cocoa·xcode
瓜子三百克8 小时前
CALayer的异步处理
macos·ios·cocoa
吴Wu涛涛涛涛涛Tao8 小时前
一步到位:用 Very Good CLI × Bloc × go_router 打好 Flutter 工程地基
flutter·ios
杂雾无尘11 小时前
开发者必看:如何在 iOS 应用中完美实现动态自定义字体!
ios·swift·apple
kymjs张涛13 小时前
零一开源|前沿技术周报 #6
前端·ios·harmonyos
与火星的孩子对话1 天前
Unity进阶课程【六】Android、ios、Pad 终端设备打包局域网IP调试、USB调试、性能检测、控制台打印日志等、C#
android·unity·ios·c#·ip
恋猫de小郭2 天前
Flutter Widget Preview 功能已合并到 master,提前在体验毛坯的预览支持
android·flutter·ios
点金石游戏出海2 天前
每周资讯 | Krafton斥资750亿日元收购日本动画公司ADK;《崩坏:星穹铁道》新版本首日登顶iOS畅销榜
游戏·ios·业界资讯·apple·崩坏星穹铁道
旷世奇才李先生2 天前
Swift 安装使用教程
开发语言·ios·swift
90后的晨仔2 天前
Xcode16报错: SDK does not contain 'libarclite' at the path '/Applicati
ios