bizz84 / bizz84/SwiftyStoreKit
In the callback of “restorePurchases”, verifying that the purchase always returns "notPurchased"
- Dominant language
- Swift
- Stars
- 6.7k
- Forks
- 801
- PR merge metrics
- No merged PRs in 30d
Description
## Bug Report
I also encountered the same problem, and the product type is: `nonConsumable`; it can be verified during normal purchase, and every time the purchase is verified through `restorePurchases`, it will return `notPurchased`;
The same operation, verify that there is no problem with `autoRenewable`;
The following code is not a complete code, it is my approximate operation at the time
```
SwiftyStoreKit.restorePurchases(atomically: true, applicationUsername: "") { results in
let successPurchases = results.restoredPurchases
successPurchases.forEach { purchase in
SwiftyStoreKit.verifyReceipt(using: AppleReceipt, forceRefresh: forceRefresh) { verifyReceiptResult in
switch verifyReceiptResult {
case .success(let receiptInfo):
switch product.type {
case .nonConsumable:
let verifyPurchase = SwiftyStoreKit.verifyPurchase(productId: product.rawValue, inReceipt: receiptInfo)
switch verifyPurchase {
case .purchased(let item):
appendLog("✅","purchased:", product.rawValue)
case .notPurchased:
appendLog("⚠️","notPurchased:", product.rawValue)
}
}
}
}
}
}
```
**To Reproduce**
Steps to reproduce the behavior:
Step 1 : Call “restorePurchases()” method
Step 2 : In the callback of `restorePurchases(completion: ...)` method, -> Call `verifyReceipt(using: ...)` method, and return `case .success( receiptInfo )`, -> Call `verifyPurchase(productId: ...)` method verifying that the purchase
Step 3 : When the product type is `nonConsumable`, always return "notPurchased"
Additional : In the callback of `restorePurchases(completion: ...)`,print `results.restoredPurchases`, It is able to see the corresponding commodity purchase record。
**Expected behavior**
Able to restore purchase successfully,Actually it is a successfully purchased product。
## Platform Information
- OS: macOS 10.15、macOS11.x,
- Purchase Type: non-consumable
- Environment: [sandbox, production]
- SwiftyStoreKit version: 0.16.3
Contributor guide
Assessment
This issue has not been assessed yet.