📈

【Shopify.dev和訳】AdminAPI/GraphQL reference/Billing

2021/10/01に公開

この記事について

この記事は、AdminAPI/GraphQL reference/Billingの記事を和訳したものです。

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

Billing APIs

1 回限りの料金、固定月額料金、または使用量に応じた変動月額料金を徴収することで、アプリに対する対価を得ることができます。

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

このセクションには以下の内容が含まれます

  • AppCredit - アプリクレジットは、マーチャントの Shopify におけるアプリ購入、サブスクリプション、または使用記録に対して適用することができます。
  • AppPlanInput - アプリサブスクリプションの価格モデルを定義します。
  • AppPlanV2 - マーチャントが購読しているアプリプランを定義します。
  • AppPricingDetails - プラン期間ごとにショップに請求される価格に関する情報です。
  • AppPricingInterval - アプリの課金頻度を指定します。
  • AppPurchase - ストアが一度だけ購入したサービスと機能です。
  • AppPurchaseConfirmation - マーチャントがアプリの購入を承認または拒否する方法を提供します。
  • AppPurchaseOneTime - ストアで一度だけ購入されたサービスと機能です。
  • AppPurchaseStatus - 購入のステータスです。
  • AppRecurringPricing - 間隔ごとに課金される価格です。
  • AppRecurringPricingInput - アプリが請求間隔ごとに課金できるようにします。
  • AppRevenueAttributionRecord - パートナーが外部から獲得したアプリの収益を表します。
  • AppRevenueAttributionRecordInput - アプリの収益帰属レコードを提供できるようにします。
  • AppRevenueAttributionRecordSortKeys - AppRevenueAttributionRecord クエリーで有効なソートキーのセットです。
  • AppRevenueAttributionType - レベニューアトリビューションの課金タイプを表します。
  • AppSubscription - ユーザーに一定期間のサービスおよび/または機能へのアクセスを提供します。
  • AppSubscriptionLineItem - アプリのサブスクリプションにプランをアタッチします。
  • AppSubscriptionLineItemInput - アプリが複数のプランをアプリのサブスクリプションに追加できるようにします。
  • AppSubscriptionSortKeys - AppSubscription クエリの有効なソート キーのセットです。
  • AppSubscriptionStatus - アプリのサブスクリプションのステータスです。
  • AppTransactionSortKeys - AppTransaction クエリの有効なソート キーのセットです。
  • AppUsagePricing - アプリのサブスクリプションの使用料金モデルを定義します。
  • AppUsagePricingInput - アプリがストアに使用料を請求できるようにします。
  • AppUsageRecord - 使用料価格設定のアプリ サブスクリプションのストア使用量です。
  • AppUsageRecordSortKeys - AppUsageRecord クエリの有効なソートキーのセットです。
  • appCreditCreate - アプリがショップのクレジットを作成し、将来のアプリ購入に使用できるようにします。
  • appPurchaseOneTimeCreate - アプリがショップに機能やサービスの料金を 1 回だけ請求できます。
  • appRevenueAttributionRecordCreate - アプリの帰属収益のレコードを作成します。このミューテーションは、Billing API によって管理されないトランザクションをキャプチャするためにのみ使用する必要があります。
  • appRevenueAttributionRecordDelete - アプリの帰属する収益のレコードを削除します。
  • appSubscriptionCancel - ストアのアプリ購読をキャンセルします。
  • appSubscriptionCreate - アプリがストアに対して定期的に機能やサービスの料金を請求できるようにします。
  • appSubscriptionLineItemUpdate - アプリのサブスクリプションに添付されたアプリプランの価格詳細を更新します。
  • appUsageRecordCreate - 使用量に対してストアに課金するアプリを許可します。

UNIONS

AppPricingDetails union

プラン期間ごとにショップに請求される価格に関する情報。

Possible types

AppCredit object

アプリクレジットは、マーチャントが今後のアプリ購入、サブスクリプション、Shopify での使用記録に対して適用することができます。

Fields

amountMoneyV2!
Shopify での今後のアプリ購入に使用できる金額です。

createdAtDateTime!
アプリのクレジットが作成された日付と時間

descriptionString

idID!
グローバルに一意な識別子です。

