This the code I have so far which looks like it does the job, I still wonder if there is a API function for the job:
/**
* @param (int) $category_id
* @param (int) $pagenum
* @return string
*/
function get_category_paged_link($category_id, $pagenum)
{
global $wp_rewrite;
$link = get_category_link($category_id);
if ($wp_rewrite->using_permalinks() || $wp_rewrite->using_index_permalinks())
{
$link = sprintf
(
'%s/%s/%d/',
rtrim($link, "https://wordpress.stackexchange.com/"),
$wp_rewrite->pagination_base,
$pagenum
);
}
else
{
if (false === strpos($link, '?'))
$link .= '?';
else
$link .= '&';
$link .= sprintf('paged=%d', $pagenum);
}
return $link;
}