管理訂閱項目和一次性消費

您可能需要對訂閱項目或一次性消費執行管理動作 和日常業務一樣舉例來說,您的客戶服務可能需要 為使用者核發全額或部分退款,或者您可能必須撤銷 則在特定情況下會取得授權您可以透過 Play 管理中心管理訂單,也可以 如果想要從您自己的系統進行管理,請使用 Google Play Developer API

取消訂閱

使用者隨時可以透過 Play 商店取消訂閱 Google Play。 不過,您還必須提供選項讓使用者取消訂閱 。

讓使用者能夠自行取消,最簡單的方法是透過深層連結前往 Play 商店,當中成員可以查看這些內容 並管理他們的訂閱

您可能也需要從後端觸發取消作業。 purchases.subscriptions.cancel 方法,讓使用者可以取消訂閱 舉例來說,您可以使用這個方法關閉舊版服務。 取消訂閱不會核發退款,使用者會繼續 使用者仍可存取訂閱內容,直到目前的帳單週期結束為止。取消 並用這個方法阻止使用者還原訂閱項目 但使用者仍可透過您的應用程式重新註冊 不需要手動操作

執行這項操作會觸發 SUBSCRIPTION_CANCELED 即時開發人員 通知。請按照 取消

延後收費

使用 subscriptions.defer 延長訂閱項目的授權期。在延後期間 使用者仍繼續訂閱您的內容,但您不需支付額外的費用 讓應用程式從可以最快做出回應的位置 回應使用者要求如果您延後訂閱項目的帳單,狀態資訊會是 更新的內容也會反映在 expiryTime 欄位的 購買狀態資訊:

  • 針對有效的週期性訂閱項目,延後收費將延續 續訂日期。
  • 如果是預付方案,延後收費會延長到期時間。

以下列舉幾個使用延後收費功能的範例:

  • 以特價優惠的形式向使用者提供免費存取權,例如免費提供一週 填寫意見回饋問卷調查給現有訂閱者
  • 提供顧客免付費的管道,以鼓勵客戶採取謹慎行動。舉例來說,在 延長可能影響客戶使用您的服務的能力。

每個 API 呼叫可以將帳單最短延後一天,最長延後一年。 如要進一步延後授權結束時,請再次呼叫 API 才能解除新的到期日

執行這項操作會觸發 SUBSCRIPTION_DEFERRED 即時開發人員 通知。如要瞭解如何處理這些事件,請參閱「關於訂閱項目」中的「延後訂閱者的收費」。

例子:

  1. FitnessGoals 影視串流服務想要舉辦促銷活動, 鼓勵您在 2 月定期運動。

  2. 他們決定向所有訂閱者提供額外一個月的服務 哪些使用者在當月至少運動 10 次有 Fitness 目標 10 次 二月。

  3. 他們追蹤挑戰結果,並在 3 月 1 日把它稱為 subscriptions.defer API,每個有效的訂閱項目購買交易 其中涵蓋 2 月份符合挑戰的使用者

  4. 這些使用者可享額外的一整個月定期運動課程 免費影片,而使用者將 FitnessGoal 與朋友們分享 幫助他們保持健康!

核發退款和撤銷

在許多情況下,您可能會想針對 存取訂閱項目或一次性消費。

依訂單 ID 退回訂單全額退款

使用orders.refund API,您可在購買後三年內為任何訂單核發全額退款。 orders.refund 方法會收到撤銷參數,指出是否 除了提供退款外,應用程式也應撤銷存取權。

如果您對訂閱項目購買交易的退款通話進行撤銷, 訂閱會立即終止,並觸發SUBSCRIPTION_REVOKED 即時開發人員通知。讀取訂閱項目生命週期管理 指南:「撤銷」一節 瞭解如何處理這些事件

例子:

  1. 這款電競應用程式歡慶新世界盃的開端 美式足球超級足球聯賽決定向所有使用者推出免費虛擬球衣 的玩家人數

  2. 足球非足球使用orders.refund 傳送撤銷參數以退還球衣到 贏家。

,瞭解如何調查及移除這項存取權。

依購買憑證撤銷訂閱項目並申請退款

在某些情況下,您可能需要撤銷使用者的訂閱項目存取權 並提供退款Play 帳款服務提供撤銷方式,包括完整版 透過 subscriptionsv2.revoke進行退款和按比例計算的退款 也能使用 Google Cloud CLI 或 Compute Engine API您可以透過這個端點指定 revocationContext ,以判斷退款的計算方式。

執行這項操作會觸發 SUBSCRIPTION_REVOKED 即時開發人員 通知。應用程式應按照下列說明處理這些取消作業: 撤銷

例子:

  • 使用購買憑證 1a2b3c4d5e6f7g8h9i0j 進行購買
  • 套件名稱為 com.your.app 的應用程式
  • 意圖按比例核發退款

HTTP POST 要求:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke

要求主體:

{
  "revocationContext": {
    "proratedRefund": {}
  }
}

全額退款

如果您需要終止訂閱並退還全額款項, 當前帳單週期,請全額退款。使用 purchases.subscriptionsv2.revoke敬上 函式,並將 "fullRefund": {} 設為退款類型。

例子:

  1. 小曼訂閱了 30 天的《超級電影串流》自動續訂方案 月費方案。小曼遇到一些技術問題,導致她無法 存取內容她在帳單第 3 天與客戶服務團隊聯絡 說明她從來沒有存取該訂閱項目。

  2. 客戶服務從以下位置找到小美的訂閱購買詳細資料: 並觸發對 purchases.subscriptionsv2.revoke 的呼叫 申請全額退款。

  3. 客戶服務告訴小曼應該取得 100% 的 訂閱價格退款,但她不再訂閱該方案。

按比例退款

如需終止訂閱並部分退款 授權時間,按比例退款。使用 purchases.subscriptionsv2.revoke敬上 函式,並將 "proratedRefund": {} 設為退款類型。

例子:

  1. 小曼訂閱了 30 天的《超級電影串流》自動續訂方案 月費方案。她非常開心地使用這項服務了一段時間。 小曼在帳單週期的第 15 天與客戶服務人員聯絡,表明她 即將走國外,無法再使用本服務 隔天。

  2. 客戶服務從以下位置找到小美的訂閱購買詳細資料: 並觸發對 purchases.subscriptionsv2.revoke 的呼叫 要求按比例退還款項

  3. 客戶服務告訴她應該將大約 50% 的 訂閱價格退款,且服務存取權已終止 立即生效

,瞭解如何調查及移除這項存取權。