testBoolean!
アプリクレジットがテストトランザクションであるかどうか。

AppCredit の返却型

AppCredit のミューテーション

[appCreditCreate](https://shopify.dev/api/admin/graphql/reference/billing/appcreditcreate)
アプリが、今後のアプリの購入に使用できるショップのクレジットを作成できるようにします。

Implements

  • Node
    複数の AppCredit をページングするために自動生成されるタイプです。

フィールド

edges[AppCreditEdge!]!
エッジのリストです。

pageInfoPageInfo!
ページネーションを補助する情報

自動生成されたタイプで、ページネーションの際に 1 つの AppCredit とカーソルを保持します。

フィールド

cursorString!
ページネーションで使用するカーソルです。

nodeAppCredit!
AppCreditEdge の末尾の項目です。

AppCreditEdge の返却型

Samples

# Shopifyでの今後のアプリ購入に使用できる最初の5つのアプリクレジットの金額を得ることができます。
{
  appInstallation {
    credits(first: 5) {
      edges {
        node {
          amount {
            amount
            currencyCode
          }
        }
      }
    }
  }
}
# アプリのクレジットが作成された日時の取得
{
  appInstallation {
    credits(first: 5) {
      edges {
        node {
          createdAt
        }
      }
    }
  }
}
# アプリのクレジットがテストトランザクションであるかどうかの情報を得る
{
  appInstallation {
    credits(first: 5) {
      edges {
        node {
          test
        }
      }
    }
  }
}

AppPlanV2 object

マーチャントが加入しているアプリプランを定義します。

フィールド

pricingDetailsAppPricingDetails!
アプリのサブスクリプションの価格モデルを定義します。

AppPlabV2 の返却型

AppPurchaseConfirmation object

マーチャントがアプリの購入を承認または拒否する方法を提供します。

フィールド

urlURL!
マーチャントがアプリの購入を承認または辞退する URL です。

AppPurchaseConfirmation の返却型

AppPurchaseOneTime object

ストアで一度だけ購入されたサービスや機能

フィールド

createdAt (DateTime!)
アプリが購入された日時です。

idID!
グローバルに一意な識別子

nameString!
アプリ購入の名前です。

priceMoneyV2!
アプリ購入のためにストアに請求される金額です。

statusAppPurchaseStatus!
アプリ購入のステータスです。可能な値は、pending(保留)、active(有効)、decroved(拒否)、canceled(キャンセル)です。

test (Boolean!)
アプリの購入がテストトランザクションであるかどうか。

AppPurchaseOneTime の返却型

AppPurchaseOneTime のミューテーション

[appPurchaseOneTimeCreate](https://shopify.dev/api/admin/graphql/reference/billing/apppurchaseonetimecreate)
アプリが機能やサービスの料金をショップに 1 回請求できるようにします。

Implements

複数の AppPurchaseOneTimes をページングするための自動生成タイプです。

フィールド

自動生成されたタイプで、1 つの AppPurchaseOneTime とページネーション時のカーソルを保持します。

フィールド

cursorString!
ページネーションで使用されるカーソルです。

nodeAppPurchaseOneTime!
AppPurchaseOneTimeEdge の最後にある項目です。

AppPurchaseOneTimeEdge の返却型

Samples

# 1つのアプリの購入名を取得
{
  node(id: "gid://shopify/AppPurchaseOneTime/5308422") {
    ... on AppPurchaseOneTime {
      name
    }
  }
}
# 最初に購入した2つのアプリの名前を取得
{
  currentAppInstallation {
    oneTimePurchases(first: 2) {
      edges {
        node {
          name
        }
      }
    }
  }
}
# アプリの購入がテスト取引であったかどうかの情報を得る
{
  currentAppInstallation {
    oneTimePurchases(first: 2) {
      edges {
        node {
          test
        }
      }
    }
  }
}
# アプリの作成日時、購入状況を取得する
{
  currentAppInstallation {
    oneTimePurchases(first: 2) {
      edges {
        node {
          createdAt
          status
        }
      }
    }
  }
}
# アプリの購入でストアに請求される金額を取得する
{
  currentAppInstallation {
    oneTimePurchases(first: 2) {
      edges {
        node {
          price {
            amount
            currencyCode
          }
        }
      }
    }
  }
}

AppRecurringPricing object

インターバルごとに課金されます。

フィールド

intervalAppPricingInterval!
アプリのサブスクリプションの 1 請求サイクルの日数を指定します。

priceMoneyV2!
課金間隔ごとにお店に請求される金額。

AppRevenueAttributionRecord object

パートナーが外部から獲得したアプリの収益を表します。

必要なアクセス

オフライントークンを使用して app_attributions スコープを持つアプリにのみアクセスできます。この API はプライベートプログラムのため、すべてのパートナーが利用できるわけではありません。

フィールド

amount (MoneyV2!)
このアトリビューションでキャプチャされた金銭的な金額。

capturedAt (DateTime!)
金融額がキャプチャされたタイムスタンプ。

createdAt (DateTime!)
この収益アトリビューションが発行された時のタイムスタンプ。

id (ID!)
グローバルに一意な識別子です。

idempotencyKey (String!)
アプリの収益帰属レコードの作成時に提出された一意の値です。詳細については、「Idempotent requests」を参照してください。

test (Boolean!)
これがテスト送信であるかどうかを示します。

type (AppRevenueAttributionType!)
収益アトリビューションのタイプです。

AppRevenueAttributionRecord の返却型

AppRevenueAttributionRecord のミューテーション

appRevenueAttributionRecordCreate
アプリの帰属収益のレコードを作成します。このミューテーションは、Billing API によって管理されていないトランザクションをキャプチャするためにのみ使用する必要があります。

appRevenueAttributionRecordDelete
アプリの帰属する収益のレコードを削除します。

Implements

  • Node
    複数の AppRevenueAttributionRecord をページングするための自動生成タイプです。

フィールド

edges ([AppRevenueAttributionRecordEdge!]!)
エッジのリストです。

pageInfo (PageInfo!)
ページネーションを補助するための情報。

1 つの AppRevenueAttributionRecord とページネーション時のカーソルを保持する自動生成タイプ。

フィールド

cursor (String!)
ページネーションで使用するカーソルです。

node (AppRevenueAttributionRecord!)
AppRevenueAttributionRecordEdge の末尾の項目。

AppRevenueAttributionRecordEdge の返却型

AppSubscription object

一定期間、ユーザーにサービスや機能へのアクセスを提供します。

フィールド

createdAt (DateTime!)
アプリのサブスクリプションが作成された日付と時刻。

currentPeriodEnd (DateTime)
現在のアプリ購読期間が終了した日時。

id (ID!)
グローバルに一意な識別子です。

lineItems ([AppSubscriptionLineItem!]!)
プランをアプリサブスクリプションにアタッチします。

name (String!)
アプリサブスクリプションの名前。

returnUrl (URL!)
アプリ購読の承認後にマーチャントがリダイレクトされる URL。

status (AppSubscriptionStatus!)
アプリ購読のステータス。可能な値は、pending、active、decroved、expired、frozen、canceled です。

test (Boolean!)
アプリのサブスクリプションがテストトランザクションであるかどうかを指定します。

trialDays (Int!)
無料トライアルの日数を指定します。

AppSubscription の返却型

AppSubscription のミューテーション

appSubscriptionCancel
ストアのアプリ購読をキャンセルします。

appSubscriptionCreate
アプリがストアに機能やサービスの料金を定期的に請求できるようにします。

Implements

  • Node
    複数の AppSubscription をページングするために自動生成されるタイプです。

フィールド

edges ([AppSubscriptionEdge!]!)
エッジのリストです。

pageInfo (PageInfo!)
ページネーションを補助するための情報。

自動生成されたタイプで、ページネーションの際に 1 つの AppSubscription とカーソルを保持します。

フィールド

cursor (String!)
ページネーションで使用するためのカーソル。

node (AppSubscription!)
AppSubscriptionEdge の末尾の項目。

AppSubscriptionEdge の返却型

Samples

# 現行アプリの最初の10回分のサブスクリプションを取得する
{
  currentAppInstallation {
    allSubscriptions(first: 10) {
      edges {
        node {
          createdAt
          id
          name
          status
          test
        }
      }
    }
  }
}
# nodeフィールドとGraphQLフラグメントを使って、単一のサブスクリプションをIDで取得する
{
  node(id: "gid://shopify/AppSubscription/4019585080") {
    ... on AppSubscription {
      createdAt
      currentPeriodEnd
      id
      name
      status
      test
    }
  }
}
# 複数のサブスクリプションの定期購入や使用料の情報を取得
  currentAppInstallation {
    allSubscriptions(first: 10) {
      edges {
        node {
          lineItems {
            plan {
              pricingDetails {
                __typename
                ... on AppRecurringPricing {
                  price {
                    amount
                    currencyCode
                  }
                }
                ... on AppUsagePricing {
                  balanceUsed {
                    amount
                    currencyCode
                  }
                }
              }
            }
          }
          createdAt
          id
          name
          status
          test
        }
      }
    }
  }
}

AppSubscriptionLineItem object

プランをアプリのサブスクリプションに添付します。

Connections

usageRecords (AppUsageRecordConnection!

使用料金プランのストアの使用量を一覧表示します。

引数 詳細
afterString 指定されたカーソルの後に来る要素を返します。
beforeString 指定されたカーソルの前にある要素を返します。
firstInt リストから最初のn個の要素までを返します。
lastInt リストから最後のn個までの要素を返します。
reverseBoolean 対象となるリストの順序を逆にします。デフォルト値:false
sortKeyAppUsageRecordSoftKeys 基礎となるリストを、与えられたキーでソートします。デフォルトの値はCREATED_AT

フィールド

idID!
グローバルに一意な識別子です。

planAppPlanV2!
アプリのサブスクリプションの価格モデルを定義します。

AppSubscriptionLineItem の返却型

AppSubscriptionLineItem のミューテーション

appSubscriptionLineItemUpdate
アプリのサブスクリプションに添付されているアプリプランの価格詳細を更新します。

AppUsagePricing object

アプリサブスクリプションの使用料金モデルを定義します。

フィールド

balanceUsed (MoneyV2!)
インターバルの総使用記録。

cappedAmount (MoneyV2!)
使用量ベースの価格設定でストアが請求できる上限。

interval (AppPricingInterval!)
使用量記録を適用する間隔を指定します。

terms (String!)
アプリ使用量ベースの価格設定の条件。

AppUsageRecord object

アプリサブスクリプションの使用量を使用料金で保存します。

フィールド

createdAt (DateTime!)
使用記録が作成された日付と時間。

description (String!)
アプリの使用記録の説明です。

id (ID!)
グローバルに一意な識別子。

price (MoneyV2!)
利用記録の価格です。許可される通貨コードは USD のみです。

subscriptionLineItem (AppSubscriptionLineItem!)
マーチャントがサブスクライブしている利用料金プランを定義します。

AppUsageRecord の返却型

AppUsageRecord のミューテーション

appUsageRecordCreate
アプリが店舗に使用料を請求できるようになります。

Implements

  • Node
    複数の AppUsageRecord をページングするための自動生成タイプです。

フィールド

edges ([AppUsageRecordEdge!]!)
エッジのリスト。

pageInfo (PageInfo!)
ページネーションを補助するための情報。

自動生成されたタイプで、1 つの AppUsageRecord とページネーション時のカーソルを保持します。

フィールド

cursor (String!)
ページネーションで使用するカーソルです。

node (AppUsageRecord!)
AppUsageRecordEdge の末尾の項目。

AppUsageRecordEdge の返却型

Samples

# 複数のアプリのサブスクリプションのストア使用量を使用量価格で取得
{
  currentAppInstallation {
    allSubscriptions(first: 10) {
      edges {
        node {
          id
          status
          lineItems {
            id
            usageRecords(first: 5) {
              edges {
                node {
                  id
                  description
                  createdAt
                  price {
                    amount
                    currencyCode
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
# 特定のサブスクリプションで最初の5つのアプリ使用記録を取得
{
  node(id: "gid://shopify/AppSubscription/4019585080") {
    ... on AppSubscription {
      lineItems {
        usageRecords(first: 5) {
          edges {
            node {
              id
              description
              createdAt
              price {
                amount
                currencyCode
              }
            }
          }
        }
      }
    }
  }
}

Mutation

appCreditCreate mutation

アプリでショップのクレジットを作成し、次回以降のアプリ購入時に使用することができます。

Interactive example

これは、ミューテーションクエリの例です。

mutation appCreditCreate($description: String!, $amount: MoneyInput!) {
  appCreditCreate(description: $description, amount: $amount) {
    appCredit {
      id
    }
    userErrors {
      field
      message
    }
  }
}

Variables

{
  "description": "placeholder",
  "amount": {
    "amount": "placeholder",
    "currencyCode": "placeholder"
  }
}

引数

引数 詳細
amount ( MoneyInput! ) required Shopify での今後のアプリ購入に使用できる金額です。許可されている通貨コードは USD のみです。
description ( String! ) required アプリのクレジットの説明です。
test ( Boolean ) アプリのクレジットがテストトランザクションであるかどうかを指定します。デフォルト値:false

MoneyInput fields

amountDecimal!required
10 進数の金額。

currencyCodeCurrencyCode!required
お金の通貨

返却フィールド

appCreditAppCredit
新しく作られたアプリのクレジットです。

userErrors[UserError!]!
ミューテーションを実行して発生したエラーのリストです。

appPurchaseOneTimeCreate mutation

アプリがショップに機能やサービスの対価を一度だけ請求することができます。

Interactive example

以下は、ミューテーションクエリの例です。

mutation appPurchaseOneTimeCreate($name: String!, $price: MoneyInput!, $returnUrl: URL!) {
  appPurchaseOneTimeCreate(name: $name, price: $price, returnUrl: $returnUrl) {
    appPurchaseOneTime {
      id
    }
    confirmationUrl
    userErrors {
      field
      message
    }
  }
}

Variables

{
  "name": "placeholder",
  "price": {
    "amount": "placeholder",
    "currencyCode": "placeholder"
  },
  "returnUrl": "placeholder"
}

引数

引数 詳細
name ( String! ) required アプリの一括購入の名称です。
price ( MoneyInput! ) required アプリの 1 回限りの購入でストアに請求する金額です。許可される通貨コードは USD のみです。
returnUrl ( URL! ) required アプリのワンタイムパーチェスを承認した後にマーチャントがリダイレクトされる URL です。
test ( Boolean ) アプリのワンタイムパーチェスがテストトランザクションであるかどうかを指定します。デフォルト値:false

MoneyInput fields

amountDecimal!required
10 進数の金額。

currencyCodeCurrencyCode!required
お金の通貨

返却フィールド

appPurchaseOneTimeAppPurchaseOneTime
新しく作成されたアプリのワンタイム購入。

confirmationUrlURL
マーチャントがアプリワンタイム購入を承認または拒否するための URL。

userErrors[UserError!]!
ミューテーションを実行した際に発生したエラーのリスト。

appRevenueAttributionRecordCreate mutation

アプリの帰属収入のレコードを作成します。このミューテーションは、Billing API で管理されていないトランザクションをキャプチャするためにのみ使用してください。

Interactive example

これはミューテーションクエリの例です。

mutation appRevenueAttributionRecordCreate(
  $appRevenueAttributionRecord: AppRevenueAttributionRecordInput!
) {
  appRevenueAttributionRecordCreate(appRevenueAttributionRecord: $appRevenueAttributionRecord) {
    appRevenueAttributionRecord {
      id
    }
    userErrors {
      code
      field
      message
    }
  }
}

Variables

{
  "appRevenueAttributionRecord": {
    "idempotencyKey": "placeholder",
    "capturedAt": "placeholder",
    "amount": {
      "amount": "placeholder",
      "currencyCode": "placeholder"
    },
    "type": "placeholder",
    "test": true
  }
}
引数 詳細
appRevenueAttributionRecord ( AppRevenueAttributionRecordInput! ) required 作成されるアプリの収益帰属レコードです。

AppRevenueAttributionRecordInput フィールド

amountMoneyInput!required
このアトリビューションで捕捉された金銭的金額

capturedAtDateTime!required
金額がキャプチャされた時のタイムスタンプ。

idemotencyKeyString!required
作成時に送信された一意の値です。詳細については、「Idempotent requests」を参照してください。

testBoolean!required
これがテスト投稿であるかどうかを示します。

typeAppRevenueAttributionTyperequired
収益帰属のタイプ。

返却フィールド

appRevenueAttributionRecordAppRevenueAttributionrecord
作成されたアプリの収益アトリビューションレコードです。

userErrors[AppRevenueAttributionRecordCreateUserError!]!
変異を実行して発生したエラーのリストです。

appRevenueAttributionRecordDelete mutation

アプリの帰属収入の記録を削除します。

必要なアクセス

オフライントークンを使用して、app_attributionsスコープを持つアプリにのみアクセスが許可されます。この API はプライベートプログラムであり、すべてのパートナーが利用できるわけではありません。

Intaractive example

以下はミューテーションクエリの例です。

mutation appRevenueAttributionRecordDelete($id: ID!) {
  appRevenueAttributionRecordDelete(id: $id) {
    deletedId
    userErrors {
      code
      field
      message
    }
  }
}

Variables

{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
}

Arguments

引数 詳細
id(ID!required レベニューアトリビューションレコードの一意の識別子。

返却フィールド

deletedIdID
削除されたレベニューアトリビューションがあれば

userErrors[AppRevenueAttributionRecordDeleteUserError!]!
ミューテーションを実行して発生したエラーのリストです。

appSubscriptionCancel mutation

ストアのアプリ購読をキャンセルします。

Interactive example

以下は、ミューテーションの例です。

mutation appSubscriptionCancel($id: ID!) {
  appSubscriptionCancel(id: $id) {
    appSubscription {
      id
    }
    userErrors {
      field
      message
    }
  }
}

Variables

{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE="
}

引数

引数 詳細
id(IDrequired キャンセルするアプリサブスクリプションの ID。

返却フィールド

appSubscriptionAppSubscription
解約したアプリのサブスクリプション

userErrors[UserError!]!
ミューテーションを実行して発生したエラーのリストです。

appSubscriptionCreate mutation

アプリが店舗に対して、機能やサービスの対価を定期的に請求できるようになります。

Interactive example

以下はミューテーションクエリの例です。

mutation appSubscriptionCreate(
  $name: String!
  $lineItems: [AppSubscriptionLineItemInput!]!
  $returnUrl: URL!
) {
  appSubscriptionCreate(name: $name, lineItems: $lineItems, returnUrl: $returnUrl) {
    appSubscription {
      id
    }
    confirmationUrl
    userErrors {
      field
      message
    }
  }
}

Variable

{
  "name": "placeholder",
  "lineItems": [
    {
      "plan": {}
    }
  ],
  "returnUrl": "placeholder"
}

引数

引数 詳細
lineItems ( [AppSubscriptionLineItemInput!]! ) required アプリのサブスクリプションにプランを追加します。
name ( String! ) required アプリのサブスクリプションの名前です。
returnUrl ( URL! ) required アプリの購読を承認した後にマーチャントがリダイレクトされる URL です。
test ( Boolean ) アプリのサブスクリプションがテストトランザクションであるかどうかを指定します。デフォルト値は false です。
trialDays ( Int ) 無料体験の日数

AppSubscriptionLineItemInput フィールド

planAppPlanInput!required
アプリのサブスクリプションの価格モデルを定義します。

返却フィールド

appSubscriptionAppSubscription
新しく作成されたアプリのサブスクリプションです。

confirmationUrlURL
マーチャントがアプリ購読を承認または辞退するための URL。

userErrors[UserError!]!
ミューテーションを実行して発生したエラーのリストです。

appSubscriptionLineItemUpdate mutation

アプリのサブスクリプションに添付されているアプリプランの価格詳細を更新します。

Intaractive example

以下がミューテーションの例です。

mutation appSubscriptionLineItemUpdate($id: ID!, $cappedAmount: MoneyInput!) {
  appSubscriptionLineItemUpdate(id: $id, cappedAmount: $cappedAmount) {
    appSubscription {
      id
    }
    confirmationUrl
    userErrors {
      field
      message
    }
  }
}
{
  "id": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "cappedAmount": {
    "amount": "placeholder",
    "currencyCode": "placeholder"
  }
}

引数

引数 詳細
cappedAmount ( MoneyInput! ) required 利用料金の更新上限額です。
id ( ID! ) required 更新されるアプリのサブスクリプションのラインアイテムの ID です。

MoneyInput フィールド

amountDecimal!required
小数点以下の金額。

currencyCodeCurrencyCode!required
お金の通貨

返却フィールド

appSubscriptionAppSubscription
更新されたアプリのサブスクリプション。

confirmationUrlURL
マーチャントが更新されたアプリ購読のラインアイテムを承認または辞退する URL。

userErrors[UserError!]!
ミューテーションを実行して発生したエラーのリストです。

appUsageRecordCreate mutation

アプリが店舗に使用料を請求できるようになります。

Intaractive example

以下はミューテーションクエリの例です。

mutation appUsageRecordCreate(
  $subscriptionLineItemId: ID!
  $price: MoneyInput!
  $description: String!
) {
  appUsageRecordCreate(
    subscriptionLineItemId: $subscriptionLineItemId
    price: $price
    description: $description
  ) {
    appUsageRecord {
      id
    }
    userErrors {
      field
      message
    }
  }
}
{
  "subscriptionLineItemId": "Z2lkOi8vU2hvcGlmeS9FeGFtcGxlLzE=",
  "price": {
    "amount": "placeholder",
    "currencyCode": "placeholder"
  },
  "description": "placeholder"
}

引数

引数 詳細
description ( String! ) required アプリの使用記録の説明です。
price ( MoneyInput! ) required アプリの使用記録の価格です。許可される通貨コードは USD のみです。
subscriptionLineItemId ( ID! ) required アプリのサブスクリプションラインアイテムの ID です。

MoneyInput フィールド

amountDecimal!required
小数点以下の金額。

currencyCodeCurrencyCode!required
お金の通貨

返却フィールド

appUsageRecordAppUsageRecord

userErrors[UserError!]!

INTERFACES

AppPurchase interface

お店で一度購入したサービスや機能

フィールド

createdAt (DateTime!)
アプリの購入が作成された日時です。

name (String!)
アプリ購入の名前です。

price (MoneyV2!)
アプリ購入のためにストアに請求される金額です。

status (AppPurchaseStatus!)
アプリ購入のステータスです。可能な値は、pending(保留)、active(有効)、decroved(拒否)、canceled(キャンセル)です。

test (Boolean!)
アプリの購入がテストトランザクションであるかどうか。

AppPurchase を実装するタイプ

INPUTS

AppPlanInput input object

アプリのサブスクリプションの価格モデルを定義します。

Input フィールド

appRecurringPricingDetails (AppRecurringPricingInput)
定期的に発生する課金の価格設定の詳細です。

appUsagePricingDetails (AppUsagePricingInput)
使用量ベースの課金価格の詳細を入力します。

AppRecurringPricingInput input object

アプリが請求間隔ごとに課金できるようにします。

Input フィールド

interval (AppPricingInterval)
アプリサブスクリプションの課金頻度を指定します。

price (MoneyInput!) required
課金間隔ごとにストアに請求される金額です。許可される通貨コードは USD のみです。

AppRevenueAttributionRecordInput input object

アプリの収益帰属の記録を提供することができます。

Input フィールド

amount (MoneyInput!) required
このアトリビューションで捕捉された金銭的金額

capturedAt (DateTime!) required
金額がキャプチャされた時のタイムスタンプ。

idempotencyKey (String!) required
作成時に送信された一意の値です。詳細については、「Idempotent requests」を参照してください。

test (Boolean!) required
これがテスト投稿であるかどうかを示します。

type (AppRevenueAttributionType!) required
収益帰属のタイプ。

AppSubscriptionLineItemInput input object

アプリのサブスクリプションに複数のプランを追加できるようになります。

Input フィールド

plan (AppPlanInput!) required
アプリのサブスクリプションの価格モデルを定義します。

AppUsagePricingInput input object

アプリが店舗に使用料を請求できるようになります。

Input フィールド

cappedAmount (MoneyInput!) required
使用量ベースの価格で顧客が請求できる上限です。

terms (String!) required
アプリの使用条件です。

ENUMS

AppPricingInterval enum

アプリの課金頻度です。

Values

ANNUAL
マーチャントはこのアプリの請求を毎年行います。

EVERY_30_DAYS
マーチャントは 30 日ごとにこのアプリの課金を行います。

AppPricingInterval の返却型

AppPurchaseStatus enum

購入の状況です。

Values

ACCEPTED
アプリ購入がマーチャントによって承認され、アプリでアクティベートできる状態になっています。GraphQL Admin API で作成されたアプリ購入は、承認されると有効になります。

ACTIVE
アプリの購入がアプリによって有効化されました。アクティブなアプリ購入はストアに課金され、パートナーはアクティブなアプリ購入に対する報酬を受け取ります。

DECLINED
アプリの購入がマーチャントによって拒否されました。

EXPIRED
アプリ購入が作成されてから 2 日以内に受け付けられませんでした。

PENDING
アプリの購入はマーチャントの承認待ちです。

AppPurchaseStatus の返却型

AppRevenueAttributionRecordSortKeys enum

AppRevenueAttributionRecord クエリの有効なソートキーのセットです。

Values

CREATED_AT
created_atの値でソートします。

ID
idの値でソートします。

RELEVANCE
検索時(接続時にクエリ・パラメータが指定されている場合)に、検索語との関連性で結果をソートします。検索クエリが指定されていない場合、このソートキーは確定的ではないため、使用しないでください。

AppRevenueAttributionType enum

収益帰属の課金タイプを表します。

Values

APPLICATION_PURCHASE
アプリの購入に関連する収益の収集。

APPLICATION_SUBSCRIPTION
アプリのサブスクリプションに関する収益コレクション。

APPLICATION_USAGE
アプリの使用量に応じた収益の計上。

OTHER
その他のアプリの収益収集タイプ。

AppRevenueAttributionType の返却型

AppSubscriptionSortKeys enum

AppSubscription のクエリで有効なソートキーのセットです。

Values

CREATED_AT
created_atの値でソートします。

ID
idの値でソートします。

RELEVANCE
検索時(接続時にクエリ・パラメータが指定されている場合)に、検索語との関連性で結果をソートします。検索クエリが指定されていない場合、このソートキーは確定的ではないため、使用しないでください。

AppSubscriptionStatus enum

Values

ACCEPTED
アプリのサブスクリプションがマーチャントによって承認され、アプリでアクティベートする準備が整いました。GraphQL Admin API を介して作成されたアプリのサブスクリプションは、承認されるとアクティブになります。

ACTIVE
アプリのサブスクリプションは、アプリによってアクティベートされました。アクティブなアプリのサブスクリプションはストアに課金され、パートナーはアクティブなアプリのサブスクリプションに対する支払いを受け取ります。

CANCELLED
アプリのサブスクリプションは、アプリによってキャンセルされました。

DECLINED
アプリのサブスクリプションはマーチャントによって拒否されました。

EXPIRED
アプリのサブスクリプションが作成されてから 2 日以内に受け付けられませんでした。

FROZEN
アプリのサブスクリプションは、ストアのサブスクリプションの未払いのために保留されています。購読料の支払いが再開されると、料金は再び有効になります。

PENDING
アプリのサブスクリプションは、マーチャントによる承認待ちの状態です。

AppSubscriptionStatus の返却型

AppTransactionSortKeys enum

AppTransaction のクエリに有効なソートキーのセットです。

Values

CREATED_AT
created_atの値でソートします。

ID
idの値でソートします。

RELEVANCE
検索時(接続時にクエリ・パラメータが指定されている場合)に、検索語との関連性で結果をソートします。検索クエリが指定されていない場合、このソートキーは確定的ではないため、使用しないでください。

AppUsageRecordSortKeys enum

AppUsageRecord のクエリで有効なソートキーのセットです。

Values

CREATED_AT
created_atの値でソートします。

ID
idの値でソートします。

RELEVANCE
検索時(接続時にクエリ・パラメータが指定されている場合)に、検索語との関連性で結果をソートします。検索クエリが指定されていない場合、このソートキーは確定的ではないため、使用しないでください。

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

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