Repository navigation
Conversation
docs/completion-payment.md says PaymentHandlerInterface::prepareInstrument() is the intended path for turning the instrument an agent presented into the concrete payment method a provider can charge, but nothing ever called it. This adds a general-purpose PaymentInstrumentResolver service that resolves the instrument through the handler that published it and returns the (paymentMethodId, token) pair it declares, wired by DI so any payment integration can alias or decorate it. Rail-agnostic: it carries no opinion on which merchant payment method is used, does not switch the default order, and leaves refusal to the caller's applier. Adds a focused unit test pinning the documented seam. CI owns validation.
Author
|
Withdrawing this one from our side. On a second look it is outside what we are actually working on in Shopware, and I would rather not leave a change in the payment layer that nobody here will follow up on or maintain. The gap it describes looks real - docs/completion-payment.md points at prepareInstrument() as the intended path and no release calls it - so please treat the description as a bug report rather than a patch. If we come back to it, it will be as part of work we can support properly. Sorry for the noise. Closing this ourselves - it should not have been opened here. Sorry for the noise. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
docs/completion-payment.md:
PaymentHandlerInterface::prepareInstrument()is the intended path to turn the instrument an agent presented into the concrete payment method a provider can charge, but no release ever calls it — a payment integration had to reimplement handler lookup +prepareInstrumentfor itself.This ships that documented seam as a general-purpose service:
PaymentInstrumentResolverresolves the instrument through the handler that published it and returns the(paymentMethodId, token)pair the handler declares.AbstractCompletionPaymentApplier/applier.