You can sum values of the variable A for each combination of variables B and C in order to have one values per category per x label.
To do that, you can use dplyr
package and its functions group_by
and summarise
as follow:
library(dplyr)
library(ggplot2)
df %>% group_by(B,C) %>% summarise(SumA = sum(A)) %>%
ggplot(aes(x = B, y = SumA, fill = C))+
geom_col(show.legend = FALSE)+
geom_text(aes(label = SumA), position = position_stack(vjust = 0.5))

EDIT: Adding total sum on top of each bar
You can create two new dataframes, one for the sum of A in function of B and C and one for the sum of A in function of B and used each of them as follow:
df_sumA <- df %>% group_by(B,C) %>% summarise(SumA = sum(A))
df_SumTotal <- df %>% group_by(B) %>% summarise(SumTotal = sum(A))
ggplot(df_sumA, aes(x = as.factor(B), y = SumA, fill = C))+
geom_col(show.legend = FALSE)+
geom_text(aes(label = SumA), position = position_stack(vjust = 0.5))+
geom_text(inherit.aes = FALSE, data = df_SumTotal,
aes(x = as.factor(B),y = SumTotal, label = SumTotal), vjust = -1, color = "red")+
ylim(0,max(df_SumTotal$SumTotal+50))

Does it answer your question ?