Kessai renames part of its public API in #3618948: Name things the way Drupal core does: canceled over cancelled, module-prefixed *Hooks classes, cron() over onCron(), isHoldKept() over holdKept(), to match the way Drupal core names things. Three lines in Orchestra say the old names and have to move with it. Nothing is wrong with them today; this issue exists so the two land together.
What changes
- The gateway plugin manager service becomes
plugin.manager.kessai_payment_gateway, following core'splugin.manager.convention:orchestra_payment/src/Plugin/Interaction/PaymentInteraction.phpline 174. PaymentManagerInterface::forgetCard()becomesdeleteStoredCard():orchestra_payment/src/EventSubscriber/StoredCardCleanupSubscriber.phpline 82.PaymentInterface::STATE_CANCELLEDtakes core's American spelling,STATE_CANCELED:orchestra_payment/tests/src/Kernel/SettleTaskTest.phpline 133.- The
require-devconstraint on Kessai moves from^1.0.0-alpha4@alphato1.x-dev@dev. An alpha tag cannot carry a rename that has not been released, and orchestra_payment follows Kessai's API as it settles before 1.0; Yoyaku already tracks1.x-devfor the same reason. The per-package@devstability flag is used rather than a globalminimum-stability, because Orchestra sets none and only this one dependency needs dev, and the previous constraint used the same idiom.
Order matters
The service id is the one that breaks the site rather than a test. It is resolved from the container by name, so an Orchestra that still calls $container->get('kessai.gateway_manager') against a renamed Kessai fails to compile the container. So this must merge together with #3618948: Name things the way Drupal core does: canceled over cancelled, module-prefixed *Hooks classes, cron() over onCron(), isHoldKept() over holdKept(), not after it.
The three \Drupal\kessai\PaymentInterface::STATE_* references in orchestra_payment/src/PinnedPayment.php are docblock prose about the constant family rather than code, so they need no change. Nothing in Orchestra reads the raw 'cancelled' string or the raw event name, only the constants, and Kessai is pre-1.0 and reinstall-only, so no stored value needs migrating.
This is the sibling of Orchestra's own core-naming pass in #3618935: Name things the way Drupal core does: canceled, core's *Hooks suffix, summary() over explain(), delete() over forget(), action over act, but separate from it: that one renames Orchestra's identifiers, this one only follows Kessai's.
AI-Generated: Yes (Claude Code was used to help draft this issue summary and to find the affected lines. I reviewed it before posting; there is no code on this issue yet.)
Issue fork orchestra-3618957
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