in base all'atricolo 1385 (che ti copio):
Se al momento della conclusione del contratto [1326 ss.] una parte dà all'altra, a titolo di caparra, una somma di danaro o una quantità di altre cose fungibili, la caparra, in caso di adempimento, deve essere restituita o imputata alla prestazione dovuta.
Se la parte che ha dato la caparra è inadempiente, l'altra può recedere dal contratto, ritenendo la caparra; se inadempiente è invece la parte che l'ha ricevuta, l'altra può recedere dal contratto ed esigere il doppio della caparra.
Se però la parte che non è inadempiente preferisce domandare l'esecuzione o la risoluzionedel contratto, il risarcimento del danno è regolato dalle norme generali (1).
quindi puoi trattenere la caparra, però fai attenzione che questa sia stata trattata fin dall'inizio come caparra e non come anticipo!