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
,提到了两种场景:
- 重新注册已取消但未失效的订阅
- 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
。
我正在查看来自 Google 开发人员 API 的这份文档,用于订阅购买回复下面的 link:
https://developers.google.com/android-publisher/api-ref/purchases/subscriptions#methods
具体来说,对于字段linkedPurchaseToken
,提到了两种场景:
- 重新注册已取消但未失效的订阅
- 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
。