【Shopify.dev和訳】Apps/Channels/Checkout API
この記事について
この記事は、Apps/Channels/Checkout APIの記事を和訳したものです。
記事内で使用する画像は、公式ドキュメント内の画像を引用して使用させていただいております。
Shopify アプリのご紹介
Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。
Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。
Build a sales channel with the Checkout API
このガイドでは、お客様がマーチャントの製品を注文できるように、支払いを有効にする方法を説明します。
また、販売チャネルからお金を稼ぐために、アプリに課金する方法についても説明します。
例として、お客様がプラットフォームから 1 つのマーチャントの製品を購入できるようにするための販売チャネルを構築します。
販売チャネルを構築する際には、ビジネスケースやアプリのニーズに応じて、Admin APIまたはStorefront APIのいずれかを使用できます。
前提条件 | Prerequisites
このガイドは、あなたが以下の内容に精通していることを前提としています。
概要 | Overview
Shopify の販売チャネルを構築することで、Web、モバイル、ゲーム内でマーチャントの商品と顧客を結びつけることができます。たとえば、Admin API を使用して、マーチャントが製品、注文、顧客をチャネルに統合できるアプリを構築することができます。また、Storefront API と Admin API を使用して、Mobile Buy SDKを活用したモバイルアプリビルダーを開発することもできます。
決済と注文管理 | Payments and order management
チェックアウト API を使用して販売チャネルを構築すると、Shopify が複雑な支払い処理を簡単に行うことができるため、統合作業が少なくなります。
- Shopify は、お客様のビジネスケースやアプリのニーズに応じて、さまざまな支払処理オプションを提供しています。
- Admin API での支払い処理についてはこちらをご覧ください。
- Storefront API での支払い処理についてはこちらをご覧ください。
- Checkout API を使用する場合、Shopify はあなたに代わってマーチャントへの支払いを処理します。
- Billing APIを使用する場合は、マーチャントにプラットフォーム手数料を請求することが容易になります。
- Shopify は注文と履行の追跡を行います。
- Shopify は紛争、返金、キャンセルを処理します。
チェックアウトの作成と完了 | Creating and completing checkouts
マーチャントの製品をインポートした後、チェックアウトを作成して完了させることで、支払いを受け付けて処理することができます。これは、Admin API または Storefront API を使用して行うことができます。
どの API を選択しても、チェックアウトの作成と完了は同様のフローで、同様の Shopify リソースを使用します。
- チェックアウト オブジェクトの作成に必要なラインアイテム データの取得
- 配送情報(住所、料金)と顧客情報を指定します。
- アプリに適した支払い完了オプションを使用してチェックアウトを完了する。
- Shopify ウェブチェックアウト
- サードパーティートークナイゼーションサービス(Stripe、Spreedly
- Shopify カードボールト
チェックアウトの例 | Checkout example
REST Admin API
この例では、最も少ない統合作業で済むチェックアウト作成方法を示しています。
あなたのアプリは、商品ごとに Shopify の Web チェックアウトへのチェックアウトリンクを提供することができます。
これにより、あなたのプラットフォームでは、独自のネイティブチェックアウトフォームを構築する代わりに、Shopify の Web チェックアウトを使用することができます。
チェックアウトを作成してウェブ URL を返すには、admin/checkouts.json
エンドポイントに POST リクエストを送ります。
$ curl -X POST -H "X-Shopify-Access-Token: 35df6efd065b8ce72dca9493e5ec34c5" -H "Content-Type: application/json" "https://{shop}.myshopify.com/admin/api/2021-07/checkouts.json" -d @checkout.json
ここで{shop}
はテストショップのドメイン、checkouts.json
は以下のような JSON ファイルです。
{
"checkout": {
"line_items": [
{
"variant_id": 26756068422,
"quantity": 1
}
]
}
}
これに対して API は、web_url
パラメータを含む Checkout オブジェクトを返します。
https://checkout.shopify.com/123456/checkouts/70b2b9d661c32de41fb130cd04e085c2
顧客をこの URL にリダイレクトすることで、Shopify の Web チェックアウト体験ができます。
- チェックアウトの作成および変更方法については、Checkout API で販売するを参照してください。
- 支払い処理のオプションについては、Checkout API で販売チャネルの支払いを完了するを参照してください。
Storefront API
Storefront API を使ってチェックアウトを完了するには、返された webUrl
フィールドを使って顧客を Shopify のウェブチェックアウトフォームにリダイレクトします。
チェックアウトフローのどの時点でも、Checkout
のwebUrl
フィールドを照会することで、ユーザーをこのフォームにリダイレクトすることができます。
query {
node(id:"Z2lkOi8vc2hvcGlmeS9DaGVja291dC81ZDliYTZjOTlhNWY4YTVhNTFiYzllMzlmODEwNTNhYz9rZXk9NWIxZTg5NDQzNTZkMjMxOGU1N2ZlNjQwZDJiNjY1M2Y=" ) {
... on Checkout {
id
webUrl
}
}
}
インラインフラグメント ...on Checkout
に注目してください。これは id
を使ってどのタイプを問い合わせればよいかを示すために必要です。
クエリのルートから始まる node
は Checkout
型を実装したインターフェイスです。この node
インターフェースには Checkout
の id
を渡すことができ、インラインフラグメントは id
が Checkout
型に渡されるべきであることを示しています。
webUrl
のチェックアウトオブジェクトへの問い合わせに成功すると、以下のデータオブジェクトが返されます。
{
"data": {
"node": {
"id": "Z2lkOi8vc2hvcGlmeS9DaGVja291dC81ZDliYTZjOTlhNWY4YTVhNTFiYzllMzlmODEwNTNhYz9rZXk9NWIxZTg5NDQzNTZkMjMxOGU1N2ZlNjQwZDJiNjY1M2Y=",
"webUrl": "https://checkout.myshopify.io/1/checkouts/07e63bcab2b53dc6ac46cbcb6abbca5b?key=4ac66ff3ca2a8d2c25b43d1a6b40d905"
}
}
}
- チェックアウトを作成、変更、および完了する方法については、Storefront API でチェックアウトを作成するを参照してください。
配当金 | Payouts
Shopify はあなたに代わってチェックアウトを処理し、マーチャントへの支払いを行います。
支払いを受ける | Get paid
Shopify のBilling APIを使用して、販売チャネルアプリの料金をマーチャントに請求することができます。
Billing API を使用する場合、マーチャントに毎月の定期的なサブスクリプションを請求するか、または使用料を作成して売上のコミッションを取ることができます。
どちらの課金モデルを使用する場合でも、まずappSubscription リソースを作成する必要があります。
次に、コミッションベースの販売の場合は、使用料を作成する必要があります。
定期的な課金 | Recurring billing
appSubscriptionCreate ミューテーションを使用して、定期的な課金を作成できます。このミューテーションは、アプリのサブスクリプション ID を返します。
手数料の請求 | Charging commissions
コミッションを課金するには、2 つのステップが必要です。
- appSubscriptionCreateミューテーションで利用料金プランを作成します。
- 利用記録を作成します。
コミッションを課金する場合は、アプリの料金がマーチャントの支払いにどのように影響するか、Shopify のプラットフォーム料金がどのように機能するかを認識する必要があります。
次の図は、このプロセスのライフサイクルを示しています。デモのために、アプリは 100 ドルの売上に対して 10%の手数料を請求する必要があります。
Shopify アプリのご紹介
Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。
Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。
Discussion