function wppaytpv_upgrade()
{
    $old_ver = PayTPV::get_option('version', '0');
    $new_ver = PAYTPV_VERSION;
    PayTPV::update_option('version', $old_ver);
    if ($old_ver == $new_ver) {
        return;
    }
    do_action('wppaytpv_upgrade_version', $new_ver, $old_ver);
    PayTPV::update_option('version', $new_ver);
}
 public function saveCard($order, $user_id, $paytpv_iduser, $paytpv_tokenuser, $TransactionType)
 {
     // Si es una operción de add_user o no existe el token asociado al usuario lo guardamos
     if ($TransactionType == 107 || !PayTPV::existsCard($paytpv_iduser, $user_id)) {
         // Live Mode
         if ($this->environment != 1) {
             if ($order != null) {
                 // Obtenemos el terminal para el pedido
                 $arrTerminalData = $this->TerminalCurrency($order);
             } else {
                 $arrTerminalData = $this->paytpv_terminals[0];
             }
             $term = $arrTerminalData["term"];
             $pass = $arrTerminalData["pass"];
             $client = $this->get_client();
             $result = $client->info_user($paytpv_iduser, $paytpv_tokenuser, $term, $pass);
             // Test Mode
         } else {
             $paytpv_cc = $_POST["merchan_pan"];
             $result = array('DS_MERCHANT_PAN' => $paytpv_cc, 'DS_CARD_BRAND' => 'MASTERCARD');
         }
         return PayTPV::saveCard($this->environment, $user_id, $paytpv_iduser, $paytpv_tokenuser, $result['DS_MERCHANT_PAN'], $result['DS_CARD_BRAND']);
     } else {
         $result["paytpv_iduser"] = $paytpv_iduser;
         $result["paytpv_tokenuser"] = $paytpv_tokenuser;
         return $result;
     }
 }