How would you ensure atomicity and consistency when processing payments across a distributed system at Fintech?