Фико! Вы должны подтвердить квитанцию в App Store и получить оттуда информацию о подписке.
Вот базовый пример проверки квитанции:
func validateReceipt(){
#if DEBUG
let urlString = "https://sandbox.itunes.apple.com/verifyReceipt"
#else
let urlString = "https://buy.itunes.apple.com/verifyReceipt"
#endif
guard let receiptURL = Bundle.main.appStoreReceiptURL, let receiptString = try? Data(contentsOf: receiptURL).base64EncodedString() , let url = URL(string: urlString) else {
return
}
let requestData : [String : Any] = ["receipt-data" : receiptString,
"password" : "YOUR_SHARED_SECRET",
"exclude-old-transactions" : false]
let httpBody = try? JSONSerialization.data(withJSONObject: requestData, options: [])
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = httpBody
URLSession.shared.dataTask(with: request) { (data, response, error) in
// convert data to Dictionary and view purchases
}.resume()
}
После проверки квитанции вам необходимо преобразовать data
вDictionary
и получите дату истечения срока действия в latest_receipt_info
. Вы можете использовать наш Apphud SDK для отслеживания информации о подписках, включая дату начала и окончания.
Также вы можете использовать библиотеку SwiftyStoreKit , там же можно получить информацию о подписке.
Если вы хотите сделать это вручную, то вот хорошая статья в нашем блоге: https://blog.apphud.com/swift-tutorial-subscriptions/