18f5156fd8
buildInvoiceAttachment() extracted out of sendOrderConfirmationEmail() so sendPaymentSwitchedEmail() can reuse the same invoice-PDF generation instead of duplicating it — the invoiceNumber stays the same, but paymentMethodTitle now reflects the confirmed instrument, which flips the PDF's own paid/unpaid display, so re-attaching a fresh copy matters here even though nothing else about the order changed. Default fallback copy replaced with brand-toned wording matching the existing order-confirmation fallback's voice, instead of a flat system-notice tone.