Web サービスエンドポイント


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


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


Advanced Commerce API 1.0+





URL


POST https://api.storekit.itunes.apple.com/advancedCommerce/v1/subscription/changePrice/
{transactionId}


サンドボックス URL


POST https://api.storekit-sandbox.itunes.apple.com/advancedCommerce/v1/subscription/changePrice/{transactionId}


パスパラメータ


transactionId
string
(必須)価格変更の対象となる自動更新サブスクリプションの取引 ID。サブスクリプションの元の取引 ID、またはサブスクリプションに関連する取引のそれ以降の取引 ID を使用してください。


HTTP 本体


SubscriptionPriceChange
Request
価格変更の詳細を含む要求本文。
Content-Type: application/json


応答コード


200
SubscriptionPriceChange
Response
OK
成功しました。
Content-Type: application/json
400
(NullRequestInfoError |
NullItemsError | Null
SKUError
| InvalidApp
AccountTokenError
|
NullRequestReference
IDError
| Invalid
RequestReferenceIDError
| InvalidConsistency
TokenError
| Invalid
StorefrontError
|
InvalidCurrencyError |
NegativePriceError | SKULengthExceededError
| DescriptionLength
ExceededError
| Display
NameLengthExceededError

| InvalidProductError |
InvalidSKUError |
MismatchedStorefront
Error
| MissingPricing
ConfigForStorefront
Error
| OperationNot
AllowedError
| MalformedPayloadError)
不正な要求です
Content-Type: application/json
401許可されていません
403
(SubscriptionDoesNot
ExistError
| SubscriptionNotEligible
Error
)
禁止されている
Content-Type: application/json
404
TransactionIdNotFound
Error
見つからない
Content-Type: application/json
429
RateLimitExceededError
Content-Type: application/json
500
(GeneralInternalError | GeneralInternal
RetryableError
)
内部サーバーエラー
Content-Type: application/json

以下で言及


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


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


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



議論


サブスクリプション、またはその中のバンドルやアイテムの価格変更の最終ステップとして、このエンドポイントを呼び出して下さい。価格変更の種類によっては、顧客達に変更内容をお知らせしたり、同意を得たりする必要があります。お知らせのタイミングなど、必要な情報の詳細については、サブスクリプション価格の変更への対応 をご覧ください。


価格変更の対象は、課金の再試行状態ではないアクティブなサブスクリプションのみです。このエンドポイントを呼び出すと、価格変更は次回のサブスクリプション更新時に有効になります。更新時に価格変更を有効にするには、更新日の 24 時間前までにこのエンドポイントを呼び出してください。


価格の指定については、高度な商業 SKU の価格を指定する を参照してください。



顧客達に通知し、必要なら同意を得る


