Giter Club home page Giter Club logo

laravel-shopify's People

Contributors

aepnat avatar amosmos avatar awebartisan avatar bilfeldt avatar c4l3b avatar claraleigh avatar clydesantiago avatar darrynten avatar dellow avatar enmaboya avatar ericnkatz avatar gnikyt avatar ilamp avatar jedimdan avatar kyon147 avatar lotuashvili avatar lucasmichot avatar msonowal avatar mtownsend5512 avatar nahid avatar npabisz avatar oanhnn avatar onurkose avatar savchukoleksii avatar seka19 avatar squatto avatar stevesweets avatar stidges avatar tuimz avatar usmanpakistan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

laravel-shopify's Issues

Host param issue with tokenRedirect()

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

Please describe the behavior you are expecting.

When using redirect()->tokenRoute() the application should redirect correctly.

This is not a SPA application.

Current Behavior

Please describe the current behavior?

When using redirect()->tokenRoute() the host param doesn't persist.

Failure Information

Please help provide information about the failure if this is a bug.

On submission of a simple form (non-JS, just a post request to a route) when using redirect()->tokenRoute() the host param doesn't persist on redirect, causing the token.blade.php to fail to redirect.

Passing the host param to tokenRoute works, but there is another issue with the token.blade.php file not being able to access that param, again causing the redirect from that page to fail.

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Create a POST form
  2. Submit the form to a route which uses a method on a controller
  3. use redirect()->tokenRoute() to redirect to another route.

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: v17.4.2
  • Laravel Version: v7.30.6
  • PHP Version: v8.0.0
  • Template Engine: Blade
  • Using a toolset (Docker, Laradock, Vagrant, etc.): Valet

Failure Logs

Please include any relevant log snippets or files here.

N/A

Use this package with CLI 3.0

Hello guys,

I am stuck between the CLI app and this package. Both of them have their pros and cons of using and not using it.

Can you guys guide me to just setup an app with the both of them. I mean how can I implement the this package with the cli 3.0 Shopify app.

There is nothing mentioned in the wiki as well. Is this stable with the cli app ? I am a little confused to use it or not with the app built using shopify cli.

Thanks.

window.sessionToken is null

I am using React as a front-end engine. After upgrading 17.1 to 17.3.2, this issue appeared.

Auth::user()->token is also null.

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: 17.3.2
  • Laravel Version: 8.75
  • PHP Version: 8.1
  • Using a toolset (Docker, Laradock, Vagrant, etc.):

React SPA - Can't get the latest version to work using Laravel 8 or Laravel 9

I have gone through the installation steps a number of times on fresh installations of Laravel and I'm unable to get the React (or vue) SPA to load.

Steps to reproduce

screenshot-logged-in

Current behavior

  • Set the react settings (by the way there is a typo in the wiki docs where "react" should be "REACT" according to the enum (in .env set SHOPIFY_FRONTEND_ENGINE="REACT") Line 245 Utils.php
  • You will see the following:

screenshot

Feedback

  • Are we supposed to get the current logged in user using the same Laravel Auth::user() function?

  • It appears that this is breaking the app bridge from loading due to there not being a user logged in - views/layouts/default.blade.php

@if(\Osiset\ShopifyApp\Util::getShopifyConfig('appbridge_enabled') && \Osiset\ShopifyApp\Util::useNativeAppBridge())

This isn't firing because useNativeAppBridge is returning false when SHOPIFY_FRONTEND_ENGINE is set to REACT. This makes useNativeAppBridge() return false.

Any help or advice here would be greatly appreciated. Thanks :)

iFrame Security Headers not getting added in response headers

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

Please describe the behavior you are expecting.

"Content-Security-Policy" header should be added in the response.

Current Behavior

Please describe the current behavior?

"Content-Security-Policy" header is not being added in response.

Failure Information

Please help provide information about the failure if this is a bug.

I think the iFrame Protection Middleware is not working.

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Completely setup the app.
  2. Open the chrome inspector.
  3. Open the app.
  4. Now check any route of your app and click on that.
  5. Now you will see the response headers, In that check "Content-Security-Policy" header, it is not there but it should be present else the app will not be approved.

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: v17.4.2
  • Laravel Version: v9.19.0
  • PHP Version: v8.0.2
  • Template Engine: Blade
  • Using a toolset (Docker, Laradock, Vagrant, etc.): No

Failure Logs

Please include any relevant log snippets or files here.

NA

Billable Middleware issue durning install APP

