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

Command icon 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

mably created an issue. See original summary.

mably’s picture

Status: Active » Needs review

  • mably committed 0b018f89 on 1.x
    feat: #3612890 Let a PayableResolver attach a rendered summary to the...
mably’s picture

Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.