Process 10 — Manual refund (admin-initiated credit note)
Process 10 — Manual refund (admin-initiated credit note)
Section titled “Process 10 — Manual refund (admin-initiated credit note)”Parent spec: 10-admin-console · Triggers: 05-payment-saga §9 (credit-note flow).
Notes
- Trigger point:
instance.sendEventto the existingAuctionSagainstance keyed onauction_id. The admin console never calls Stripe directly;05owns the credit-note call to keep the §14 UStG audit trail single-sourced. - Confirmation requires typing the
auction_idand shows the canonical Stripe PaymentIntent id (fetched viainvoices.retrieve) — guards against wrong-row refunds. - Audit row is written before the saga signal and updated on completion. If the saga signal fails, the audit row records
status='failed'withlast_error. - Role gate:
financeis read-only on/admin/refunds(can view PI/credit-note ids and history) but cannot POST;adminandfoundermay POST. - The bidder notification is owned by
05(consistent with non-admin refund paths); admin console does not send mail directly. - Chargebacks (
charge.dispute.created) follow a different path (DisputeSaga,05§6) and are not initiated here.