kessai #3621922 renamed the payment session surface: the CheckoutSession value object is now PaymentSession, PaymentInterface::getCheckoutSession() and setCheckoutSession() are now getPaymentSession() and setPaymentSession(), and PaymentGatewayInterface::initiate() is now createPaymentSession(). The engine is gateway-neutral, so it no longer calls a session a checkout: a manual gateway has no checkout, and a card-on-file charge never sees one.

orchestra_payment still calls the old names, and they are gone rather than deprecated, so with kessai 1.x installed the payment step raises "Call to undefined method". Three production classes are affected: PaymentInteraction::findInFlight(), which decides whether a payer is away at a provider; PaymentLapsed, which decides whether a lapsed token may be routed on; and OrchestraPaymentTokenHooks::cancelAbandoned(), which decides whether an abandoned payment is worth announcing.

Measured against kessai 1.x at d159221, the unmodified module fails five kernel tests in PaymentInFlightTest and PaymentLapsedTimeoutTest, with "Call to undefined method Drupal\kessai\Entity\Payment::setCheckoutSession()" and "Class Drupal\kessai\CheckoutSession not found".

Proposed resolution

Call the new names. No behaviour changes: the three production call sites ask the same question of the same field under its new name, the test-support gateway implements createPaymentSession() instead of initiate(), and the two kernel tests build a PaymentSession instead of a CheckoutSession.

Prose that described kessai's object as a checkout session follows the engine and says payment session. This module keeps its own checkout vocabulary, which is a different thing: CheckoutEvents and the checkout recorder are orchestra's booking step, not the provider session, and naming them apart makes both clearer.

Remaining tasks

  • Three production call sites on the renamed accessor
  • The route-test gateway on the renamed gateway method
  • Two kernel tests on the renamed value object
  • Prose that named kessai's session a checkout session

AI-Generated: Yes (Claude Code was used to make this change and to draft this issue summary. I reviewed it; the affected suite was run against the renamed kessai and the failures above were observed before the change and gone after it.)

Issue fork orchestra-3622550

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 3125c657 on 1.x
    fix: #3622550 Follow kessai renaming the checkout session to a payment...
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.