From 4d333263d1f54fdf08dbfa48451aae91f5f11c40 Mon Sep 17 00:00:00 2001 From: indykoning <15870933+indykoning@users.noreply.github.com> Date: Thu, 8 May 2025 11:42:54 +0200 Subject: [PATCH] Added order_place_redirect_url to SelectedPaymentMethod and OrderPaymentMethod result --- .../Model/Resolver/SelectedPaymentMethod.php | 1 + .../Magento/QuoteGraphQl/etc/schema.graphqls | 1 + .../QuoteOrderPlaceRedirectUrl.php | 52 +++++++++++++++++++ .../Magento/SalesGraphQl/etc/schema.graphqls | 1 + 4 files changed, 55 insertions(+) create mode 100644 app/code/Magento/SalesGraphQl/Model/Resolver/Order/OrderPayments/QuoteOrderPlaceRedirectUrl.php diff --git a/app/code/Magento/QuoteGraphQl/Model/Resolver/SelectedPaymentMethod.php b/app/code/Magento/QuoteGraphQl/Model/Resolver/SelectedPaymentMethod.php index fbc7ea58569c8..faa7272af1a6b 100644 --- a/app/code/Magento/QuoteGraphQl/Model/Resolver/SelectedPaymentMethod.php +++ b/app/code/Magento/QuoteGraphQl/Model/Resolver/SelectedPaymentMethod.php @@ -43,6 +43,7 @@ public function resolve(Field $field, $context, ResolveInfo $info, ?array $value return [ 'code' => $payment->getMethod() ?? '', 'title' => $methodTitle, + 'order_place_redirect_url' => $payment->getOrderPlaceRedirectUrl(), 'purchase_order_number' => $payment->getPoNumber(), ]; } diff --git a/app/code/Magento/QuoteGraphQl/etc/schema.graphqls b/app/code/Magento/QuoteGraphQl/etc/schema.graphqls index 78c0a7464f432..83f607676261e 100644 --- a/app/code/Magento/QuoteGraphQl/etc/schema.graphqls +++ b/app/code/Magento/QuoteGraphQl/etc/schema.graphqls @@ -367,6 +367,7 @@ type AvailablePaymentMethod @doc(description: "Describes a payment method that t type SelectedPaymentMethod @doc(description: "Describes the payment method the shopper selected.") { code: String! @doc(description: "The payment method code.") title: String! @doc(description: "The payment method title.") + order_place_redirect_url: String @doc(description: "Checkout order place redirect URL") purchase_order_number: String @doc(description: "The purchase order number.") } diff --git a/app/code/Magento/SalesGraphQl/Model/Resolver/Order/OrderPayments/QuoteOrderPlaceRedirectUrl.php b/app/code/Magento/SalesGraphQl/Model/Resolver/Order/OrderPayments/QuoteOrderPlaceRedirectUrl.php new file mode 100644 index 0000000000000..f1a1e0138f491 --- /dev/null +++ b/app/code/Magento/SalesGraphQl/Model/Resolver/Order/OrderPayments/QuoteOrderPlaceRedirectUrl.php @@ -0,0 +1,52 @@ +getQuoteId()) { + return; + } + + /** @var ?Quote $quote */ + $quote = $this->quoteRepository->get($order->getQuoteId()) + + if (!$quote) { + return; + } + + return $quote->getPayment()->getOrderPlaceRedirectUrl(); + } +} + diff --git a/app/code/Magento/SalesGraphQl/etc/schema.graphqls b/app/code/Magento/SalesGraphQl/etc/schema.graphqls index ec33e4986d599..b3440318fdc0f 100644 --- a/app/code/Magento/SalesGraphQl/etc/schema.graphqls +++ b/app/code/Magento/SalesGraphQl/etc/schema.graphqls @@ -250,6 +250,7 @@ type ShipmentTracking @doc(description: "Contains order shipment tracking detail type OrderPaymentMethod @doc(description: "Contains details about the payment method used to pay for the order.") { name: String! @doc(description: "The label that describes the payment method.") type: String! @doc(description: "The payment method code that indicates how the order was paid for.") + order_place_redirect_url: String @doc(description: "Checkout order place redirect URL") @resolver(class: "Magento\\SalesGraphQl\\Model\\Resolver\\Order\\OrderPayments\\QuoteOrderPlaceRedirectUrl") additional_data: [KeyValue] @doc(description: "Additional data per payment method type.") }