bizz84 / bizz84/SwiftyStoreKit

In the callback of “restorePurchases”, verifying that the purchase always returns "notPurchased"

Open
#644 6 comments 0 reactions 0 assignees View on GitHub
type: bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.