bryanyeh/shopify-laravel
Composer 安装命令:
composer require bryanyeh/shopify-laravel
包简介
Shopify API for Laravel 5.4 using Guzzle
README 文档
README
This package is only for Laravel integration with Shopify's API to make a public app
Requirements
- Laravel 5.4
- PHP 7+
Installation
Using command line
composer require bryanyeh/shopify-laravel 1.10
Edit your .env file add and replace with no < >
SHOPIFY_API_KEY=<replace with api key>
SHOPIFY_API_SECRET=<replace with api secret>
SHOIFY_API_SCOPES=<replace with scopes seperated by commas like: read_products,write_products,read_draft_orders>
Add to providers arrray in config/app.php
Bryanyeh\Shopify\Providers\ShopifyServiceProvider::class,
Add to aliases array in config/app.php
'Shopify' => Bryanyeh\Shopify\Facades\Shopify::class,
Add to routeMiddleware array in app/http/Kernel.php
'shopifyrequest' => \Bryanyeh\Shopify\Middleware\VerifyRequest::class,
'shopifynonce' => \Bryanyeh\Shopify\Middleware\VerifyNonce::class,
'shopifywebhook' => \Bryanyeh\Shopify\Middleware\VerifyWebHook::class,
'shopifyproxy' => \Bryanyeh\Shopify\Middleware\VerifyProxy::class,
In the command line
php artisan vendor:publish --provider="Bryanyeh\Shopify\Providers\ShopifyServiceProvider"
Usage:
Make sure to use use Bryanyeh\Shopify\Facades\Shopify; wherever you are planning to use this package.
Asking for permission to install the app
Make sure to use the middleware shopifyrequest
use Bryanyeh\Shopify\Facades\Shopify; Route::get('install', function(Request $request){ return redirect(Shopify::init($request->input('shop'))->install('https://example.com/confirm')); })->middleware('shopifyrequest');
Retreiving the access token
To do this you will need to use the middlewares shopifynonce and shopifyrequest
use Bryanyeh\Shopify\Facades\Shopify; Route::get('confirm', function(Request $request){ $access_token = Shopify::init($request->input('shop'))->getAccessToken($request->input('code'))['access_token']; //save the access_token for later use //redirect to success or billing page })->middleware('shopifynonce', 'shopifyrequest');
Verifying webhooks
Simply use the middleware shopifywebhook
Verifying proxy requests
Simply use the middleware shopifyproxy
Accessing API resource
use Bryanyeh\Shopify\Facades\Shopify; $geturi = '/admin/products/count.json' ; $posturi = '/admin/products.json'; $puturi = '/admin/products/632910392.json'; $deleteuri = '/admin/products/632910392.json'; $shop = Shopify::init($my_shopify_store,$access_token); $shop->get($geturi, [if any]); $shop->post($posturi, [data]); $shop->put($puturi, [data]); $shop->delete($deleteuri);
Everything that gets will be in a form of an array containing:
statusCode : 200 or 400 or status code
reasonPhrase : just a phrase that goes with the status code
callLimit : HTTP_X_SHOPIFY_SHOP_API_CALL_LIMIT
???? : expected response data shopify returns
Middlewares
shopifywebhookreturns 401 error when hmac is invalidshopifyproxyreturns 401 error when signature or domain are invalidshopifynonceandshopifyrequest, will redirect to a named routere-auth, with this you can decide what to do if either the nonce or request is invalid
Errors
This package throws only 1 exception.
InvalidMethodRequestException- only
get/post/put/deleteis allowed, look at Acessing API Resource
- only
Notes:
- Nonce is automatically taken care for you
- Make sure to add your incoming webhook routes to the
app/Http/Middleware/VerifyCsrfToken.phpin theexceptarray
License
Laravel Shopify is licensed under MIT License (MIT).
bryanyeh/shopify-laravel 适用场景与选型建议
bryanyeh/shopify-laravel 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 229 次下载、GitHub Stars 达 6, 最近一次更新时间为 2017 年 08 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「api」 「Guzzle」 「shopify」 「laravel」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 bryanyeh/shopify-laravel 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 bryanyeh/shopify-laravel 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 bryanyeh/shopify-laravel 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A PSR-7 compatible library for making CRUD API endpoints
Cloudflare Middleware For Guzzle
Shopify package for Laravel to aide in app development
A basic Shopify API wrapper with REST and GraphQL support.
Simplifies working with holaluz API endpoints
Wrapper for Slack Web API
统计信息
- 总下载量: 229
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 7
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-08-27