Billable Middleware issue durning install APP SPA

@Kyon147
i do have install the app using the frontend_engine [REACT] and i am using two middleware [verify.shopify','billable] but after install my billable show this error see the below screen shot.
Untitled

And another one screenshot from my plan table. see the below screen shot:
Untitled

Before i were use the older version from the package its working fine but Shopify show me outdated error from my app. and after i did upgrade the package its error occur new error i above mentioned you. can you please let me know how can i solve it.below detail is my updated version detail
osiset/laravel-shopify => 17.3
osiset/basic-shopify-api=>9.0.0
laravel/framework=> ^8.0

Fulfillment Webhook is not working

I have created two webhook. 1.) Fulfillment Create Webhook and 2.) Fulfillment Update Webhook . But when I create a order in shopify store and info the data of fulfillment create JOB. I did not get response from the webhook. In log file it shows nothing.

Here is the code of Job handle function for the reference.
`public function handle()
{
info($data);

    // Convert domain
    $this->shopDomain = ShopDomain::fromNative($this->shopDomain,$this-> data,$data);
   try{
    $shop = User::where('name', $this->shopDomain)->first();
    }
    catch(\Exception $e){
        Log::error($e->getMessage());
    }
   
   
    // Do what you wish with the data
    // Access domain name as $this->shopDomain->toNative()
}`

Kindly help me to resolve the issue as soon as possible.
Thanks.

App is not publishing because OAuth is not initiated at the correct URL

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

OAuth to be initiated at https://app-security.myshopify.com/admin/oauth/authorize

Current Behavior

OAuth is redirected to https://app-security.myshopify.com/admin/apps/b0d18f990014ba3d60db981a883a234a/authenticate/token

Failure Information

Your primary app listing has 1 issue to fix before you can submit your app for review
App must set security headers to protect against clickjacking.
There was an error installing your app. The app must be installed to perform the security check. We expected OAuth to be initiated at https://app-security.myshopify.com/admin/oauth/authorize but were redirected to https://app-security.myshopify.com/admin/apps/b0d18f990014ba3d60db981a883a234a/authenticate/token. Your app must request installation immediately after clicking "add app." Apps must request shop access during installation, or reinstallation if the app was previously uninstalled from the shop. Learn more about authentication in our developer documentation
Please help provide information about the failure if this is a bug.

Steps to Reproduce

  1. Install the app to the store
  2. Click on install unlisted app
  3. Before and after Approv Payment

Context

The app is authenticating, installing, charging, and that's all perfectly fine. For clickjacking the middleware I have added middleware and it shows fine but the problem actually is with the URL.
in web.php I have this route:
Route::get('/', [ShopifyController::class, 'home'])->middleware(['verify.shopify', 'billable'])->name('home');

  • Package Version: 17.3
  • Laravel Version: 8.75
  • PHP Version: 7.4
  • Template Engine: Blade

Failure Logs

Please include any relevant log snippets or files here.
Screen Shot 2023-01-10 at 11 42 28 AM

App Uninstall webhook is not working

I have created app uninstalled webhook. But it did not work after uninstall the app it did not add deleted _at value in users table.
Kindly check source code in Job.
`public function app_uninstalled_job($shop) {

    try {

        $shop = User::where('name',$shop)->first();
        info($shop);
        
        PixelDetail::where('shop_id',$shop->id)->delete();
        PixelEvent::where('shop_id',$shop->id)->delete();
        PixelProduct::where('shop_id',$shop->id)->delete();
        
        $shop->delete();
        
        
        $dir = base_path().'/pull/'.$shop->name;
        
        $this->rrmdir($dir);
          
    }
    
    catch(\Exception $e) {
        
        Log::error($e->getMessage());
        
    }

}

public function rrmdir($dir)
{
    if (is_dir($dir))
    {
         $objects = scandir($dir);
        
         foreach ($objects as $object)
         {
               if ($object != '.' && $object != '..')
               {
                    if (filetype($dir.'/'.$object) == 'dir') {rrmdir($dir.'/'.$object);}
                    else {unlink($dir.'/'.$object);}
               }
         }
        
         reset($objects);
         
         rmdir($dir);
     }
}`

Please check output Screenshot.

Screenshot_17

Kindly resolve the issue.
Thanks

Session Token Issue

After following the installation document and completing the setup, I noticed the following issue.

App works as expected in Chrome browser, but embedding app doesn't work in incognito mode.

