kessai is renaming PaymentManagerInterface::create()'s $ttl parameter to $deadline, in kessai #3614236: Mark the public API surface, and say deadline and locale consistently everywhere. Its config key default_payment_ttl becomes default_payment_deadline at the same time. kessai is pre-1.0 and reinstall-only, so the rename lands outright rather than being aliased.
OrchestraPayment passes that argument by name, in PaymentInteraction::startPayment():
$payment = $this->paymentManager->create($payable->authorizeAmount, $payable->currency, $gateway, $payable->subject, ttl: $ttl);
A named argument that no longer exists is a fatal Error at call time, not a deprecation, so this breaks the moment kessai is updated. It is the only call site in orchestra, and the fix is the argument name plus the local variable and the comment above it, which also still says ttl.
Nothing else in orchestra reads the kessai config key.
Should land together with the kessai change.
Issue fork orchestra-3614238
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 commentedMR !388 opened against 1.x. One call site, plus the local variable and the comment above it. Should land together with kessai #3614236: Mark the public API surface, and say deadline and locale consistently everywhere.
Comment #4
mably commentedPostponed on the kessai side landing, not on anything here.
kessai #3614236: Mark the public API surface, and say deadline and locale consistently everywhere is merged (1.x 6b2f261), but this module requires drupal/kessai 1.x-dev, and CI resolved a snapshot that still had the old signature. The pipeline on MR !388 therefore failed with exactly the error this issue is about, in the opposite direction: "Unknown named parameter $deadline", two errors in OrchestraPaymentTest.
That is the ordering, not a defect in the change: the argument cannot be renamed here until the renamed parameter exists in the snapshot this project installs. Re-run the pipeline once the kessai 1.x dev snapshot rebuilds, and set back to Needs review when it is green.
Comment #5
mably commentedUnblocked and green: pipeline 907626, no red jobs.
Two things had to land in kessai first. The rename itself, #3614236: Mark the public API surface, and say deadline and locale consistently everywhere, so the dev snapshot carried the parameter this MR passes. Then #3614252: forgetCard() keeps a stored card forever when the gateway has no token support, because once the snapshot updated, this project's StoredCardCleanupTest started failing for an unrelated reason: kessai's forgetCard() had stopped clearing the alias for any gateway without TokenGatewayInterface, which is exactly what the delete-on-end flag here relies on.
So the second failure was never a problem with this change. Nothing in this MR moved; it is still the one call site plus the local variable and its comment.
Comment #7
mably commentedComment #9
mably commentedMerged to 1.x as d0d77f8.