Design an idempotent payment-processing flow · Discuria