XCode 16.3 日本語化計画
サブスクリプションの更新日を延長することで、対象となるアクティブな加入者のサービス中断を補償します。
あなたのサービスが一時的に停止したり、イベントがキャンセルされたり、ライブストリーミングイベントが中断したりした場合、顧客達に補償として、有料のアクティブなサブスクリプションの更新日を延長することができます。App Store Server API には、このような延長を要求するための 2 つのエンドポイントが用意されています。
アクティブな自動更新サブスクリプションの更新日を、あなたのサービスに予期せぬ障害が発生した場合に最大 90 日間延長できます。サービスの問題や障害を柔軟に解決できるよう、顧客ごとに 1 年(365日)以内に 2 回まで更新日を延長できます。
更新日延長が正常に完了すると、Apple は顧客に更新されたサブスクリプション更新日を通知するメールを送信します。
更新日を延長できるのは、過去に少なくとも 1 期間分の料金を支払った、アクティブな自動更新サブスクリプションのみです。
以下の型のサブスクリプションは更新日を延長できません。
App Store は、対象となるサブスクリプションの更新日のみを延長しようとします。
家族間共有をサポートする、対象となる購入済みサブスクリプションをシステムが延長すると、家族メンバーのサブスクリプションも自動的に延長されます。ただし、サブスクリプション更新日を延長する エンドポイントでは、家族メンバーのサブスクリプションを直接延長する要求はサポートされていません。
対象となるすべての加入者の更新日延長を要求するには、すべてのアクティブな加入者のサブスクリプション更新日を延長 エンドポイントを呼び出します。サブスクリプションは その productId で指定します。このエンドポイントは、1 回の呼び出しで多数のサブスクリプションに更新日延長を適用できるため便利です。サーバ障害が一部の領域で発生し、他の領域では発生しない場合は、要求本体(object MassExtendRenewalDateRequest)にオプションの storefrontCountryCodes プロパティを含めることで、本体を店頭で制限できます。
単一の加入者の更新日延長を要求するには、サブスクリプション更新日を延長する エンドポイントを呼び出します。サブスクリプションは originalTransactionId で識別します。このエンドポイントを使用して、他のエンドポイントで更新日延長が失敗した場合に再試行します。詳細は、以下の 失敗した場合の再試行 セクションをご覧ください。
すべてのアクティブな加入者のサブスクリプション更新日を延長 エンドポイントへの要求は、加入者数に応じて、完了までに数時間から数日かかる場合があります。App Store サーバは要求の処理中にリアルタイムの通知を送信します。通知には、更新日延長の成功または失敗、そして要求の完了が送信されます。
通知を受信するには、あなたのサーバで App Store Server Notifications V2 をサポートしている必要があります。詳しくは、App Store サーバー通知の有効化 (Enabling App Store Server Notifications) をご覧ください。
以下の表は、通知のリストと、その notificationType および subtype の値を示しています。
通知の型 | サブタイプ | 説明 |
RENEWAL_EXTENDED | (none) | App Store は、特定のサブスクリプションの更新日を延長しました。 |
RENEWAL _EXTENSION | FAILURE | 特定のサブスクリプションの更新日の延長に失敗しました。 |
RENEWAL _EXTENSION | SUMMARY | 要求が完了しました。 |
通知ペイロードの内容の詳細については、responseBodyV2DecodedPayload を参照してください。
サブスクリプション更新日を延長する エンドポイントへの要求の場合、要求が成功すると、App Store Server Notifications は RENEWAL_EXTENDED 通知を送信します。エンドポイントは、その反応本体 object ExtendRenewalDateResponse で詳細情報を返します。
すべてのアクティブな加入者のサブスクリプション更新日を延長 へのあなたの要求が完了しているかどうか確認するには、サブスクリプション更新日延長ステータスの取得 (Get Status of Subscription Renewal Date Extensions) エンドポイントを呼び出します。完了した要求には、更新日延長の成功件数と失敗件数の最終カウントが含まれます。このステータスをオンデマンドで取得する必要がない場合は、前のセクションで説明したように、代わりに App Store Server Notifications を使用してステータス情報を取得してください。
App Store サーバは、すべてのアクティブな加入者のサブスクリプション更新日を延長 のあなたの要求を処理する際に、リアルタイムの通知を送信します。通知は、更新日延長の試行が成功または失敗するたびに送信します。失敗した試行を再試行するには、失敗したサブスクリプションの取引 ID を指定して、サブスクリプション更新日を延長する エンドポイントを呼び出します。以下の手順に従ってください。
元の取引 ID を使用して、顧客のアクティブなサブスクリプションの更新日を延長します。
更新日延長要求が完了したかどうかを確認し、成功または失敗した延長の最終件数を提供します。
object ExtendRenewalDateRequest
個々のサブスクリプションのサブスクリプション更新延長データが含まれる要求本文。
object ExtendRenewalDateResponse
個々の更新日延長が成功したかどうか、および関連する詳細を示す応答。
object MassExtendRenewalDateRequest
すべての対象となるアクティブな加入者に適用するサブスクリプション更新延長データを含む要求本文。
object MassExtendRenewalDateResponse
サーバーがサブスクリプション更新日延長要求を正常に受信したことを示す応答。
object MassExtendRenewalDateStatusResponse
すべての対象加入者に対してサブスクリプションの更新日を延長する要求の現在のステータスを示す応答。