顧客に価格変更を伝える必要があるかどうかを、以下のように判断します。


  • 価格を下げる場合、顧客とのやり取りは必要ありません。価格を下げたいときはいつでも、このエンドポイントを呼び出すことができます。

  • サブスクリプション価格を値上げする場合は、事前に顧客に通知する必要があります。また、一部の値上げでは顧客の同意も必要です。価格の同意が必要かどうか、また顧客への連絡方法とそのタイミングについては、サブスクリプション価格の変更への対応 をご覧ください。

  • 重要

    価格値上げについては、メール、アプリ内メッセージ、プッシュ通知などを通じてあなたの顧客に連絡する必要があります。価格変更の同意が必要かどうか、また顧客への連絡方法とそのタイミングについては、サブスクリプション価格の変更への対応 をご覧ください。


    SKU の値上げ


    サブスクリプションに関連した SKU (サブスクリプション自体、バンドル、個々のアイテムなど) の値上げする場合は、次の手順に従ってください。


    1. 値上げに顧客の同意が必要かどうかを判断します。

    2. 値上げに顧客の同意が必要ない場合は、サブスクリプション価格の変更への対応 の説明に従って、事前に顧客に値上げを通知します。そして、顧客に通知した後、このエンドポイントを呼び出します。

    3. 値上げに顧客の同意が必要な場合は、顧客の同意を得た場合にのみこのエンドポイントを呼び出します。値上げに顧客の同意が得られない場合は、このエンドポイントを呼び出さず、既存の価格を維持して下さい。


    要求と応答の例


    以下の要求では、


  • サブスクリプションには複数のアイテムが含まれており、そのうち 1 つのアイテムのみが 12.99 USD に値上げされます。

  • 値上げは次回のサブスクリプション更新時に有効になります。

  • 復号された署名済み取引には、値上げ前の現在の期間の価格が表示されます。

  • 復号された署名済み更新情報には、次回の更新期間から有効になる値上げ後の価格が表示されます。

  • 要求応答(復号された署名済み取引)応答(復号された署名済み更新情報)

    {
        "requestInfo": {
            "requestReferenceId": "7c80bb86-f892-4b21-a919-1357811d6c4f"
        },
        "currency": "USD",
        "storefront": "USA",
        "items": [
            {
                "SKU": "AD_FREE_1M",
                "price": 12990
            }
        ]
    }
    

    応答(復号された署名済み取引)


    {
        "transactionId": "12345",
        "originalTransactionId": "12345",
        "webOrderLineItemId": "23456",
        "bundleId": "com.example",
        "productId": "com.example.base",
        "subscriptionGroupIdentifier": "34567",
        "purchaseDate": 1735718400000,
        "originalPurchaseDate": 1735718400000,
        "expiresDate": 1738396800000,
        "quantity": 1,
        "type": "Auto-Renewable Subscription",
        "inAppOwnershipType": "PURCHASED",
        "signedDate": 1735718400000,
        "environment": "Production",
        "transactionReason": "PURCHASE",
        "storefront": "USA",
        "storefrontId": "143441",
        "price": 12980,
        "currency": "USD",
        "appTransactionId": "45678",
        "appAccountToken": "3152947d-8f63-41c2-9a91-e92e45f145e9",
        "advancedCommerceInfo": {
            "estimatedTax": 0,
            "taxRate": "0",
            "taxCode": "C003-00-1",
            "taxExclusivePrice": 12980,
            "descriptors": {
                "displayName": "Ad-free and advanced feature package",
                "description": "Remove ads and unlock advanced features."
            },
            "items": [
                {
                    "SKU": "AD_FREE_1M",
                    "displayName": "Ad-free monthly plan",
                    "description": "Remove ads for the service.",
                    "price": 9990
                },
                {
                    "SKU": "ADVANCED_FEATURES_1M",
                    "displayName": "Advanced feature monthly plan",
                    "description": "Unlock advanced features for the month.",
                    "price": 3990,
                    "offer": {
                        "price": 2990,
                        "period": "P1M",
                        "periodCount": 3,
                        "reason": "ACQUISITION"
                    }
                }
            ],
            "requestReferenceId": "932c6903-0ab8-4469-9f21-015f6fab013c",
            "period": "P1M"
        }
    }
    

    応答(復号された署名済み更新情報)


    {
        "originalTransactionId": "12345",
        "autoRenewProductId": "com.example.base",
        "productId": "com.example.base",
        "autoRenewStatus": 1,
        "signedDate": 1735718400000,
        "environment": "Production",
        "recentSubscriptionStartDate": 1735718400000,
        "renewalDate": 1738396800000,
        "advancedCommerceInfo": {
            "taxCode": "C003-00-1",
            "descriptors": {
                "displayName": "Ad-free and advanced feature package",
                "description": "Remove ads and unlock advanced features."
            },
            "items": [
                {
                    "SKU": "AD_FREE_1M",
                    "displayName": "Ad-free monthly plan",
                    "description": "Remove ads for the service.",
                    "price": 12990
                },
                {
                    "SKU": "ADVANCED_FEATURES_1M",
                    "displayName": "Advanced feature monthly plan",
                    "description": "Unlock advanced features for the month.",
                    "price": 3990,
                    "offer": {
                        "price": 2990,
                        "period": "P1M",
                        "periodCount": 2,
                        "reason": "ACQUISITION"
                    }
                }
            ],
            "requestReferenceId": "932c6903-0ab8-4469-9f21-015f6fab013c",
            "consistencyToken": "1.12345.932c6903-0ab8-4469-9f21-015f6fab013c",
            "period": "P1M"
        },
        "appTransactionId": "45678",
        "appAccountToken": "3152947d-8f63-41c2-9a91-e92e45f145e9"
    }
    




    以下も見よ


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


    object SubscriptionPriceChangeRequest

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


    object SubscriptionPriceChangeResponse

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














    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