【正确答案】
B、C、D
【答案解析】[解析] 定金与预付款都是在合同履行前一方当事人预先给付对方的一定数额的金钱,都具有预先给付的性质。在合同履行后,都可以抵作价款。但二者有着根本的区别,这表现在以下方面:(1)定金是合同的担保方式,主要作用是担保合同履行;而预付款主要作用是为对方履行合同提供资金上的帮助,属于履行的一部分;(2)交付定金的协议是从合同,而交付预付款的协议一般为合同内容的一部分。(3)定金只有在交付后才能成立,而交付预付款的协议只要双方意思表示一致即可成立。(4)预付款交付后当事人不履行合同的,不发生丧失预付款或双倍返还预付款的效力。