everypay/shopify-api

Shopify API Library for PHP


README

License: MIT

This library provides support for PHP Shopify apps to access the Shopify Admin API, by making it easier to perform the following actions:

  • Creating online or offline access tokens for the Admin API via OAuth
  • Making requests to the REST API
  • Making requests to the GraphQL API
  • Registering/processing webhooks

In addition to the Admin API, this library also allows querying the Storefront API.

This library can be used in any application that has a PHP backend, since it doesn't rely on any specific framework—you can include it alongside your preferred stack and only use the features that you need to build your app.

Requirements

To follow these usage guides, you will need to:

  • have a basic understanding of PHP
  • have a Shopify Partner account and development store
  • OR have a test store where you can create a private app
  • have a private or custom app already set up in your test store or partner account
  • use ngrok, in order to create a secure tunnel to your app running on your localhost
  • add the ngrok URL and the appropriate redirect for your OAuth callback route to your app settings

Getting started

You can follow our getting started guide to learn how to use this library's components.

Developing this library

After cloning the repository, composer can install the dependencies:

composer install

To run tests:

composer test

If you want to get a code coverage report from the tests, you'll need to install the php-xdebug extension by running pecl install xdebug, and then run:

composer test -- [--coverage-text|--coverage-html=<path>]

You may have to clear composer's autoload cache when namespaces change:

composer dump-autoload

To run linter:

composer lint