In addition, I have two questions regarding the implementation of session tokens:

  1. Does the session token need to be used even if the backend does not call the Shopify API?
  2. What is the best way to determine whether we are meeting the requirement? I saw some apps got rejected because The app shows an error when the 3rd party cookies are blocked.

No authenticated user or shop domain

I have created a payment gateway app using your package.

when merchants install the app we are showing a form to fill the pg keys .

App is working is all desktop browsers and even in apple safari too.But In IOS devices iam getting issue "No authenticated user or shop domain"

Iam using 17.1 version.

if iam updating to 17.4 then form is not submiting in the browsers too.

Laravel throws InvalidArgumentException although Controller completes execution

We have a Shopify App created with osiset/laravel-shopify. Sadly the original maintainer of our app is no longer at the company (nor did they left us with much documentation to our detriment). The rest of the team has experience with PHP and Laravel but sadly not much with Shopify itself so I apologize in advance if we're missing something on that end. I remain at your disposal to add any further information that might be needed.

Our production environment is currently working, but we're experiencing issues in staging and mainly locally trying to replicate the Dev Environment in order to continue development and maintenance but we're facing some errors likely on the laravel side.

The fact that we haven't made any code changes suggest to me that there might be some version conflicts that make it different in production than locally, however we're not able to determine whether this assumption is correct.

The error in the logs states that we're passing an int where a string should be given but this is somewhat weird to understand as it is the framework code itself that seems to not be passing in the correct data type which is the Shop ID in the database (that is correctly forwarded by the frontend to Laravel).

Expected Behavior

Development App starts normally once installed.

Current Behavior

App installs correctly, however the first (and any subsequent) launch fails while calling the /state endpoint.

Failure Information

There's a /state endpoint used to populate the initial state for the React Frontend. Logging at various parts in the controller method that is executed whenever the endpoint is called shows that everything works correctly up until the method returns. However on the frontend the response throws a 500 error and the laravel logs show that the public/index.php (required by the root server.php file) file throws an error while capturing the request.

This is the last line of "our" code (everything else in the stacktrace is framework/dependencies code) that throws the error

$app = require_once __DIR__.'/../bootstrap/app.php';

$kernel = $app->make(Kernel::class);

$response = tap($kernel->handle(
    $request = Request::capture() // This crashes
))->send();

$kernel->terminate($request, $response);

This is the stack trace logged in laravel.log provided below in the corresponding section.

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Install the Development App in the Development store. Installation itself should be succesful. User is added to database
  2. Go to the App Page in the Development Store. Frontend will be served but the call to the /state endpoint will fail (I can include this code if it helps but it doesn't produce an error on itself).

Context

  • Package Version: v17.3.2 (same composer.lock in Production and Local) <- this still points to osiset/laravel-shopify I'm wondering whether we should update the dependency to point to this new maintained version or not.
  • Laravel Version: v8.83.26 (same composer.lock in Production and Local)
  • PHP Version: v8.1.10 (local) and v8.1.12 (prod)

Failure Logs

This is the laravel.log after an unsuccessful call to the /state endpoint. In here the 62 shown in the call to fromNative (ShopDomain::fromNative(62) reported on line #0 of the Stack Trace) is the Shop ID of the currently logged in shop. It's weird that it expects a string rather than an integer.

[2022-12-05 17:37:37] local.ERROR: Can only instantiate this object with a string. {"exception":"[object] (InvalidArgumentException(code: 0): Can only instantiate this object with a string. at /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/funeralzone/valueobjects/src/Scalars/StringTrait.php:49)
[stacktrace]
#0 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/osiset/laravel-shopify/src/Objects/Values/ShopDomain.php(89): Osiset\\ShopifyApp\\Objects\\Values\\ShopDomain::fromNative(62)
#1 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/osiset/laravel-shopify/src/Http/Middleware/IframeProtection.php(52): Osiset\\ShopifyApp\\Objects\\Values\\ShopDomain::fromRequest(Object(Illuminate\\Http\\Request))
#2 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(391): Osiset\\ShopifyApp\\Http\\Middleware\\IframeProtection->Osiset\\ShopifyApp\\Http\\Middleware\\{closure}()
#3 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(418): Illuminate\\Cache\\Repository->remember('frame-ancestors...', Object(Illuminate\\Support\\Carbon), Object(Closure))
#4 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\\Cache\\CacheManager->__call('remember', Array)
#5 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/osiset/laravel-shopify/src/Http/Middleware/IframeProtection.php(53): Illuminate\\Support\\Facades\\Facade::__callStatic('remember', Array)
#6 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Osiset\\ShopifyApp\\Http\\Middleware\\IframeProtection->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#7 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#8 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#9 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#10 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#11 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure))
#15 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Routing/Router.php(723): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#22 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#23 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#24 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#25 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#26 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#27 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/fruitcake/laravel-cors/src/HandleCors.php(52): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#40 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Http\\Middleware\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#41 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#42 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#43 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#44 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#45 /Users/ezequielwajs/Repos/ArtPlacer/artplacer-shopify/server.php(21): require_once('/Users/ezequiel...')
#46 {main}
"} 

Session data getting lost on using TokenRedirect

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

The session data should be retained.

Please describe the behavior you are expecting.

I am using a tokenRedirect inside a controller. I am using a non-SPA.

I have set session before it.

Post token redirect I am unable to retreive the added values from session as it does not exist.

Current Behavior

As mentioned above.

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Just create a route and add the following code to it to add session.
 session()->put('data','hello');
 return Redirect::tokenRedirect('home');
  1. Just try to fetch the data inside your home route's blade.
@if (session()->exists('data'))
    {{ dd(session()->all()) }}
@endif

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: ^17.4
  • Laravel Version: ^8.75
  • PHP Version: 7.4.33
  • Template Engine: Blade
  • Using a toolset (Docker, Laradock, Vagrant, etc.): None

Failure Logs

Please include any relevant log snippets or files here.

App flickering/refreshing rapidly upon load

Expected Behavior

The app loads gracefully.

Current Behavior

flicker.mov

Failure Information

There seem to be a bunch of repeat requests made to https://localhost, which keep redirecting to https://localhost/authenticate. The /authenticate calls all return 200 codes, so I'm not sure what's happening.

Steps to Reproduce

I just need to open the app in the Shopify admin panel.

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: v17.3.4
  • Laravel Version: v9.46
  • PHP Version: v8.1.12
  • Template Engine: Blade (though using React w/ Inertia)
  • Using a toolset: Docker (via Laravel Sail)

Perhaps also worth noting, I'm using ryoluo/sail-ssl to allow for HTTPS with localhost.

Basically, I've set up the app using Laravel Jetstream (Inertia + Vue), replaced Vue with React, and then set up laravel-shopify.

Is this flickering normal for development environments, or might something be going wrong? I couldn't figure out based on the documentation, but I think since I'm using Inertia, I don't need to follow the "SPA" directions in the wiki?

Force approval of new API scopes

Expected Behavior

When adding new scopes to the api_scopes list the app must go to the approval page of these new scopes.

Current Behavior

After adding scopes we do not see the approval page for the new scpoes.

Steps to Reproduce

  1. Install app in development store and accept initial scopes
  2. Add new scopes in the config file
  3. Open the app again

Context

I was also trying to force the user to go through authentication again to accept the new scopes. However then the app fails on the full_page_redirect.blade.php file. Right now I get the error that the host parameter is required to config AppBridge.
To force the redirect I made a middleware that checks if the users has to approve new scopes. It then deletes it password and redirect it to the authentication page.

$user = User::where('name', $request->get('shop'))->first();

if (isset($user->scope_approval_required) && $user->scope_approval_required) {
    $user->scope_approval_required = 0;
    $user->password = '';
    $user->save();

    return redirect()->route(Util::getShopifyConfig('route_names.authenticate'), ['shop' => $user->name]);
}

return $next($request);
  • Package Version: v17.4.3
  • Laravel Version: v8.0
  • PHP Version: v8.0
  • Template Engine: React
  • Using a toolset (Docker, Laradock, Vagrant, etc.): Valet

Shop token is not generated @ shopify app installation

** I have setup my app on AWS Centos7. **

When I have authenticate the domain it gave the Osiset\ShopifyApp\Exceptions\MissingShopDomainException. Its working fine. But when I have installed the app on development store it did not generate the shop_token and app did not [installed.]
Screenshot_16

(Screenshot_1 (1)).

Kindly resolve the issue as soon as possible.

Thanks

Missing host after Billing approve redirect

Failure Information

default.blade.php throwing error
app-bridge@latest:1 Uncaught s {name: 'AppBridgeError', message: 'APP::ERROR::INVALID_CONFIG: host must be provided', action: undefined, type: 'APP::ERROR::INVALID_CONFIG', stack: 'AppBridgeError: APP::ERROR::INVALID_CONFIG: host must be provided'}

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. SHOPIFY_FRONTEND_ENGINE is set to BLADE
  2. Approving billing charge for new store
  3. Redirected to home route without host parameter

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: v17.4.1
  • Laravel Version: v8.75
  • PHP Version: v8.0
  • Using a toolset Laradock

[Pinned] Join the Discord

Sometimes you might have a question that is not a package issue.

For this reason I set up a Discord server, so people can chat in general about the package and ask for advice etc

https://discord.gg/ScqwmqjEYV

Please note: bugs should still be filed in here not in the discord.

Billable app error on install

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

App installed and user billed sucesfully

Current Behavior

App gets installed but crashes at billing part with error

Failure Information

This is the error

TypeError
Argument 1 passed to Osiset\ShopifyApp\Http\Controllers\BillingController::process() must be of the type int, object given, called in D:\Projects\shopify_acelerala_receipts_2.0\vendor\laravel\framework\src\Illuminate\Routing\Controller.php on line 54

image

Steps to Reproduce

  1. Add plans using INSERT INTO plans (type,name,price,interval,capped_amount,terms,trial_days,test,on_install,created_at,updated_at) VALUES
    ('RECURRING','Test Plan',4.00,'EVERY_30_DAYS',10.00,'Test terms',7,TRUE,1,NULL,NULL);

  2. Add middleware (['verify.shopify', 'billable']) to app home page route

  3. Try installing the app

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Package Version: v17.4.2 (latest)
Laravel Version: v8.83.27
PHP Version: 7.4.20
Using a toolset (Docker, Laradock, Vagrant, etc.): none

Failure Logs

Please include any relevant log snippets or files here.

Trying to create private app returns 403 status

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

I want to create a test charge in my development private app

Current Behavior

I created a private as I've always done but when I try to create a test charge, the ApiHelper returns status 403 when creating the new charge

Failure Information

When the ApiHelper file does a request to the endpoint for create charges it returns 403

Steps to Reproduce

  1. Create a new private app
  2. Activate the billing withing your env file
  3. Try to install the store fresh, this will not work if the store already exist in you database

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: "osiset/laravel-shopify": "^17.3"
  • Laravel Version: v 8.83.25
  • PHP Version: v7.4.19
  • Template Engine: Blade
  • Using a toolset (Docker, Laradock, Vagrant, etc.): Laragon

Failure Logs

[previous exception] [object] (GuzzleHttp\Exception\ClientException(code: 403): Client error: POST https://shopbasemiddleman.myshopify.com/admin/recurring_application_charges.json resulted in a 403 Forbidden response at C:\laragon\www\wsconfirm\vendor\guzzlehttp\guzzle\src\Exception\RequestException.php:113)

Laravel 10 support

Need support for laravel 10 installation

 Problem 1
    - Root composer.json requires kyon147/laravel-shopify ^17.4 -> satisfiable by kyon147/laravel-shopify[v17.4.0, ..., v17.4.4].
    - kyon147/laravel-shopify[v17.4.0, ..., v17.4.4] require laravel/framework ^7.0 || ^8.0 || ^9.0 -> found laravel/framework[v7.0.0, ..., v7.30.6, v8.0.0, ..., v8.83.27, v9.0.0, ..., v9.52.0] but it conflicts with your root composer.json require (^10.0).

App not loading

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

App content needs to load successfully after successful installation.

Current Behavior

App installed successfully. installed information stored in db successfully(Screenshot: https://prnt.sc/Jc5PJHqIFwgP)

But app not loading. Empty screen showing. Screenshot: https://prnt.sc/EqXk6FVuDOMo

I have checked console also and there is an error showing regarding @opentelemetry/api
Screenshot: https://prnt.sc/tP83fupt5UvK

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: 17.4
  • Laravel Version: 7.0
  • PHP Version: 7.4.33
  • Template Engine: Blade

Please let me know what is causing. How I can make app loading successfully.

Unable to verify signature after Billing

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

I get the error message every time after the payment process has gone through.

update:

After refreshing multiple times resp. going back to the app dashboard and routes back to the shop it seems to work

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Create plan

RECURRING Monthly 15.00 NULL NULL 7 false true NULL NULL EVERY_30_DAYS

  1. Make Billing on install

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: v17.3
  • Laravel Version: v9.19
  • PHP Version: v8.0.2
  • Template Engine: Blade

Failure Logs

Bildschirm­foto 2023-02-16 um 13 32 33

GetPlanUrl::__invoke Argument #3 ($host) must be of type string, null given

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

After changing plan it should redirect back successfully using billing route.

Current Behavior

When redirecting back from the billing route, I encountered this error

SCR-20221213-h4n

Failure Information

I believe this is due to the necessary $host parameter in the new updates. But when i check the url path, host parameter dont seems to exists to begin with.

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Open app from the sidebar
    SCR-20221213-gxv

  2. Changing pricing plan using billing route

  3. Encounter issue.

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: v17.3.3
  • Laravel Version: v9.43.0
  • PHP Version: v8.1.5

Failure Logs

Please include any relevant log snippets or files here.

Please let me know how can I further help.

Unable to verify Signature due to invalid HMAC

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

App is able to load within iframe when open from the search bar

Current Behavior

When app load within the iframe, it returns Unable to verify Signature

Failure Information

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Search for your app from the top search bar as shown
    Xnapper-2022-12-07-13 32 14

  2. When the app load it will return the following
    Xnapper-2022-12-07-13 35 21

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: v17.3.2
  • Laravel Version: v9.41
  • PHP Version: v8.1.0

My guess is the "host" parameter was somehow included which invalidates the HMAC.
However, I'm not able to find where exactly the "host" is being inserted as I seem to have removed all I can find throughout the vendor files.

Would appreciate if you could give me some advise on what's possibly causing it and I could look further into it.

Thanks!

Don't work products webhook while work another webhooks

Expected Behavior

Work webhook product/create or product/update

Current Behavior

Reads the order/create or customer/update but not read the product/create or product/update

ScreenShots

image

WebhookInstaller content

image

  • Package Version: ^17.3
  • Laravel Version: ^9.19
  • PHP Version: ^8.0
  • Template Engine: Webpack - Vue
  • Using a toolset: Docker, ngrok

Webhook is not working

I have created the Orders Create webhook, but it does not working with handle method in laravel JOB. When I get info about webhook using info in handle function it does not show anything.

Kindly check the sample HTML of handle method for Orders Create JOB.
`public function handle()
{
// Convert domain
info($data);
$this->shopDomain = ShopDomain::fromNative($this->shopDomain,$this-> data,$data);
try{
$shop = User::where('name', $this->shopDomain)->first();
return;
}

    catch(\Exception $e){
        Log::error($e->getMessage());
    }
 
    // Do what you wish with the data
    // Access domain name as $this->shopDomain->toNative()
}`

Kindly check the issue and guide me to correct way to create and use webhook.

Thanks.

"Shopify App Outdated" for v12.1

I build an app using version 12.1 and Laravel 5.8 and I got error when new users login to my app "Shopify App Outdated"

I found a few fix for version 17 but there is no any article how to solve that problem in v12.1

My AppBridge is:

 @if(config('shopify-app.appbridge_enabled'))
            <script src="https://unpkg.com/@shopify/app-bridge{{ config('shopify-app.appbridge_version') ? '@'.config('shopify-app.appbridge_version') : '' }}"></script>
            <script>
                var AppBridge = window['app-bridge'];
                var createApp = AppBridge.default;
                var app = createApp({
                    apiKey: '{{ config('shopify-app.api_key') }}',
                    shopOrigin: '{{ Auth::user()->name }}',
                    forceRedirect: true,
                });
            </script>

            @include('shopify-app::partials.flash_messages')
        @endif

I was trying to replace shopOrigin: '{{ Auth::user()->name }}', with admin.shopify.com but error is the same

If I make version non-embeded version I will get rid of these messeage because my uninstall rate is so high with error message...

Please help!

  • Package Version: v12.1
  • Laravel Version: v5.8
  • PHP Version: v7.3

Proxy middleware returns auth user null

I am implementing proxy with latest version of osiset with laravel. I am getting Auth User null on route setuped for proxy auth proxy middleware is attached.
It should return logged in shop data

Session token invalid

I have used the osiset laravel package to create the shopify app. I have placed the package in a folder on root folder. Now app is installed but laravel routes gives error invalid session token.

Please check the screenshot : https://prnt.sc/6Vz6AqYbZxQP

Kindly give your reference as soon as possible.

Thanks

Double Host Param Causing Issues on Auth Routes

Expected Behavior

Auth route to have only one URL GET Param of 'host'

The fix would be to ensure only one host param is ever sent on any route within this package

Current Behavior

Currently, as of v17.4.2 and up there seems to be 'host' URL Param in the authenticate routes twice thus causing issues with decoding the 'host' param into the blade component.

Failure Information

Notice the two host params
Screen Shot 2023-01-30 at 7 05 31 PM

Notice the type error here which is the same host param twice:
Screen Shot 2023-01-30 at 9 04 35 PM

Steps to Reproduce

  • Have 17.4.2 or above app version
  • Test in production (works fine on localhost)
  • Make sure the environment SHOPIFY_FRONTEND_ENGINE=BLADE
  • Have an app that has a charge you need to approve
  • Make sure you have billable middleware
  • Load any page and see error

Note: This might not be applicable for SPA's

Context

See steps to reproduce above

Failure Logs

See Failure Information

THE TEMP FIX

I was able to fix this through the app.blade.php by just using this code for the host

 var app = createApp({
      apiKey: "{{ \Osiset\ShopifyApp\Util::getShopifyConfig('api_key', $shopDomain ?? Auth::user()->name ) }}",
      host: "{{ is_array(\Request::get('host')) ? \Request::get('host')[0] : \Request::get('host') }}",
      forceRedirect: true,
});

v12 redirect to full page because of "Shopify App Outdated"

I'm using version 12.1 and because I need some time to migrate to v17, I decide to build full page app - non embedable.

To redirect full page I disable AppBridge from Shopify-app.php config file and also I remove AppBridge code from blade templates but when I start app it show inside Shopify dashboard as iframe.

How I can redirect to full page and I do not want to change version?

App keep loading after removing shopOrigin in 17.4.0

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

The app should load fine in Iframe after installation

Current Behavior

When i install the app, the app keeps loading and im getting alot of error logs in console regarding app bridge

Failure Information

I have setup a fresh shopify app, with the latest commit where shopOrigin was removed and other changes where made, but seems like when i install the app, the app keeps loading and im getting alot of error logs in console regarding app bridge

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Install fresh laravel app
  2. use the latest package version
  3. Install the app

Context

  • Package Version: 17.4.0
  • Laravel Version: 7.30.6
  • PHP Version: 7.4.32
  • Template Engine: Blade

Failure Logs

image
image

Shopify Embeded app redirection not working with laravel-shopify latest

I am facing an issue while converting app from Osiset 16 to latest 17.4. I created new Laravel project then installed latest osiset and put my existing resources, controllers , models and etc. in new version functionality is working ok but its not redirecting the page to other when click on link in app or when middleware redirects user to procong page it keep showing skelton and page never loads. I am using blade as frontend engine. I checked there is no server side error

Let's make this package great.

Hi everyone!

It's sad to see Tyler (the original maintainer) can't continue working on this package. I personally understand his situation.

I'm not in a place to write this but someone should!

This package helped most of us build successful Shopify apps and generate over $1k MRR. Let's help @Kyon147 to maintain this package and improve it.

We are all busy building our apps on top of this package but we shouldn't forget that the maintainer of the package needs support too.

No more Ted talks!

If @Kyon147 continues maintaining this package, I'm happy to create new documentation with videos and easier step-by-step guides.

We should clean up this package and remove unnecessary features/codes added over the past few years.

Not required but if you're making a living from this package, it's good to give back by sponsoring the maintainer of this package.

Anyway, that's my suggestion. If you guys have any better recommendations, feel free to contribute.

Thank you @Kyon147 for taking the package responsibility.

Regards
Hujjat

Embbedd App Not Loading Status 302

Expected Behavior

App needs to load successfully. App welcome contents need to load successfully.

Current Behavior

App installed successfully. Not loading in shopify admin. Blank screen showing.

In console->Networks -screenshot: https://prnt.sc/CL4sN2d1PgtY
Header showing status 302.

Package Version: 17.4.3
Laravel Version: 8.0
PHP Version: 7.4.33
Template Engine: Blade

It's urgent. Please let me know why I am getting this issue. I am using latest version of kyon package.

App doesn't load in Shopify admin

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

App loads in shopify admin

Current Behavior

App stuck loading showing blank boxes.

Failure Information

Errors in the Console:
image
image

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Install App on shopify store
  2. Try to view app in store admin

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: v17.4.1

Failure Logs

Tried lots of debugging myself before resorting to reporting as an issue. It was working previously and then just seemed to stop working.
If I access it outside of shopify it redirects to:
https://[APP-URL]/authenticate/token?shop=[MYSTORE].myshopify.com&target=%2F
My web.php snippet:

Route::middleware(['verify.shopify'])->group(function () {
    Route::get('/', [WelcomeController::class,'index'])->name('home');
});

Missing auth url

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

Its should install the app.

Current Behavior

It is throwing some Missing auth url error.
image

Failure Information

It is throwing Osiset \ ShopifyApp \ Exceptions \ MissingAuthUrlException
I am trying to install using select store button.

Steps to Reproduce

Just setup the app and try to install using new version.

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: "^17.4"
  • Laravel Version: "^9.19"
  • PHP Version: "8.1"
  • Using a toolset (Docker, Laradock, Vagrant, etc.): Laragon

Failure Logs

[2023-02-16 06:55:12] local.ERROR: Missing auth url {"exception":"[object] (Osiset\ShopifyApp\Exceptions\MissingAuthUrlException(code: 0): Missing auth url at C:\laragon\www\sf-laravel-react-app\vendor\kyon147\laravel-shopify\src\Traits\AuthController.php:54)
[stacktrace]
#0 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Routing\Controller.php(54): Osiset\ShopifyApp\Http\Controllers\AuthController->authenticate(Object(Illuminate\Http\Request), Object(Osiset\ShopifyApp\Actions\AuthenticateShop))
#1 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php(43): Illuminate\Routing\Controller->callAction('authenticate', Array)
#2 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Routing\Route.php(260): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Osiset\ShopifyApp\Http\Controllers\AuthController), 'authenticate')
#3 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Routing\Route.php(205): Illuminate\Routing\Route->runController()
#4 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Routing\Router.php(798): Illuminate\Routing\Route->run()
#5 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(141): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#6 C:\laragon\www\sf-laravel-react-app\vendor\kyon147\laravel-shopify\src\Http\Middleware\IframeProtection.php(46): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#7 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Osiset\ShopifyApp\Http\Middleware\IframeProtection->handle(Object(Illuminate\Http\Request), Object(Closure))
#8 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Routing\Middleware\SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#9 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#10 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#11 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#12 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\View\Middleware\ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#13 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#14 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#15 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Session\Middleware\StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest(Object(Illuminate\Http\Request), Object(Illuminate\Session\Store), Object(Closure))
#16 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#17 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#18 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#19 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Cookie\Middleware\EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#20 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#21 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#22 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Routing\Router.php(799): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#23 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Routing\Router.php(776): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#24 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Routing\Router.php(740): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#25 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Routing\Router.php(729): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#26 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(190): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#27 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(141): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#28 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#29 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#30 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request), Object(Closure))
#31 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#32 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#33 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request), Object(Closure))
#34 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#35 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#36 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#37 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request), Object(Closure))
#38 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Http\Middleware\HandleCors.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#39 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Http\Middleware\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))
#40 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Http\Middleware\TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#41 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(180): Illuminate\Http\Middleware\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#42 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#43 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(165): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#44 C:\laragon\www\sf-laravel-react-app\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php(134): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#45 C:\laragon\www\sf-laravel-react-app\public\index.php(52): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#46 {main}
"}

when I uploading multiple file Images throw axios request then it take time and request genrate error (403 session token has been expired)

For bug reporting only! If you're posting a feature request or discussion, please ignore.

Expected Behavior

Please describe the behavior you are expecting.

Current Behavior

Please describe the current behavior?

Failure Information

Please help provide information about the failure if this is a bug.

Steps to Reproduce

Please provide detailed steps for reproducing the issue.

  1. Step 1
  2. Step 2
  3. ...

Context

Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

  • Package Version: vX.Y.Z
  • Laravel Version: vX.Y.Z
  • PHP Version: vX.Y.Z
  • Template Engine: Blade or React
  • Using a toolset (Docker, Laradock, Vagrant, etc.):

Failure Logs

Please include any relevant log snippets or files here.

Fix PHP 8.1 deprecated messages

Please update osiset/basic-shopify-api package to a v11.0.0 version, which fixes PHP 8.1 deprecation warnings, and also renames namespace from Osiset to Gnikyt. Compare v11.0.0 to v10.0.6

I am getting these errors now:

PHP Deprecated: Return type of Osiset\BasicShopifyAPI\ResponseAccess::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /vendor/osiset/basic-shopify-api/src/ResponseAccess.php on line 60

PHP Deprecated: Return type of Osiset\BasicShopifyAPI\ResponseAccess::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /vendor/osiset/basic-shopify-api/src/ResponseAccess.php on line 155

Issues & PRs in package:

gnikyt/Basic-Shopify-API#129

gnikyt/Basic-Shopify-API#136

gnikyt/Basic-Shopify-API@d17d42e

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.