今天谷歌宣布推出新功能 - “帐户适用于已拒付的付款”https://developer.android.com/google/play/billing/billing_subscriptions.html
要使用此功能,开发人员需要实现对它的支持。在这种情况下,我有一个问题,如何确定它是宽限期(谷歌试图收钱3天或7天)还是“账户持有拒付款”状态?
我在doc中找不到这些信息。
Google提供下一个订阅信息:
{
"kind": "androidpublisher#subscriptionPurchase",
"startTimeMillis": long,
"expiryTimeMillis": long,
"autoRenewing": boolean,
"priceCurrencyCode": string,
"priceAmountMicros": long,
"countryCode": string,
"developerPayload": string,
"paymentState": integer,
"cancelReason": integer,
"userCancellationTimeMillis": long,
"orderId": string
}
根据文件,“账户持有拒付款”状态是:
expiryTimeMillis < current_time &&
autoRenewing = true &&
paymentState = 0
但是哪种状态会决定宽限期?
我正在使用此值来确定宽限期,但现在看起来错了:
expiryTimeMillis < current_time &&
paymentState = 0
答案 0 :(得分:0)
根据我从here收集的信息,我为我的应用假设以下内容。我们假设宽限期为7天,保留期为30天。
用户处于宽限期时
expiryTimeMillis > current_time &&
autoRenewing = true &&
paymentState = 0
当用户在宽限期内确定其付款后,订阅将恢复,并且应如下所示
expiryTimeMillis > current_time &&
autoRenewing = true &&
paymentState = 1
如果用户在宽限期7天后仍未确定付款方式,则该情况如下
expiryTimeMillis < current_time &&
autoRenewing = true &&
paymentState = 0
如果用户在保留期后仍未确定其付款方式(此处不确定宽限期的前7天是否已计入保留期,那么30天的保留期或30-7 =保留期的23天),则看起来像这样
expiryTimeMillis < current_time &&
autoRenewing = false &&
paymentState = 0 &&
cancelReason = 1 # The system canceled the subscription
但是,如果用户确定了付款方式,则订阅将恢复正常,外观如下
expiryTimeMillis > current_time &&
autoRenewing = true &&
paymentState = 1
简而言之:在宽限期内,到期时间总是在将来;在保持期内,到期时间始终是 。