SwiftyStoreKit
SwiftyStoreKit copied to clipboard
SwiftyStoreKit.ReceiptStatus.malformedOrMissingData
Question
Please explain your question in detail here.
I can't undestand whats happening. I'm on sandbox, I can't validate the receipt of a renewable subscription.
▿ 1 element ▿ 0 : 2 elements - key : "status" - value : 21002
SwiftyStoreKit.purchaseProduct(productId, completion: { result in
switch result {
case .success(let purchase):
print("Purchase Success: \(purchase.productId)")
case .error(let error):
switch error.code {
case .unknown: print("Unknown error. Please contact support")
case .clientInvalid: print("Not allowed to make the payment")
case .paymentCancelled: break
case .paymentInvalid: print("The purchase identifier was invalid")
case .paymentNotAllowed: print("The device is not allowed to make the payment")
case .storeProductNotAvailable: print("The product is not available in the current storefront")
case .cloudServicePermissionDenied: print("Access to cloud service information is not allowed")
case .cloudServiceNetworkConnectionFailed: print("Could not connect to the network")
case .cloudServiceRevoked: print("User has revoked permission to use this cloud service")
default: print((error as NSError).localizedDescription)
}
}
})
let appleValidator = AppleReceiptValidator(service: .sandbox, sharedSecret: "mysecret")
SwiftyStoreKit.verifyReceipt(using: appleValidator) { result in
switch result {
case .success(let receipt):
// Verify the purchase of Consumable or NonConsumable
let purchaseResult = SwiftyStoreKit.verifySubscription(
ofType: .autoRenewable,
productId: productId,
inReceipt: receipt)
switch purchaseResult {
case .purchased(let expiryDate, let items):
print("\(productId) is valid until \(expiryDate)\n\(items)\n")
case .expired(let expiryDate, let items):
print("\(productId) is expired since \(expiryDate)\n\(items)\n")
case .notPurchased:
print("The user has never purchased \(productId)")
}
case .error(let error):
print("Receipt verification failed: \(error)")
}
}
This is the result of fetch receipt
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
I'm trying to directly post this to apple, doesnt works at all
I got the same issue here? anybody has idea please?
Go to your Xcode Scheme, select Run and then Options and change StoreKit Configuration to None. This was the fix for me anyway. This storekit configuration is a new local testing feature as of Xcode 12.
Anyone solve this issue, Please??
I got the same issue.
I got the same issue.