pascal_to_camel <- function(x) {
    tolower(gsub("([a-z0-9])([A-Z])", "\\1_\\2", 
        gsub("(.)([A-Z][a-z]+)", "\\1_\\2", x)))
}
pascal_to_camel("PaymentDate")      # [1] "payment_date"
pascal_to_camel("AccountsOnFile")   # [1] "accounts_on_file"
pascal_to_camel("LastDateOfReturn") # [1] "last_date_of_return"

pascal_to_camel_uni <- function(x) {
     tolower(gsub("([\\p{Ll}0-9])(\\p{Lu})", "\\1_\\2", 
         gsub("(.)(\\p{Lu}\\p{Ll}+)", "\\1_\\2", x, perl=TRUE), perl=TRUE))
}
pascal_to_camel_uni("ДеньОплаты")