     }
     
     func createNewCardToken() {
-        //self.dismissLoading()
         self.presentLoading()
         
         MPServicesBuilder.createNewCardToken(self.viewModel.cardToken!, baseURL: MercadoPagoCheckoutViewModel.servicePreference.getGatewayURL(), success: { (token : Token?) -> Void in
             self.viewModel.updateCheckoutModel(token: token!)
             self.executeNextStep()
             self.dismissLoading()
+        
         }, failure : { (error) -> Void in
             self.viewModel.errorInputs(error: MPSDKError.convertFrom(error), errorCallback: { (Void) in
                 self.createCardToken()

            createNewCardToken()
            return
        }
        if cardInfo.canBeClone(){
            cloneCardToken(cardInformation: cardInfo, securityCode: securityCode!)
        
        } else {

    }
    
    func cloneCardToken(cardInformation: CardInformation, securityCode: String) {
        self.presentLoading()
        
        if let token = cardInformation as? Token {
            MPServicesBuilder.cloneToken(token,securityCode:securityCode, success: { (token) in
                self.viewModel.updateCheckoutModel(token: token)
                self.executeNextStep()
                self.dismissLoading()
            }, failure: { (error) in
                self.viewModel.errorInputs(error: MPSDKError.convertFrom(error), errorCallback: { (Void) in
                    self.createCardToken()
