Problem/Motivation
kessai is a gateway-agnostic payment engine, so a card is a gateway's word and not the engine's: what it holds is a token, and the human at the other end is the payer. kessai #3621923 takes the card out of its vocabulary, which renames public API that yoyaku calls.
Two call sites, both of them the same method:
yoyaku_payment,src/Hook/BookingPaymentHooks.php:82- the transaction predelete hook forgets any stored token at the gateway before it deletes the local payment rows.yoyaku_orchestra_payment,src/Plugin/Action/DeleteCardAction.php:42- the immediate delete action, which forgets every token-bearing payment of an order.
Both call PaymentManagerInterface::deleteStoredCard(), which becomes deleteStoredTokens(). Nothing else in yoyaku is affected: the two base fields that move with the rename (store_card and card_valid_until) are never read here, yoyaku builds no handoff URL of its own, every other method it calls on the payment manager stays where it is, and no test double carries an old signature. Until this lands against the new kessai, both paths raise Call to undefined method, one of them inside a delete an operator has just asked for.
Proposed resolution
Rename both calls to deleteStoredTokens(), and say token rather than card in the comments and log lines beside them, so the two modules read the same way about the same thing.
The wider vocabulary question in yoyaku is deliberately out of scope: DeleteCardAction, its yoyaku_delete_card plugin id and CardTokenMatcher are yoyaku's own names, one of them is in shipped configuration, and this change does not force any of them.
Remaining tasks
This has to land together with kessai #3621923, not before and not after: the method exists under one name or the other, never both. kessai also renames two base fields, so the site is reinstalled when it lands. orchestra #3622615 carries three call sites of its own on the same set of renames.
User interface changes
None.
API changes
None in yoyaku. It follows a rename in kessai.
Data model changes
None in yoyaku.
AI-Generated: Yes (Claude Code was used to help draft this issue summary. The call sites were enumerated across every local docroot and read before it was written.)
Issue fork yoyaku-3622616
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 #4
mably commentedComment #6
mably commented