@@ -44,28 +44,24 @@ public function getDecorated(): AbstractHandlePaymentMethodRoute
44
44
45
45
public function load (Request $ request , SalesChannelContext $ context ): HandlePaymentMethodRouteResponse
46
46
{
47
- if ($ request ->headers ->count () === 0 ) {
48
- // it seems like that this is not an API request. This should be an internal call of the route.
49
- // the module should only handle API calls.
50
- return $ this ->innerService ->load ($ request , $ context );
51
- }
52
-
53
47
$ orderId = $ request ->request ->getAlnum ('orderId ' );
48
+ /** @var OrderEntity|null $order */
49
+ $ order = !empty ($ orderId ) ? $ this ->orderRepository ->search (CriteriaHelper::getCriteriaForOrder ($ orderId ), $ context ->getContext ())->first () : null ;
54
50
55
- $ paymentHandlerIdentifier = null ;
56
- $ order = null ;
57
- if (!empty ($ orderId )) {
58
- /** @var OrderEntity|null $order */
59
- $ order = $ this ->orderRepository ->search (CriteriaHelper::getCriteriaForOrder ($ orderId ), $ context ->getContext ())->first ();
60
- if ($ order instanceof OrderEntity && ($ transaction = $ order ->getTransactions ()->last ()) instanceof OrderTransactionEntity) {
61
- $ paymentHandlerIdentifier = $ transaction ->getPaymentMethod ()->getHandlerIdentifier ();
51
+ if (($ request ->attributes ->all ('_routeScope ' )[0 ] ?? null ) === 'store-api ' ) {
52
+ // we only validate API requests
53
+ $ paymentHandlerIdentifier = null ;
54
+ if (!empty ($ orderId )) {
55
+ if ($ order instanceof OrderEntity && ($ transaction = $ order ->getTransactions ()->last ()) instanceof OrderTransactionEntity) {
56
+ $ paymentHandlerIdentifier = $ transaction ->getPaymentMethod ()->getHandlerIdentifier ();
57
+ }
58
+ } else {
59
+ $ paymentHandlerIdentifier = $ context ->getPaymentMethod ()->getHandlerIdentifier ();
62
60
}
63
- } else {
64
- $ paymentHandlerIdentifier = $ context ->getPaymentMethod ()->getHandlerIdentifier ();
65
- }
66
61
67
- if ($ paymentHandlerIdentifier !== null && is_subclass_of ($ paymentHandlerIdentifier , AbstractPaymentHandler::class)) {
68
- $ this ->dataValidationService ->validatePaymentData (new DataBag ($ request ->request ->all ()), $ context , $ order ?? null );
62
+ if ($ paymentHandlerIdentifier !== null && is_subclass_of ($ paymentHandlerIdentifier , AbstractPaymentHandler::class)) {
63
+ $ this ->dataValidationService ->validatePaymentData (new DataBag ($ request ->request ->all ()), $ context , $ order ?? null );
64
+ }
69
65
}
70
66
71
67
$ result = $ this ->innerService ->load ($ request , $ context );
0 commit comments