{ } public function getDecorated(): AbstractChangePaymentMethodRoute
{ throw new DecorationPatternException(self::
class);
} #[Route(path: '/store-api/account/change-payment-method/{paymentMethodId}', name: 'store-api.account.set.payment-method', methods: ['POST'], defaults: ['_loginRequired' => true])]
public function change(string
$paymentMethodId, RequestDataBag
$requestDataBag, SalesChannelContext
$context, CustomerEntity
$customer): SuccessResponse
{ $this->
validatePaymentMethodId($paymentMethodId,
$context->
getContext());
$this->customerRepository->
update([ [ 'id' =>
$customer->
getId(),
'defaultPaymentMethodId' =>
$paymentMethodId,
],
],
$context->
getContext());
$event =
new CustomerChangedPaymentMethodEvent($context,
$customer,
$requestDataBag);
$this->eventDispatcher->
dispatch($event);