diff --git a/src/Sylius/Bundle/PaymentBundle/Command/Offline/StatusPaymentRequest.php b/src/Sylius/Bundle/PaymentBundle/Command/Offline/StatusPaymentRequest.php
new file mode 100644
index 0000000000..38be694220
--- /dev/null
+++ b/src/Sylius/Bundle/PaymentBundle/Command/Offline/StatusPaymentRequest.php
@@ -0,0 +1,27 @@
+paymentRequestProvider->provide($statusPaymentRequest);
+
+ $this->stateMachine->apply(
+ $paymentRequest,
+ PaymentRequestTransitions::GRAPH,
+ PaymentRequestTransitions::TRANSITION_COMPLETE,
+ );
+ }
+}
diff --git a/src/Sylius/Bundle/PaymentBundle/CommandProvider/Offline/StatusPaymentRequestCommandProvider.php b/src/Sylius/Bundle/PaymentBundle/CommandProvider/Offline/StatusPaymentRequestCommandProvider.php
new file mode 100644
index 0000000000..6099047647
--- /dev/null
+++ b/src/Sylius/Bundle/PaymentBundle/CommandProvider/Offline/StatusPaymentRequestCommandProvider.php
@@ -0,0 +1,33 @@
+getAction() === PaymentRequestInterface::ACTION_STATUS;
+ }
+
+ public function provide(PaymentRequestInterface $paymentRequest): object
+ {
+ return new StatusPaymentRequest($paymentRequest->getId());
+ }
+}
diff --git a/src/Sylius/Bundle/PaymentBundle/Resources/config/services/command_handler.xml b/src/Sylius/Bundle/PaymentBundle/Resources/config/services/command_handler.xml
index e69dc8c196..e86c15fb9c 100644
--- a/src/Sylius/Bundle/PaymentBundle/Resources/config/services/command_handler.xml
+++ b/src/Sylius/Bundle/PaymentBundle/Resources/config/services/command_handler.xml
@@ -22,5 +22,10 @@
+
+
+
+
+
diff --git a/src/Sylius/Bundle/PaymentBundle/Resources/config/services/command_provider.xml b/src/Sylius/Bundle/PaymentBundle/Resources/config/services/command_provider.xml
index d87a2151fe..232e371f34 100644
--- a/src/Sylius/Bundle/PaymentBundle/Resources/config/services/command_provider.xml
+++ b/src/Sylius/Bundle/PaymentBundle/Resources/config/services/command_provider.xml
@@ -32,5 +32,9 @@
+
+
+
+