Design PatternsCheckout (Voucher)Checkout (Voucher)Steps Review voucher details Select payment Confirm and issue voucher Edge cases Payment failure → recovery path + retry Duplicate purchase → show entitlement & link to My Vouchers