             
             /// Check receipt contains correct bundle and product id for app
             guard self.isAppBundleIDMatching(withReceipt: receipt) && self.isTransactionProductIDMatching(withReceipt: receipt) else {
-                DispatchQueue.main.async {
-                    handler(false, nil, nil)
-                }
-                
+                requestFailHandler(handler)
                 return
             }
             

        SwiftyReceiptObtainer.shared.fetch { receiptURL in
            guard let validReceiptURL = receiptURL else {
                print("Receipt fetch error")
                DispatchQueue.main.async {
                    handler(false, nil)
                }
                
                return
            }
            

            
        catch let error as NSError {
            print(error.localizedDescription)
            validationFailHandler(handler)
        }
        
        guard let payloadData = receiptPayloadData else {
            print(validationErrorString + "Payload data error")
            validationFailHandler(handler)
            return
        }
        
