📺

【Shopify.dev和訳】Apps/Channels/Checkout API

2021/09/17に公開

この記事について

この記事は、Apps/Channels/Checkout APIの記事を和訳したものです。

記事内で使用する画像は、公式ドキュメント内の画像を引用して使用させていただいております。

Shopify アプリのご紹介

Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。

https://apps.shopify.com/shopify-application-314?locale=ja&from=daniel

Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。

https://apps.shopify.com/font-picker-1?locale=ja&from=daniel

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 リソースを使用します。

  1. チェックアウト オブジェクトの作成に必要なラインアイテム データの取得
  2. 配送情報(住所、料金)と顧客情報を指定します。
  3. アプリに適した支払い完了オプションを使用してチェックアウトを完了する。
    • Shopify ウェブチェックアウト
    • サードパーティートークナイゼーションサービス(Stripe、Spreedly
    • Shopify カードボールト

チェックアウトの例 | Checkout example

REST Admin API

この例では、最も少ない統合作業で済むチェックアウト作成方法を示しています。

あなたのアプリは、商品ごとに Shopify の Web チェックアウトへのチェックアウトリンクを提供することができます。

これにより、あなたのプラットフォームでは、独自のネイティブチェックアウトフォームを構築する代わりに、Shopify の Web チェックアウトを使用することができます。

チェックアウトを作成してウェブ URL を返すには、admin/checkouts.jsonエンドポイントに POST リクエストを送ります。

Terminal
$ 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 チェックアウト体験ができます。

Storefront API

Storefront API を使ってチェックアウトを完了するには、返された webUrl フィールドを使って顧客を Shopify のウェブチェックアウトフォームにリダイレクトします。

チェックアウトフローのどの時点でも、CheckoutwebUrlフィールドを照会することで、ユーザーをこのフォームにリダイレクトすることができます。

Query
query {
  node(id:"Z2lkOi8vc2hvcGlmeS9DaGVja291dC81ZDliYTZjOTlhNWY4YTVhNTFiYzllMzlmODEwNTNhYz9rZXk9NWIxZTg5NDQzNTZkMjMxOGU1N2ZlNjQwZDJiNjY1M2Y=" ) {
    ... on Checkout {
      id
      webUrl
    }
  }
}

インラインフラグメント ...on Checkout に注目してください。これは id を使ってどのタイプを問い合わせればよいかを示すために必要です。

クエリのルートから始まる nodeCheckout 型を実装したインターフェイスです。この node インターフェースには Checkoutid を渡すことができ、インラインフラグメントは idCheckout 型に渡されるべきであることを示しています。

webUrlのチェックアウトオブジェクトへの問い合わせに成功すると、以下のデータオブジェクトが返されます。

{
  "data": {
    "node": {
      "id": "Z2lkOi8vc2hvcGlmeS9DaGVja291dC81ZDliYTZjOTlhNWY4YTVhNTFiYzllMzlmODEwNTNhYz9rZXk9NWIxZTg5NDQzNTZkMjMxOGU1N2ZlNjQwZDJiNjY1M2Y=",
      "webUrl": "https://checkout.myshopify.io/1/checkouts/07e63bcab2b53dc6ac46cbcb6abbca5b?key=4ac66ff3ca2a8d2c25b43d1a6b40d905"
    }
  }
}

配当金 | 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 機能を実現することができます。

https://apps.shopify.com/shopify-application-314?locale=ja&from=daniel

Shopify アプリである、「らくらく日本語フォント設定|リテリア Font Picker」は、ノーコードで日本語フォントを使用できるアプリです。日本語フォントを導入することでブランドを演出することができます。

https://apps.shopify.com/font-picker-1?locale=ja&from=daniel

Discussion

ログインするとコメントできます