解決できる課題 事業紹介トップ 経営データ分析基盤 Claude / MCP 導入 AI 業務アプリ 複雑な SaaS を専用 UI に Shopify Plus 移行・拡張 生成AI 活用(Multi AI) SEO / AIO / 広告運用 顧問・アドバイザリ インフラ構築 自社メディア投資・開発
Claude Claude / MCP 総合 Claude Cowork Claude Code 導入支援 Claude Code 使いこなし支援 Claude Design MCP 開発・サーバー構築
Shopify Plus Shopify Plus トップ EC-CUBE からの移行 大手カートからの移行 Shopify 通常プラン EC サイト構築
実績
業界ニュース 業界ニュース トップ AI ニュース └ Claude └ ChatGPT・Codex └ Gemini └ その他 Shopify ニュース SaaS ニュース お知らせ(自社発信)
会社情報 相談する
2026.08.28

Shopify 公式 PHP・Python アプリパッケージが v1.0 正式リリース

記事のサマリー(TL;DR)

  • PHP 向け shopify/shopify-app-php(Packagist)、Python 向け shopifyapp(PyPI)が v1.0 で正式 GA
  • リクエスト検証・トークン交換・Admin GraphQL クライアントを単体で組み合わせ可能なプリミティブとして提供
  • 旧ライブラリ shopify-api-php / shopify_python_api は非推奨化。セキュリティ修正も受け取れなくなる

Laravel・Django 等を使う国内 Shopify アプリ開発者への影響

国内では Shopify のカスタムアプリや非公開アプリをバックエンドに PHP(Laravel)や Python(Django / FastAPI)で構築しているケースが一定数存在します。これまで公式サポートは Node.js / Ruby に偏っており、PHP・Python は非公式・コミュニティ管理のライブラリに頼る場面がありました。

今回の正式パッケージ化で、Laravel や Symfony をそのまま使いつつ Shopify の認証フローを公式に準拠した形で実装できます。特に Webhook 検証・App Bridge リクエスト検証・Checkout / POS / Flow 拡張への対応が単一パッケージで完結する点は、既存コードベースへの段階的な組み込みを現実的なものにします。

旧ライブラリ(shopify-api-php / shopify_python_api)はすでに Packagist では「abandoned(放棄済み)」、PyPI では「inactive(非アクティブ)」に変更されており、今後はセキュリティ修正も提供されません。強制移行期限は設けられていないものの、セキュリティ観点から早期移行が推奨されます。kintone や Salesforce 等の業務 SaaS を Shopify と連携させるバックエンドを PHP / Python で書いているケースでも、API クライアント部分の刷新が検討ポイントになります。

詳細

追加された 2 つの新パッケージ

以下のコマンドで即時導入できます。

composer require shopify/shopify-app-php
pip install shopifyapp

両パッケージは同一のプリミティブ(基本機能)セットを提供します。フルフレームワークを採用しなくても、必要なプリミティブだけを組み合わせる設計です。

提供されるプリミティブ:

  • リクエスト検証(Request Verification): Webhook、App Home、App Bridge、アプリプロキシ、Checkout / POS / Admin / Customer Account / Flow 拡張からのリクエストに対応
  • トークン交換(Token Exchange): クライアント資格情報フローおよびアクセストークンのリフレッシュを含む
  • Admin GraphQL クライアント: 自動リトライ処理付き

対応フレームワークは Laravel、Symfony、Django、FastAPI のほか、素の PHP・Python でも動作します。

旧ライブラリの非推奨化

ライブラリ 状態 今後の対応
shopify-api-php Packagist で「abandoned」 新機能・セキュリティ修正なし
shopify_python_api PyPI で「inactive」 新機能・セキュリティ修正なし

既存アプリはそのまま動作しますが、両ライブラリとも新パッケージへの移行を案内するリンクが追加されています。強制削除・移行期限は設定されていません

今回の変更が重要な理由

  1. 小さく明示的な設計: 各プリミティブがセキュアなセットアップの 1 ステップに対応しており、コードの流れが可視化されます。AI コーディングツールにも理解しやすい構造です。
  2. 言語間の一貫性: PHP 版と Python 版は同一の仕様・同一のテストスイートを共有しており、一方で行われた改善がもう一方にも反映されます。
  3. 段階的な移行: アプリ全体を書き直すのではなく、1 ルートずつ移行できるよう設計されています。

Node.js・Ruby への影響

Node.js ライブラリおよび Ruby ライブラリには変更はありません。新規アプリの推奨パスは引き続き React Router です。

新規アプリを始める場合の手順

現時点で PHP・Python 向けのアプリテンプレートは提供されていません。代わりに、以下の手順で独自プロジェクトを構成します。

  1. 使用言語のパッケージをインストール
  2. 任意のフレームワーク / スタックでプロジェクトを雛形作成
  3. 必要なプリミティブを組み合わせる(例: リクエスト検証 → トークン交換)
  4. 開発ストアでリクエスト検証とトークン交換の動作を確認

各パッケージの README はすべてのプリミティブを文書化しており、AI コーディングツールへのコンテキストとして直接提供することも想定されています。

PHP 実装例

$shopify = new Shopify\App\ShopifyApp($clientId, $clientSecret);
$result = $shopify->verifyAppHomeReq($request);

このコードは App Home リクエストを検証します。検証成功時、$result から $result->shop(店舗情報)と $result->idToken(トークン)を取得でき、そのままアクセストークン交換に使用できます。処理するサーフェスに応じて verify... メソッドを使い分け、リクエストを自前でパース・再検証せずに済みます。

既存アプリを移行する場合

強制移行・削除のスケジュールはありません。移行の準備ができたタイミングで、新パッケージの README に記載されたアップグレードノートに従い、段階的に対応できます。

関連ドキュメント