Skip to content

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

Description

@nenhall

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions