I have a payment system as shown below. The payment can be made through multiple gift coupons. The gift coupons are issued along with a purchase. The customer can make use o
The answer I would submit would be 'it depends'(tm) as it comes down to what is 'good enough'
The context of both the problem space and the technical implementation are not well known and will affect any acceptable solution.
If the technologies allow it (say in a ACID data store), then it might make sense from a business perspective to use a transaction.
If the technologies do not provide these capabilities, then it might make sense to 'lock' all the coupons and the payments records in order for the updates to be consistent. How long of a lock and what contention might be occurring would need to be investigated.
Thirdly, it could be implemented as multiple transactions/aggregates with the following rough business process strategy.
Note: I'm not defining how the interaction is happening between the aggregates as the technical requirements are not known
A lot of your choices will depend on what is correct from a business and technical capabilities perspective. The pro's and con's of each choice affect the business's success, either now or in the future. 'It depends'(tm)