0

I am integrating payU money in my iOS app. Everything is working fine except one thing. Whenever I am returning from the payU money page all my values that are stored in UserDefaults are removed. I am using this code.

func startPaymentFlow() -> Void {
    UserDefaults.standard.set( "test" , forKey: "test")

    Toast(text:"Please wait.... Generating hash from server").show()
    let paymentVC : PUMMainVController = PUMMainVController()
    var paymentNavController : UINavigationController;
    paymentNavController = UINavigationController(rootViewController: paymentVC)

    self.present(paymentNavController, animated: true, completion: nil)    
}

func transactionCompleted(withResponse response : NSDictionary,errorDescription error:NSError) -> Void {

    self.dismiss(animated: true){
        self.showAlertViewWithTitle(title: "Message", message: "congrats! Payment is Successful")
        self.Status = "1"
        self.MobilePaymentUpdateApi()
    }

}

func transactinFailed(withResponse response : NSDictionary,errorDescription error:NSError) -> Void {    
    self.dismiss(animated: true){
        self.showAlertViewWithTitle(title: "Message", message: "Oops!!! Payment Failed")
        self.Status = "-1"
        self.MobilePaymentUpdateApi()
    }
}

func transactinCanceledByUser() -> Void {

    print(UserDefaults.standard.value(forKey: "test") as! String)

    self.dismiss(animated: true){    
        self.showAlertViewWithTitle(title: "Message", message: "Payment Cancelled ")
        self.Status = "-1"
        print(self.Status)
        self.MobilePaymentUpdateApi()
    }
}

This is error log and code

getting this just after execution of

  self.present(paymentNavController, animated: true, completion: nil)  

*** -[NSKeyedUnarchiver initForReadingWithData:]: data is NULL

Cœur
  • 37,241
  • 25
  • 195
  • 267

0 Answers0