Google Play 商店 SubscriptionPurchase.Get API 回复说明

Google Play Store SubscriptionPurchase.Get API response clarification

我正在查看来自 Google 开发人员 API 的这份文档,用于订阅购买回复下面的 link:

https://developers.google.com/android-publisher/api-ref/purchases/subscriptions#methods

具体来说,对于字段linkedPurchaseToken,提到了两种场景:

  1. 重新注册已取消但未失效的订阅
  2. Upgrade/downgrade 来自之前的订阅

我不确定第 1 种情况何时发生。尝试购买、取消和恢复(但未失效)自动续订订阅,但我在恢复后的响应中没有得到 linkedPurchaseToken。

以下是三种情况下的回复:

购买后:

{
    "kind": "androidpublisher#subscriptionPurchase",
    "startTimeMillis": "1573546099994",
    "expiryTimeMillis": "1573548136296",
    "autoRenewing": true,
    "priceCurrencyCode": "INR",
    "priceAmountMicros": "85000000",
    "countryCode": "IN",
    "developerPayload": "",
    "paymentState": 1,
    "orderId": "GPA.3359-7048-7648-05268",
    "purchaseType": 0,
    "acknowledgementState": 1
}

取消后:

{
    "kind": "androidpublisher#subscriptionPurchase",
    "startTimeMillis": "1573546099994",
    "expiryTimeMillis": "1573548016296",
    "autoRenewing": false,
    "priceCurrencyCode": "INR",
    "priceAmountMicros": "85000000",
    "countryCode": "IN",
    "developerPayload": "",
    "paymentState": 1,
    "cancelReason": 0,
    "userCancellationTimeMillis": "1573546553870",
    "cancelSurveyResult": {
        "cancelSurveyReason": 0
    },
    "orderId": "GPA.3359-7048-7648-05268",
    "purchaseType": 0,
    "acknowledgementState": 1
}

恢复后:

{
    "kind": "androidpublisher#subscriptionPurchase",
    "startTimeMillis": "1573546099994",
    "expiryTimeMillis": "1573548136296",
    "autoRenewing": true,
    "priceCurrencyCode": "INR",
    "priceAmountMicros": "85000000",
    "countryCode": "IN",
    "developerPayload": "",
    "paymentState": 1,
    "orderId": "GPA.3359-7048-7648-05268",
    "purchaseType": 0,
    "acknowledgementState": 1
}

在什么情况下我应该获得 #1 场景的 linkedPurchaseToken 有线索吗?

Re-signup of a canceled but non-lapsed subscription:

从 Play 商店->订阅中取消订阅后,您可以通过两种方式Resubscribe/Re-signup-

1) 从应用内重新订阅 - 购买令牌不同,Developer API for Subscription Purchases 将给出 linkedPurchaseToken 的响应。

You can allow users to resubscribe within your app by applying the same in-app product purchase flow as with a cancelled subscription by using the same product ID. 如前所述 here.

2) 从 Play 商店恢复 - 将按原样恢复。在这种情况下购买令牌是相同的,因此在这种情况下您将不会获得 linkedPurchaseToken