Skip to content
Snippets Groups Projects
Commit 1e8ed19f authored by Jonathan Sacksick's avatar Jonathan Sacksick
Browse files

Issue #3408643 by gooddev, jsacksick: Reset payment_method when changing payment_gateway.

parent 6c84cd76
Branches
Tags
No related merge requests found
Pipeline #271653 canceled
......@@ -132,6 +132,15 @@ final class PaymentInstrumentItemList extends FieldItemList {
throw new UnprocessableEntityHttpException('Payment gateway does not exist.');
}
$payment_method = $order->get('payment_method')->entity;
$payment_gateway_from_method = $payment_method?->getPaymentGateway();
// If the order references a payment method that belongs to a different
// payment gateway, clear the order payment method.
if ($values['payment_gateway_id'] &&
$payment_gateway_from_method?->id() !== $values['payment_gateway_id']){
$order->set('payment_method', NULL);
}
$payment_gateway_plugin = $payment_gateway->getPlugin();
if ($values['payment_method_id'] !== NULL) {
$payment_method = $this->entityRepository->loadEntityByUuid('commerce_payment_method', $values['payment_method_id']);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment