A full-featured Laravel package for aiding in Shopify App development

Overview

Laravel Shopify App

Tests codecov License


A full-featured Laravel package for aiding in Shopify App development, similar to shopify_app for Rails. Works for Laravel 7 and up.

Screenshot Screenshot: Billable

Table of Contents

* Wiki pages

For more information, tutorials, etc., please view the project's wiki.

Goals

  • Provide assistance in developing Shopify apps with Laravel
  • Integration with Shopify API (REST, async REST, GraphQL)
  • Authentication & installation for shops (both per-user and offline types)
  • Plan & billing integration for single, recurring, and usage-types
  • Tracking charges to a shop (recurring, single, usage, etc) with trial support
  • Auto install app webhooks and scripttags through background jobs
  • Provide basic AppBridge views
  • Handles and processes incoming webhooks
  • Handles and verifies incoming app proxy requests
  • Namespacing abilities to run multiple apps on the same database

Documentation

For full resources on this package, see the wiki.

For internal documentation, it is available here from phpDocumentor.

Issue or request?

If you have found a bug or would like to request a feature for discussion, please use the ISSUE_TEMPLATE in this repo when creating your issue. Any issue submitted without this template will be closed.

License

This project is released under the MIT license.

Misc

Repository

Contributors

Contributions are always welcome! Contibutors are updated each release, pulled from Github. See CONTRIBUTORS.txt.

If you're looking to become a contributor, please see CONTRIBUTING.md.

Maintainers

Maintainers are users who manage the repository itself, whether it's managing the issues, assisting in releases, or helping with pull requests.

Currently this repository is maintained by:

Looking to become a maintainer? E-mail @osiset directly.

Special Note

I develop this package in my spare time, with a busy family/work life like many of you! So, I would like to thank everyone who's helped me out from submitting PRs, to assisting on issues, and plain using the package (I hope its useful). Cheers.

Comments
  • Auth Flow Refactoring

    Auth Flow Refactoring

    Dev Branch: [feature/cookieless]

    Introduction

    Shopify is now requiring apps to work with session tokens (JWT).

    This package has changed several times due to requirement changes with either Shopify or browsers.

    At this point, a restructure will be worked on as a priority for authentication flow and validation.

    Off the top of my head as some planning, the following will be done and worked on:

    Removal of cookies & JWT first-class

    Still toying with this in my head, however, while the recent releases helps with cookie issues by handling ITP, its a messy solution and also breaks a good userflow when they see the warnings pop up to enable cookies.

    Currently, I see abolishing all cookie and ITP related code and switch to JWT only.

    This would involve the removal of ITP views, ITP middleware, cookie class, a good chunk of AuthShopify middleware, and more.

    In place, we can promote AuthToken middleware to the forefront, and modify it to utilize Laravel's request context so place in the decoded JWT data into the request lifecycle.

    This will allow for the JWT data to be available within the code and views, allowing us to then lookup the user based on the JWT data by request, instead of cookies.


    A lot of work will be required to complete this, please be patient. If someone sees an issue with promoting JWT to the forefront, please let me know.

    feature fix-in-progress help-wanted cookies 
    opened by gnikyt 174
  • Browser Issues: ITP, Cookies, Redirection

    Browser Issues: ITP, Cookies, Redirection

    Feature: Currently there is no support for ITP cookies, theres also lingering issues with cookies outside of my control sadly.

    I am not sure if there will be a clean solution for this as adding ITP support really bloats the flow and quite honestly is frustrating to deal with the baggage Chrome and Chrome-like browsers bring with their isolated standards.

    I am not sure when I can complete this, or what it will take, or even if I can do it alone. However, theres been a growing number of cookie issues (again, outside of my control), so I will attempt this as the next feature!

    Any opened cookie-related issues will be closed and this issue will be referenced. I will pool your reports and use them to attempt a fix.

    Thanks!

    bug feature cookies 
    opened by gnikyt 74
  • Osiset\ShopifyApp\Exceptions\MissingShopDomainException

    Osiset\ShopifyApp\Exceptions\MissingShopDomainException

    I am getting MissingShopDomainException upon running the app. This is a fresh laravel 8.6.0

    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: 13.0
    • Laravel Version: 8.6.0
    • PHP Version: 7.3
    • Using a toolset (Docker, Laradock, Vagrant, etc.):
    needs-info 
    opened by vmbcarabbacan 64
  • I am facing an issue on embedded app in iphone safari in login section

    I am facing an issue on embedded app in iphone safari in login section

    When i connect to myApp using shopify admin section, App is working but when i use login section of laravel it is showing 419 error of laravel only in apple safari. but working find in all browser chorme, firefox.

    feature fix-in-progress 
    opened by azarrar 48
  • Authentication after a long period of time

    Authentication after a long period of time

    Hi

    I hope everyone is doing great. I am developing shopify app using below

    Laravel V 5.8 PHP V 7.2 Ohmybrew Laravel-shopify V 7.0 also same behavior at V 6

    Issue is

    After installation it is working fine but when I load this app again after few minutes it is showing me the below error. it is due to server or any other reason?

    Secondly when error occurred, removing shopify_token from database shop table and refreshing app, will load app correctly and updating shopify_token with same token.

    Any help?

    Trying to get property shopify_domain of non-object

    FireShot Capture 006

    feature 
    opened by muhammadasfar 43
  • AuthShop middleware needs to handle exceptions gracefully

    AuthShop middleware needs to handle exceptions gracefully

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

    Expected Behavior

    If the shopify_domain is not set on a route protected by the auth.shop middleware there should either be a redirect to the /login route or a specific exception thrown.

    Current Behavior

    Currently there is just a general Exception being thrown.

    Failure Information

    Steps to Reproduce

    See my repo where I followed installation steps: https://github.com/ncpope/tester/commits/master

    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: ^9.2
    • Laravel Version: 5.8.*
    • PHP Version: PHP 7.3.4
    • Using a toolset (Vagrant):

    Failure Logs

    Screen Shot 2019-09-03 at 10 58 50 feature 
    opened by ncpope 42
  • Free access then enable billing later

    Free access then enable billing later

    How can I best approach this?

    I'd like users to install the app for free, and offer billed upgrades.

    So ideally, I'd need the billable middleware in place, but if I disable billing in the config, the middleware is going to be skipped.

    Can I set billing enabled, but set the price to 0.00?

    I know you are looking into multiple billing plans, but in the mean time, I'd like to give this idea a crack myself.

    feature 
    opened by paulcanning 38
  • Get stuck on infinite redirects to `/authenticate/partial`

    Get stuck on infinite redirects to `/authenticate/partial`

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

    Expected Behavior

    The application should not get stuck in a redirect loop between the configured application URL and the /authenticate/partial route.

    Current Behavior

    The app enters an infinite 302 redirect loop

    Failure Information

    Bounces between

    /?hmac=XX&shop=XX and /authenticate/partial?shop=XX with 302s until the browser stops the redirections

    Steps to Reproduce

    Please provide detailed steps for reproducing the issue.

    1. Make a new app and demo shop
    2. Configure redirect URL in .env to /authenticate/full
    3. Create a test plan that is billable and has 0 days free trial
    4. Set session and cache driver to redis
    5. Make the default URL / and add the auth.shop and billable middlewares to the welcome route
    6. Try to add the new app to the new demo shop

    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: v9.0
    • Laravel Version: v5.8.29
    • PHP Version: v7.3.6
    • Using a toolset (Docker, Laradock, Vagrant, etc.): None

    Failure Logs

    Apache logs show redirects as detailed above

    bug 
    opened by darrynten 37
  • Chrome Cookies

    Chrome Cookies

    From ~~4th of Feb~~ 17th of Feb Shopify Apps must all send SameSite=none cookies with the secure flag set.

    This is because Chrome 80+ has this as a hard requirement in order for embedded apps to continue to work.

    This PR is based on the initial work performed by @jedimdan in PR #375

    The key difference here is that the check has been moved to the ShopSession Service level, instead of being on the Middleware level, and the tests are performed on actual requests, not just the check method.

    Additionally, all derived Shopify Host addresses will be https instead of http (this is a hard requirement for secure cookies to work).

    This patch makes the need to edit the config/sessions.php file in the host application redundant. Changing those values can be harmful as it would set those flags for incompatible browsers and result in broken apps for those users.

    Resolves #367 ~~#277~~ (See comment from @jedimdan for why this is not actually resolved)

    References

    Shopify Announcement Known Incompatible Clients

    feature 
    opened by darrynten 36
  • GDPR Requirements

    GDPR Requirements

    Shopify recently added information about additional webhooks that are going to be required by all apps: https://help.shopify.com/api/guides/gdpr-resources

    They are shop/redact& customers/redact and the urls for them will be set in the app info panel.

    Should we include sensible defaults for these in the package?

    opened by ncpope 36
  • Billable app throwing exception on install

    Billable app throwing exception 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 exception

    Failure Information

    This is the exception TypeError Osiset\ShopifyApp\Http\Controllers\BillingController::index(): Argument #1 ($plan) must be of type ?int, Illuminate\Http\Request given, called in /var/www/xxx/releases/15/vendor/laravel/framework/src/Illuminate/Routing/Controller.php on line 54

    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',5.00,'EVERY_30_DAYS',10.00,'Test terms',7,TRUE,1,NULL,NULL);

    2. Add middleware (['auth.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.1.0
    • Laravel Version: v8.83.5
    • PHP Version: 8.1.2
    • Using a toolset (Docker, Laradock, Vagrant, etc.): none

    Failure Logs

    Please include any relevant log snippets or files here.

    bug help-wanted 
    opened by ashwin-nath-m 32
  • Added Event Listener system

    Added Event Listener system

    As I mentioned in PR #1220, I just added some events in the various cases for this package. These feature help developers add more control over this package. Now developers can do anything based on the triggered event by registering their own listener/s, ex: send email/SMS/notification, run job, update DB, or anything else.

    By adding this feature will open up the opportunity to add more new features in the future

    Events

    • AppInstalledEvent
    • ShopAuthenticatedEvent
    • ShopDeletedEvent
    • AppUninstalledEvent
    • PlanActivatedEvent

    Backward compatibility: YES

    Breaking change: NO

    Deprecation: YES (AfterAuthenticationJob feature will be removed in the next major release)

    Doc: Need to update the WIKI after merging this PR with migration guide

    opened by nahid 0
  • App Extension Set up Issue

    App Extension Set up Issue

    I am currently setting up App Extension by following this guide by @tanseercena but ran into an issue . As shown below, is this the correct way of setting up the app extension path? I created a new "app_extension" directory and ran npm install in "app_extension" root. But when I ran npm run shopify, the terminal is giving me the error "SyntaxError: Cannot use import statement outside a module". Not sure what I did wrong. Did anyone run into same problem?

    Screen Shot 2022-11-15 at 9 33 39 AM

    Screen Shot 2022-11-15 at 2 29 49 PM
    opened by benson336 1
  • upgrading and downgrading plan  got issue first time..

    upgrading and downgrading plan got issue first time..

    While upgrading and downgrading plan got an issue the first time.. then work after 2nd try..

    Please check the screenshot.. anyone knows what type of error is? a489728d-8b70-474a-9186-7eab2d920a36

    opened by ingalesachin7 1
  • "Shopify App Outdated" but running latest app bridge, osiset, etc

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

    Expected Behavior

    When going to the app it should go directly to the home page.

    Current Behavior

    When going into the app, I receive this message.

    Frame 58

    Failure Information

    This happens every time I try to log into my app on production. It does not show on development. When I click the link provided, it says I am outdated because I am not compatible with the new Shopify admin domain. I don't believe that is true. Below is some additional info.

    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.2
    • Laravel Version: v8.83.25
    • PHP Version: v7.4

    Failure Logs

    I don't have much for failure logs but I am running the latest app bridge as set by Osiset. My app is a multipage application. That info may help.

    Also, after speaking with a friend he believes the issue may be: "If your app isn't a single-page application, then your server needs to persist the host value during the initial page load. On subsequent page loads, you should use the persisted host value to configure App Bridge."

    If the above is the case is there a way in Osiset to set the host value as persistent? We tried to use cookies but were unsuccessful. Also, not 100% sure that is the problem.

    Any advice would be helpful. This is a terrible notification from Shopify and I believe really hurting my installation rate right now.

    opened by talktohenryj 29
  • Auth:user->name  and utils Issues while Upgrading  v12.x to v17.x

    Auth:user->name and utils Issues while Upgrading v12.x to v17.x

    Hello,

    I have upgraded the 12.0 to 17.3.1 version and all steps follow from here: https://github.com/osiset/laravel-shopify/wiki/Upgrading

    After all, things are done when I reload the store page I got the below error:

    image

    and Uncaught ReferenceError: utils is not defined image

    image

    • Package Version: v17.3.1
    • Laravel Version: v7.30.6
    • PHP Version: v7.4.3

    I have checked many things but have not found any solution can you please help me?

    opened by mailtester322 2
Releases(v17.3.2)
  • v17.3.2(Nov 10, 2022)

    What's Changed

    • Updates to token_handler.blade.php to support Livewire 2.x by @unplugged216 in https://github.com/osiset/laravel-shopify/pull/1247
    • AppBridge : Add the host param to the billing redirect url by @Kyon147 in https://github.com/osiset/laravel-shopify/pull/1244

    New Contributors

    • @unplugged216 made their first contribution in https://github.com/osiset/laravel-shopify/pull/1247

    Full Changelog: https://github.com/osiset/laravel-shopify/compare/v17.3.1...v17.3.2

    Source code(tar.gz)
    Source code(zip)
  • v17.3.1(Oct 4, 2022)

    A small patch to fix a couple bugs.

    What's Changed

    • Removed !! from the full_page_redirect breaking authenticate route by @Kyon147 in https://github.com/osiset/laravel-shopify/pull/1222
    • Usage Charge "ID on Null" Fix by @Kyon147 in https://github.com/osiset/laravel-shopify/pull/1210

    Full Changelog: https://github.com/osiset/laravel-shopify/compare/17.3.0...v17.3.1

    Source code(tar.gz)
    Source code(zip)
  • v17.3.0(Oct 1, 2022)

    Important: This is the last release that will support PHP7.x due to breaking changes with PHP8.1 and the Basic-Shopify-API package that has been updated which is a dependency on this package.

    There will be a v18.0.0 coming after this to shift over to a minimum requirement of PHP8.x.

    What's Changed

    • Feature | Add Session Refresh Time to ENV by @Kyon147 in https://github.com/osiset/laravel-shopify/pull/1117
    • Deprecation supports and fixes by @osiset in https://github.com/osiset/laravel-shopify/pull/1207
    • Add variables command by @enmaboya in https://github.com/osiset/laravel-shopify/pull/1172
    • Allow for custom "shops" table for automatic migrations by @nahid in https://github.com/osiset/laravel-shopify/pull/1192
    • Added name, email and password in shops table migration if its missing from current shops table by @nahid in https://github.com/osiset/laravel-shopify/pull/1209
    • Changes CONTRIBUTORS.txt to be updated with the latest data by @osiset in https://github.com/osiset/laravel-shopify/pull/1215
    • Verify shopify with SPA by @enmaboya in https://github.com/osiset/laravel-shopify/pull/1173

    New Contributors

    • @nahid made their first contribution in https://github.com/osiset/laravel-shopify/pull/1192

    Full Changelog: https://github.com/osiset/laravel-shopify/compare/v17.2.0...v17.3.0

    Source code(tar.gz)
    Source code(zip)
  • v17.2.0(Sep 7, 2022)

    Laravel 9 Support added please refer their Upgrading guide as well if you wish to update.

    Warning: Changed needed. Please refer to the Upgrading wiki doc as well.

    What's Changed

    • Olavosantos 1094 issue branch w/ updated tests by @stevesweets in https://github.com/osiset/laravel-shopify/pull/1191
    • Adding support for Laravel 9 by @steveperrycreative in https://github.com/osiset/laravel-shopify/pull/1100
    • Allow ergebnis/composer-normalize to run the code clean on workflows by @Kyon147 in https://github.com/osiset/laravel-shopify/pull/1194
    • Propose to fix Billable app throwing exception on install by @thang12l in https://github.com/osiset/laravel-shopify/pull/1145
    • Setting up Iframe protection by @enmaboya in https://github.com/osiset/laravel-shopify/pull/1178
    • Update BillingController.php by @usmanpakistan in https://github.com/osiset/laravel-shopify/pull/1181
    • Update old readme info by @ItsGageH in https://github.com/osiset/laravel-shopify/pull/1185
    • Force composer to choose <=10.0.5 for the Basic Shopify API by @Kyon147 in https://github.com/osiset/laravel-shopify/pull/1201

    New Contributors

    • @steveperrycreative made their first contribution in https://github.com/osiset/laravel-shopify/pull/1100
    • @enmaboya made their first contribution in https://github.com/osiset/laravel-shopify/pull/1178
    • @usmanpakistan made their first contribution in https://github.com/osiset/laravel-shopify/pull/1181
    • @ItsGageH made their first contribution in https://github.com/osiset/laravel-shopify/pull/1185

    Full Changelog: https://github.com/osiset/laravel-shopify/compare/v17.1.1...v17.2.0

    Source code(tar.gz)
    Source code(zip)
  • v17.1.1(Apr 27, 2022)

    What's Changed

    • Add Github as a funding possibility. by @lucasmichot in https://github.com/osiset/laravel-shopify/pull/913
    • Add route autocompletion support for the Laravel Idea plugin by @squatto in https://github.com/osiset/laravel-shopify/pull/916
    • Fixed installation issue by @clydesantiago in https://github.com/osiset/laravel-shopify/pull/933
    • UPDATE: configurable auth provider by @vkislichenko in https://github.com/osiset/laravel-shopify/pull/934
    • Add shop to parameter if we already have it by @LonnyX in https://github.com/osiset/laravel-shopify/pull/956
    • Removed Dead link in Readme, i.e. "Requirements" by @dancrodev in https://github.com/osiset/laravel-shopify/pull/971
    • Fix getDomain() error and throw catchable exception by @therealdb in https://github.com/osiset/laravel-shopify/pull/967
    • UPDATE: Customize Plan & Charge Models and tables name by @ansezz in https://github.com/osiset/laravel-shopify/pull/966
    • Bugfix incorrect api_key in SessionToken function by @ClaraLeigh in https://github.com/osiset/laravel-shopify/pull/1001
    • Update the API version to 2022-01 by @Kyon147 in https://github.com/osiset/laravel-shopify/pull/1059
    • Simplify the auth flow by removing the full page redirect. by @Kyon147 in https://github.com/osiset/laravel-shopify/pull/1075

    New Contributors

    • @vkislichenko made their first contribution in https://github.com/osiset/laravel-shopify/pull/934
    • @LonnyX made their first contribution in https://github.com/osiset/laravel-shopify/pull/956
    • @dancrodev made their first contribution in https://github.com/osiset/laravel-shopify/pull/971
    • @therealdb made their first contribution in https://github.com/osiset/laravel-shopify/pull/967
    • @ansezz made their first contribution in https://github.com/osiset/laravel-shopify/pull/966
    • @ClaraLeigh made their first contribution in https://github.com/osiset/laravel-shopify/pull/1001

    Full Changelog: https://github.com/osiset/laravel-shopify/compare/v17.1.0...v17.1.1

    Source code(tar.gz)
    Source code(zip)
  • v17.1.0(Jul 19, 2021)

    • Increase default Shopify API version from 2020-01 to 2021-01 (#880) @squatto
    • Use stricter assertions (#878) @lucasmichot
    • Remove unexpected arguments (#877) @lucasmichot
    • Fix many docblocks (#876) @lucasmichot
    • Turbolinks fixes (#873) @Enmaboya
    • Also cache laravel/legacy-factories and illuminate/contracts (#875) @lucasmichot
    • Enforce PSR12 standards (#879) @lucasmichot
    • Enable PHP-CS-Fixer in Github Action (#883) @lucasmichot
    • Reformat and clean-up service provider (#884) @lucasmichot
    • Simplify directory structure (#885) @lucasmichot
    • Optimize conditions (#889) @lucasmichot
    • Rename variables (#890) @lucasmichot
    • Exclude file from (#891) @lucasmichot
    • Update PHPUnit (#894) @lucasmichot
    • Uses codecov. (#899) @lucasmichot
    • Retain host parameter after successful install (#900) @stevesweets
    Source code(tar.gz)
    Source code(zip)
  • v17.0.1(Jul 9, 2021)

  • v17.0.0(Jun 30, 2021)

    Warning: Breaking changes. Please refer to the Upgrading wiki doc as well.

    Overall

    • Removal of dependency on cookies
    • Removal of dependency on ITP support
    • Added first-class support for Shopify tokens for auth
    • Improved auth flow

    Internal

    • Introduction of a Util class to replace global helper functions
    • Removal of ShopSession class
    • Introduction of a SessionContext object for shops to track token authentication
    • REST webhooks removed in-favour for GraphQL webhooks
    • Use of Laravel's Arr and Str helpers where-can
    • Removal of auth.token middleware in-favour of verify.shopify middleware
    • Removal of auth.shopify middleware in-favour of verify.shopify middleware
    • HMAC, SessionToken, SessionId, introduced as value objects to initialize and verify Shopify data
    • Removal of cappedTerms in-favour of terms for usage charges
    • Bugfix to isEmpty method for value objects

    Merged

    • TurboLinks support (#772) @Enmaboya Use ENV for TurboLinks (#774) @squatto
    • URL separator bugfix (#777) @squatto
    • Removal of "token" from query string in target URL handler (#779) @squatto
    • Ignore script tags for TurboLinks re-eval (#780) @Enmaboya
    • Reflash session when getting token (#783) @squatoo
    • Find shop domain from request object (#784) @squatto
    • Always pass the filtered query params to the token redirect (#785) @squatto
    • Update jQuery AJAX header Authorization setting (#790) @thang12l
    • Freemium mode uninstall flag added to uninstall webhook (#801) @mehulvadodariya2012
    • Retain host parameter (#808) @stevesweets
    • Add missing JSON extension (#809) @lucasmichot
    • Github Action adjustments (#810) @lucasmichot
    • Test message and exceptions (#811) @lucasmichot
    • Ensure all class names are PSR4-compliant (#812) @lucasmichot
    • Ensure that test files contain only one class (#813) @lucasmichot
    • Remove useless braces (#814) @lucasmichot
    • Add return types for functions in tests (#815) @lucasmichot
    • Use null coalescence (#816) @lucasmichot
    • Avoid using FQCN (#817) @lucasmichot
    • Remove PHPCS (#820) @lucasmichot
    • Replace abandoned Coveralls package (#821) @lucasmichot
    • Fix CI flags (#822) @lucasmichot
    • Cache composer dependencies in Actions (#824) @lucasmichot
    • Enforce PSR4 namespaces on tests (#825) @lucasmichot
    • Reformat fixture files (#826) @lucasmichot
    • Use getShopifyConfig() instead of env() (#827) @lucasmichot
    • Remove unneeded multiple condition check (#829) @lucasmichot
    • Simplify some condition checking (#830) @lucasmichot
    • Enforce time-safe string comparison with Carbon (#831) @lucasmichot
    • Set specific CI flags (#832) @lucasmichot
    • Improve code coverage on tests (#833) @lucasmichot
    • Introduce static analysis to Actions (#834) @lucasmichot
    • Remove useless dependencies (#835) @lucasmichot
    • Move issue template to Github folder (#836) @lucasmichot
    • Simplify and cleanup .gitignore file (#837) @lucasmichot
    • Simplify and clean up .gitattributes file (#838) @lucasmichot
    • Update composer.json (#839) @lucasmichot
    • Use ::class notations for route controller access (#841) @lucasmichot
    • Use CarbonImmutable for tests (#842) @lucasmichot
    • Remove useless methods (#843) @lucasmichot
    • Introduction of Util class, replace all helpers (#844) @lucasmichot
    • Use Util::getShopifyConfig() over env() (#846) @lucasmichot
    • Merged feature/cookieless (#847) @osiset
    • Remove and ignore /build folder (#848) @lucasmichot
    • Webhooks GraphQL support (#849) @onurkose
    Source code(tar.gz)
    Source code(zip)
  • v16.0.6(Mar 11, 2021)

  • v16.0.5(Mar 10, 2021)

  • v16.0.4(Feb 26, 2021)

  • v16.0.3(Feb 11, 2021)

    • Fix make webhook stub use proper ShopDomain class (#681)
    • Fix webhooks dispatch into specified queue (#682)
    • Fix detection of offline token presence in shop model
    Source code(tar.gz)
    Source code(zip)
  • v16.0.2(Feb 3, 2021)

  • v16.0.1(Feb 1, 2021)

  • v16.0.0(Jan 22, 2021)

    • Resolution for ITP issues (#522 / #664)
    • Dropped support for Laravel 5.x and 6.x in GitHub Actions (#664)
    • Added support for PHP 8 (#664)
    • Removed ConfigAccessible trait and ConfigHelper service as they are no longer needed, getShopifyConfig helper function is now the successor
    Source code(tar.gz)
    Source code(zip)
  • v15.1.1(Dec 29, 2020)

    • Use ShopId interface throughout code instead of direct reference to class (#643 / #646)
    • Fix for config array being empty on fresh Laravel 8 install (#649)
    • Fix to check for already-existing deleted_at column (soft delete) on migration install (#642)
    Source code(tar.gz)
    Source code(zip)
  • v15.1.0(Dec 2, 2020)

    • Added new config option config_api_callback (#629) to allow for having custom logic for accessing api_* config such as api_key, api_secret etc
    Source code(tar.gz)
    Source code(zip)
  • v15.0.0(Nov 25, 2020)

    • Fix to all jobs (#624) so that they now use basic scalar values to prevent serialization errors
    • WebhookInstaller and ScripttagInstaller jobs no longer inject the action class, the action class is resolved in the handle method

    Potential breaking change if you've overloaded the AppUninstall job, or have webhook jobs. See UPGRADING wiki entry for more information.

    Source code(tar.gz)
    Source code(zip)
  • v14.0.3(Nov 24, 2020)

  • v14.0.2(Nov 24, 2020)

  • v14.0.1(Nov 20, 2020)

  • v14.0.0(Oct 16, 2020)

  • v13.1.0(Oct 9, 2020)

  • v13.0.0(Sep 17, 2020)

    Please refer to the UPGRADING and CHANGELOG wiki pages for information.

    • Add Laravel 8 support (#570)
    • API library updated to support Laravel 8 / Guzzle 7 (#582)
    • Removal of "login" route and view
    • Unused script tags auto-deleted (#543)
    • Unused webhooks auto-deleted

    Internal:

    • Always use proper assertions for testing (#581)
    • Migrate PHPUnit configuration file against its new schema (#580)
    • Enforce editorconfig settings on fixtures (#579)
    • Exception is now thrown for bad signature instead of a redirect to "login" page
    • Exception is now thrown for missing shop domain instead of redirect to "login" page
    • BaseException render method removed
    • Value objects migrated to use fromNative instead of new
    • Adjustment to remove legecy-factories dependency (#576)
    • Do not hardcode dev package in composer.json (#575)
    • Removal of bin directory (#574)
    • Updated composer.json to support legacy factories for Orchestra (#573)
    • Normalize composer.json (#561)
    • Fix all constructor return docblocks signatures (#560)
    • Declare missing tests classes properties (#559)
    • Always prefer stricter comparisons (#558)
    • StyleCI integration (#557)
    • .editorconfig support (#556)
    • Fix shopDomain type in webhook generator (#555)
    • Update the comment typos of shopify-app.php (#553)
    Source code(tar.gz)
    Source code(zip)
  • v12.1.0(Jul 15, 2020)

    • ShopModel trait boot method by @bilfeldt #517
    • Fix for old authentication middleware by @bilfeldt #519
    • Support for new annual subscriptions by @aepnat #516
    Source code(tar.gz)
    Source code(zip)
  • v12.0.1(Jun 18, 2020)

  • v12.0.0(May 29, 2020)

    Warning: Contains potential breaking changes to API access, see Upgrading for more information

    Public-facing changes

    • Upgrade to v9.0 of underlying API package
    • Several config options removed, some added, to support the new underlying API package version
    • Accessing REST/GraphQL data has slightly changed ($response->body->... => $response['body']->...), refer to Upgrade wiki

    Internal

    • ApiSession transfer object removed, replaced with underlying API package's Osiset\BasicShopifyAPI\Session
    • All return types for Services/ApiHelper which we're stdClass are now changed to Osiset\BasicShopifyAPI\ResponseAccess or array
    Source code(tar.gz)
    Source code(zip)
  • v11.5.0(May 4, 2020)

    • Parse query strings the same as Shopify to support array parameters by @joelvh #469
    • Fix for #424 by aliasing ONETIME to CHARGE for ChargeType enum
    • Fix for #462 to ensure HMAC is passed if shop is guest
    • ShopDomain object instead of string in webhook-job stub by @awebartisan #472
    Source code(tar.gz)
    Source code(zip)
  • v11.4.1(Apr 26, 2020)

  • v11.4.0(Apr 19, 2020)

Owner
Tyler King
A simple goal of developing solutions.
Tyler King
Make requests to the Shopify API from your Laravel app

Make requests to the Shopify API from your Laravel app The signifly/laravel-shopify package allows you to easily make requests to the Shopify API. Ins

Signifly 147 Dec 30, 2022
Slim Jam is a demo application to provide examples for composer package, PHPSpreadsheet, Shopify API etc. usages.

SLIM JAM Slim Jam is a demo application to provide examples for composer package, PHPSpreadsheet, Shopify API etc. usages. This project aims to take a

UÄŸur ARICI 2 Jan 9, 2022
Bring multi themes support to your Laravel application with a full-featured Themes Manager

Introduction hexadog/laravel-themes-manager is a Laravel package which was created to let you developing multi-themes Laravel application. Installatio

hexadog 86 Dec 15, 2022
💡 Full-featured code intelligence and smart autocomplete for Sublime Text

SublimeCodeIntel This Code Intelligence plugin for Sublime Text provides an interface to CodeIntel. CodeIntel is a code intelligence engine that was p

null 5.1k Dec 27, 2022
Electrik is a full-featured, open-source, starter-kit to help you build you your SaaS application.

Electrik Electrik is a full-featured and open-source stater-kit for for your next SaaS application. It's built on top of Laravel, Livewire, neerajsoha

Electrik 129 Dec 31, 2022
Laravel messenger. A full messenger suite for your new / existing laravel app

Laravel messenger. A full messenger suite for your new / existing laravel app! Private and group threads between multiple models, with real-time messaging, reactions, attachments, calling, chat bots, and more!

Richard  Tippin 290 Dec 30, 2022
Easily add a full Laravel blog (with built in admin panel and public views) to your laravel project with this simple package.

Webdevetc BlogEtc - Complete Laravel Blog Package Quickly add a blog with admin panel to your existing Laravel project. It has everything included (ro

WebDevEtc. 227 Dec 25, 2022
PHP package to help the development of Laravel-based Telegram bots

Laravel-telegram-bot Project description goes here. This description is usually two to three lines long. It should give an overview of what the projec

CC - UFFS 6 May 10, 2021
A simple blog app where a user can signup , login, like a post , delete a post , edit a post. The app is built using laravel , tailwind css and postgres

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Nahom_zd 1 Mar 6, 2022
A web app for detecting backend technologies used in a web app, Based on wappalyzer node module

About Techdetector This a web fingerprinting application, it detects back end technologies of a given domain by using the node module wappalyzer. And

Shobi 17 Dec 30, 2022
CV-Resumes-App is helped us to build resume .. you can help me to improve this app...

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Eng Hasan Hajjar 2 Sep 30, 2022
Laravel User Activity Log - a package for Laravel 8.x that provides easy to use features to log the activities of the users of your Laravel app

Laravel User Activity Log - a package for Laravel 8.x that provides easy to use features to log the activities of the users of your Laravel app

null 9 Dec 14, 2022
A full-stack framework for Laravel that takes the pain out of building dynamic UIs.

A full-stack framework for Laravel that takes the pain out of building dynamic UIs.

Livewire 17.7k Jan 1, 2023
Laravel Livewire full page component routing.

Laravel Livewire Routes Laravel Livewire full page component routing. This package allows you to specify routes directly inside your full page Livewir

null 22 Oct 6, 2022
Use Blade templates without the full Laravel framework

blade Use Laravel Blade templates as a standalone component without the full Laravel framework Full documentation is available at http://duncan3dc.git

Craig Duncan 138 Dec 7, 2022
Scout Extended: The Full Power of Algolia in Laravel

Documentation • Community Forum • Stack Overflow • Report a bug • FAQ • Support To dig right in, visit the Scout Extended documentation. Scout Extende

Algolia 378 Dec 1, 2022
Viewi for Laravel: Build full-stack and completely reactive user interfaces with PHP.

[WIP] Laravel Viewi This is just a proof-of-concept. Don't use it in production! Viewi for Laravel: Build full-stack and completely reactive user inte

Protone Media 5 Jan 26, 2022
Un sitio web de películas realizado con Laravel y TailwindCSS para la Beca Neoris en Programación Full-Stack dictada por la Universidad Tecnológica Nacional.

Teatralidad Un sitio web realizado con Laravel y TailwindCSS para la Beca Neoris en Programación Full-Stack dictada por la Universidad Tecnológica Nac

Cristian Diego Góngora Pabón 2 Jan 14, 2022
Llum illuminates your Laravel projects speeding up your Github/Laravel development workflow

Llum illuminates your Laravel projects speeding up your Github/Laravel development workflow

Sergi Tur Badenas 110 Dec 25, 2022