Issue #3613222: Let the payment step route on a resolver outcome (pay, no_payment, empty)

Adds a route outcome to the payable resolver contract so the payment step can carry the run on, or show a message, instead of always offering payment.

  • PayableResolverInterface::routeOutcome() returns pay, no_payment or empty; PayableResolverBase defaults it from resolve() (pay when a Payable, empty otherwise).
  • PaymentInteraction routes on it: no_payment auto-signals with no landing page; empty shows a configurable empty_message plus the author-configured outcome buttons (no amount, no Go to payment); pay is unchanged.
  • New translatable empty_message setting and its config schema key.
  • Kernel test PaymentRouteOutcomeTest with a small test-only resolver.

Ref #3613222.

Merge request reports

Loading