text: Which service publishes invoice events?

text: Invoice Service is the canonical publisher for invoice-domain events, including InvoicePaymentFailed.


text: How do we rotate the webhook signing secret?

text: Rotate the webhook signing secret by creating a new secret in AWS Secrets Manager, updating WEBHOOK_SIGNING_SECRET for the Webhook Gateway, deploying the change, validating signed webhook delivery, and revoking the old provider secret after validation.

text: Webhook signing secret rotation: create a new secret in AWS Secrets Manager, update WEBHOOK_SIGNING_SECRET on the Webhook Gateway, deploy the change, validate signed webhook delivery, then revoke the old provider secret after validation.


text: What retries happen after a payment failure?

text: After a payment failure, the Payment Orchestrator retries the payment according to the configured retry policy, and publishes PaymentFailed only once the retries are exhausted.

text: Payment retry runbook: failed payments are retried according to the retry policy; once the retries are exhausted, the Payment Orchestrator publishes PaymentFailed.


text: What happens after a payment failure, which events are published, and which service eventually sends the customer notification?

text: After a payment failure, the Payment Orchestrator publishes PaymentFailed. Invoice Service consumes it and publishes InvoicePaymentFailed. The Notification Dispatcher consumes InvoicePaymentFailed and sends the customer email notification.

text: Payment Orchestrator publishes PaymentFailed. Invoice Service consumes PaymentFailed and publishes InvoicePaymentFailed.


text: Which service publishes refund events?

text: There is not enough evidence in the knowledge base to determine which service publishes refund events.

text: No document in the corpus describes refund event publication.


text: Which service publishes invoice events, and is it currently enabled in production?

text: Invoice Service is the canonical publisher for invoice-domain events. Whether it is currently enabled in production cannot be answered from the documents and requires a live configuration or feature-flag lookup.