Web Service


Advanced Commerce API (高度な商業 API)


App Store を通じてアプリ内購入をサポートし、カスタムの 1 回限りの購入、サブスクリプション、オプションのアドオンを含むサブスクリプションの非常に大規模なカタログを提供します。





概観


このフレームワークを使用すると、App Store の商業システムを使用しながら、1 回限りの購入、サブスクリプション、およびオプションのアドオンを含むサブスクリプションの非常に大規模なカタログを提供できます。この API を使用するアプリは、独自のアプリ内購入 、SKU カタログをホストして管理します。App Store 商業システムは、エンドツーエンドの支払い処理、グローバル配信、税金サポート、およびカスタマーサービスを処理します。


Advanced Commerce API と StoreKit アプリ内購入 API を同じアプリで使用できます。アプリ内購入 API を使用する場合は、すべての製品 ID を事前に構成して下さい。Advanced Commerce API を使用する場合は、独自の SKU カタログをホストして管理し、実行時に製品の詳細を動的に指定します。完全な設定情報については、Advanced Commerce API 用にプロジェクトを設定する を参照してください。


高度な商業 API 機能は、あなたのアプリで StoreKit を使用して行う要求と、あなたのサーバからのエンドポイント要求を通じて利用できます。これらの要求を承認するには、JSON Web トークン (JWTs) を生成します。App Store サーバライブラリには、呼び出しを承認するための JWT を簡単に作成できるクライアントが用意されています。ライブラリの詳細については、App Store サーバー ライブラリを使用して実装を簡素化する を参照してください。呼び出しの承認の詳細については、あなたのサーバーからの API 要求の承認 を参照してください。


Advanced Commerce API を呼び出すには、あなたのサーバーは Transport Layer Security (TLS) プロトコル 1.2 以降をサポートしていなければなりません。


重要

資格の詳細と Advanced Commerce API へのアクセスの適応については、Advanced Commerce API を参照してください。




トピックス


要点


Advanced Commerce API 用にプロジェクトを設定する

App Store Connect であなたのアプリを構成し、サーバをセットアップして、SKU を準備します。


あなたのアプリ内購入用の SKU を作成する

あなたのアプリ内で、1 回限りの料金、サブスクリプション、バンドルサブスクリプションを定義および管理します。


サブスクリプションを管理するためのリンクを設定する

あなたのアプリのサブスクリプション管理ページへのディープリンクを作成します。


Advanced Commerce API の変更履歴

Advanced Commerce API の新機能と更新について学びます。



税コードと価格


Advanced Cmmerce SKU の価格指定

SKU の価格を、サポートされている小数点以下の桁数(通貨のミリ単位)で提供します。


あなたの SKU の税コードの選択

アプリ内購入としてあなたのアプリが提供する製品を表す各 SKU の税コードを選択します。


サブスクリプション価格の変更への対応

価格変更を開始する前に、顧客に通知し、該当する同意を得るために必要な連絡を行ってください。



API 認証とレート制限


あなたのサーバーからの API 要求の承認

あなたのサーバーからの Advanced Commerce 要求を承認するための JSON Web Token(JWT)を作成します。


Advanced Commerce API のレート制限の特定

Advanced Commerce API エンドポイントに適用されるレート制限を認識し、対処します。



アプリ内 API 要求


あなたのアプリから高度な商業 API 要求を送信する

あなたのサーバ上で生成した JSON Web 署名 (JWS) を使用して承認した Advanced Commerce API (高度な商業 API) 要求をあなたのアプリから送信します。


App Store の要求に署名するための JWS の生成

あなたのアプリ内の API 要求を承認するために、あなたのサーバ上に署名済みの JSON Web 署名 (JWS) 文字列を作成します。



アプリ内での 1 回限りの請求の作成


object OneTimeChargeCreateRequest

顧客が 1 回限りの課金商品を購入したときにあなたのアプリが提供する要求データ。


object OneTimeChargeItem

表示名、価格、SKU、メタデータなど、1 回限りの課金商品の詳細。



アプリ内でのサブスクリプション作成


object SubscriptionCreateRequest

顧客が自動更新サブスクリプションを購入したときにあなたのアプリが提供する要求データ。


object SubscriptionCreateItem

サブスクリプションアイテムを説明するデータ。



アプリ内でのサブスクリプションの変更


object SubscriptionModifyInAppRequest

自動更新サブスクリプションに変更を加えるためにあなたのアプリが提供する要求データ。


object SubscriptionModifyAddItem

自動更新サブスクリプションに変更を加えるときに、あなたのアプリがアイテムを追加するために提供するデータ。


