Les règles veulent qu'on paye quand on va à un mariage. Ca s'oublie beaucoup et pourtant c'est la règle, la politesse, de le faire. Il me semble que ça se fait notamment via une liste de mariage.
Contrairement aux précédentes réponses, non je ne trouverai pas choquant que les malotru en questions doivent quand même apporter un dédommagement. Parce que ce serait oublier que non, un mariage ce n'est pas gratuit pour les invités. Un mariage n'est pas un événement où les mariés payent plein pot pour que des gens puissent se ramener les mains dans les poches, non. La réalité derrière un repas de mariage, ce n'est pas seulement le prix mais toute l'organisation derrière. Organiser un mariage, c'est devoir penser à chaque détail, dans un court laps de temps. C'est usant, fatiguant, et il faut souvent savoir exactement qui va venir - ce qui est déjà pas évident.
L'excuse des imprévus est à mon sens bien jolie, mais il est quand même facile d'envoyer un mot aux mariés, même après mariage, pour s'expliquer. Ce qui n'a pas été fait ici. Les invités déserteurs n'ont pas prévenus avant, pendant et après. La politesse c'est principalement ça : même si c'est "trop tard", envoyer un mot pour dire "je n'ai pas pu car..". Car je ne le rappellerai jamais assez, mais ne pas dire honnêtement qu'on ne viendra pas à un mariage, c'est donc accepter que les mariés payent dans le vide. Dans une préparation pour un tel événement, toute somme est bonne à économiser. Un refus sera toujours mieux perçu qu'une absence imprévue. C'est au contraire très impoli et irrespectueux de dire que "oui oui" et ne pas venir sans raison.