Problem/Motivation
The payment interaction landing page (orchestra_payment PaymentInteraction) shows only the amount due. A consumer often wants to show what is being paid for there: an itemized summary (for a booking, the order grouped by event with each ticket and price). Today the Payable value object carries no way to provide that, and PaymentInteraction is deliberately domain-neutral, so there is no seam for it.
Proposed resolution
Add an optional summary render array to the Payable value object. When a PayableResolver sets it, PaymentInteraction renders it on the landing page, above the amount due; when unset, the page is unchanged. The resolver (the existing domain seam) owns what the summary is, so orchestra_payment stays payment-agnostic and learns nothing about the consumer domain. The change is additive and backward compatible (the field defaults to NULL).
Remaining tasks
- Add the optional summary render array to the Payable value object.
- Render it in PaymentInteraction landing page when present.
- Add a kernel test.
Consumer
A consumer (a booking order resolver) populates the summary in its own issue.
Issue fork orchestra-3612890
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
mably commentedComment #5
mably commented