object SubscriptionModifyChangeItem

自動更新サブスクリプションのアイテムを変更するためにあなたのアプリが提供するデータ。


object SubscriptionModifyRemoveItem

自動更新サブスクリプションからアイテムを削除するためにあなたのアプリが提供するデータ。


object SubscriptionModifyPeriodChange

自動更新サブスクリプションの期間を変更するためにあなたのアプリが提供するデータ。



アプリ内でのサブスクリプションの再有効化


object SubscriptionReactivateInAppRequest

自動更新がオフになっているサブスクリプションを再度活性化するためにあなたのアプリが提供する要求。


object SubscriptionReactivateItem

サブスクリプション内で再有効化すべきアイテム。



サーバーからのサブスクリプション価格の変更


サブスクリプションの価格の変更

次回の更新時に、自動更新サブスクリプション、バンドル、またはサブスクリプション内の個々のアイテムの価格を増額または減額します。


object SubscriptionPriceChangeRequest

自動更新サブスクリプションの価格を変更するために使用する要求本文。


object SubscriptionPriceChangeResponse

サブスクリプション価格変更要求後の署名済み JWS 更新および JWS 取引情報を含む応答。



サーバーからのサブスクリプションのキャンセル


サブスクリプションのキャンセル

自動更新をオフにして、顧客の自動更新サブスクリプションをキャンセルします。


object SubscriptionCancelRequest

サブスクリプションの自動更新をオフにするための要求本文。


object SubscriptionCancelResponse

サブスクリプションのキャンセルが成功した場合の応答本文。



サーバーからのサブスクリプションの取り消し


サブスクリプションを取り消す

顧客のサブスクリプションとそれに含まれるすべてのアイテムを直ちにキャンセルし、全額または日割り計算による払い戻しを要求します。


object SubscriptionRevokeRequest

サブスクリプションとそのすべてのアイテムを直ちに終了するためにあなたが提供する要求本文。


object SubscriptionRevokeResponse

サブスクリプション取り消し要求が成功した場合の応答本文。



サーバーからの払い戻し要求


取引の払い戻しを要求する

1 回限りの請求またはサブスクリプション取引の払い戻しを要求します。


object RequestRefundRequest

取引の払い戻しを要求するための要求本文。


object RequestRefundResponse

取引払い戻し要求に対する応答本文。


object RequestRefundItem

アイテムの払い戻し要求に関する情報 (SKU、払い戻し金額、理由、型など)。



サーバーからのサブスクリプションメタデータの変更


サブスクリプションのメタデータの変更

サブスクリプションの請求やそのサービスに影響を与えずに、サブスクリプションに関連した SKU、表示名、説明を更新します。


object SubscriptionChangeMetadataRequest

サブスクリプションのメタデータを変更するために提供する要求本文。


object SubscriptionChangeMetadataResponse

サブスクリプションメタデータの変更が成功した場合の応答本文。


object SubscriptionChangeMetadataDescriptors

変更すべきサブスクリプションのメタデータ、具体的には説明と表示名。


object SubscriptionChangeMetadataItem

アイテムの変更すべきメタデータ、具体的には SKU、説明、表示名。



サーバーからの移行


サブスクリプションを Advanced Commerce API に移行する

顧客がアプリ内購入を通じて購入したサブスクリプションを、Advanced Commerce API を使用して管理するサブスクリプションに移行します。


object SubscriptionMigrateRequest

記述語、アイテム、店頭など、サブスクリプションをアプリ内購入から Advanced Commerce API に移行するためにあなたが提供するサブスクリプションの詳細。


object SubscriptionMigrateResponse

サブスクリプションが Advanced Commerce API に正常に移行された後の、署名された更新および取引情報を含む応答。


object SubscriptionMigrateItem

移行されたサブスクリプションアイテムに使用する SKU、説明、および表示名。


object SubscriptionMigrateRenewalItem

サブスクリプションの更新時に移行されたサブスクリプションアイテムを置き換えるアイテムの情報。


object SubscriptionMigrateDescriptors

あなたが管理している移行先のサブスクリプションの説明と表示名。


オブジェクトとデータ型


データ型


Advanced Commerce API のオブジェクトとデータ型。



署名された取引情報


type JWSRenewalInfo

App Store によって署名された、JSON Web Signature (JWS) 形式のサブスクリプション更新情報。


type JWSTransaction

App Store によって署名された取引情報 (JSON Web Signature (JWS) Compact Serialization 形式)。



エラー処理


エラーメッセージとコード

Advanced Commerce API のエラーメッセージとコード。














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