Is there a way to detect particles colliding on objects?

I would want to use this to make sparks spawn impact particles and lightly discolour meshes at places of impact…

(Or alternatively if anyone has any resources about this kind of system, I would even appreciate a link. :] )