- 資源:Order
 - 狀態
 - BuyerAddress
 - OrderDetails
 - LineItem
 - OneTimePurchaseDetails
 - PreorderDetails
 - RentalDetails
 - SubscriptionDetails
 - OfferPhase
 - PaidAppDetails
 - OrderHistory
 - ProcessedEvent
 - CancellationEvent
 - RefundEvent
 - RefundDetails
 - RefundReason
 - PartialRefundEvent
 - 狀態
 - PointsDetails
 - 方法
 
資源:Order
Order 資源會封裝在 Google Play 上進行交易的完整資訊。包括各種屬性,提供訂單本身、購買的產品,以及與訂單相關事件記錄的詳細資料。
訂單 API 可讓您在 Google Play 生態系統中即時存取訂單資料。您可以擷取一次性訂單和週期性訂單的詳細資訊和中繼資料,包括收費、稅金和退款等交易明細,以及訂閱項目的定價階段等中繼資料。Orders API 可自動執行訂單管理相關工作,減少透過 Play 管理中心手動檢查的需求。
這項 API 的用途包括:
即時擷取訂單資料 - 使用訂單 ID,在購買後立即取得訂單詳細資料和中繼資料。
訂單更新同步處理 - 定期同步處理訂單更新,以維持最新的訂單資訊記錄。
注意:
Orders API 呼叫會計入 Play Developer API 配額,預設為每日 20 萬次,可能不足以同步處理大量訂單記錄。
每次呼叫最多可擷取 1000 筆訂單。建議使用較大的頁面大小,盡量減少配額用量。在 Cloud Console 中查看配額,並視需要申請更多配額。
| JSON 表示法 | 
|---|
{ "lineItems": [ { object (  | 
              
| 欄位 | |
|---|---|
lineItems[] | 
                
                   
 組成這筆訂單的個別明細項目。  | 
              
orderId | 
                
                   
 訂單 ID。  | 
              
purchaseToken | 
                
                   
 購買訂閱項目或商品時提供給使用者裝置的權杖。  | 
              
state | 
                
                   
 訂單狀態。  | 
              
createTime | 
                
                   
 訂單建立時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如:  | 
              
lastEventTime | 
                
                   
 訂單中最後一個事件發生的時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如:  | 
              
buyerAddress | 
                
                   
 客戶的地址資訊,用於計算稅金。如果 Google 是訂單的記錄商家,則只會顯示國家/地區。  | 
              
total | 
                
                   
 客戶支付的最終金額,已計入折扣和稅金。  | 
              
tax | 
                
                   
 這筆訂單支付的稅金總額。  | 
              
orderDetails | 
                
                   
 建立訂單時的詳細資訊。  | 
              
orderHistory | 
                
                   
 修改訂單的事件詳細資料。  | 
              
developerRevenueInBuyerCurrency | 
                
                   
 這筆訂單以買家貨幣計算的收益,包括扣除部分退款、稅金和手續費後的金額。Google 會從每筆銷售交易中扣除標準交易手續費和第三方費用,包括部分地區的加值稅。  | 
              
pointsDetails | 
                
                   
 套用至訂單的 Play Points,包括優惠資訊、折扣比率和點數價值。  | 
              
州
訂單狀態。
| 列舉 | |
|---|---|
STATE_UNSPECIFIED | 
                未指定狀態。系統不會使用這個值。 | 
PENDING | 
                訂單已建立,正在等待處理。 | 
PROCESSED | 
                訂單已成功處理完畢。 | 
CANCELED | 
                訂單在處理前已取消。 | 
PENDING_REFUND | 
                我們正在處理你申請的退款。 | 
PARTIALLY_REFUNDED | 
                已退還部分訂單款項。 | 
REFUNDED | 
                已全額退還訂單款項。 | 
BuyerAddress
客戶的地址資訊,用於計算稅金。
| JSON 表示法 | 
|---|
{ "buyerState": string, "buyerCountry": string, "buyerPostcode": string }  | 
              
| 欄位 | |
|---|---|
buyerState | 
                
                   
 買家地址國家/地區的最高層級行政區劃分。如果 Google 是訂單的登記商家,就不會提供這項資訊。  | 
              
buyerCountry | 
                
                   
 根據 ISO-3166-1 Alpha-2 (聯合國國家/地區代碼) 提供的雙字母國家/地區代碼。  | 
              
buyerPostcode | 
                
                   
 地址的郵遞區號。如果 Google 是訂單的登記商家,就不會提供這項資訊。  | 
              
OrderDetails
建立訂單時的詳細資訊。
| JSON 表示法 | 
|---|
{ "taxInclusive": boolean }  | 
              
| 欄位 | |
|---|---|
taxInclusive | 
                
                   
 指出列出的價格是否含稅。  | 
              
LineItem
明細項目詳細資料。
| JSON 表示法 | 
|---|
{ "productTitle": string, "productId": string, "listingPrice": { object (  | 
              
| 欄位 | |
|---|---|
productTitle | 
                
                   
 產品的開發人員專屬名稱,以買家所在地區的語言顯示。例如 coins、monthly subscription 等。  | 
              
productId | 
                
                   
 所購買的產品 ID 或應用程式內 SKU (例如「monthly001」或「com.some.thing.inapp1」)。  | 
              
listingPrice | 
                
                   
 Play 商店中列出的商品價格,可能含稅,也可能不含稅。(不計入任何折扣或促銷優惠)。  | 
              
total | 
                
                   
 使用者為這個明細項目支付的總金額,已計入折扣和稅金。  | 
              
tax | 
                
                   
 這個委刊項支付的稅金。  | 
              
聯集欄位  
  | 
              |
oneTimePurchaseDetails | 
                
                   
 一次性購買的詳細資料。  | 
              
subscriptionDetails | 
                
                   
 訂閱交易的詳細資料。  | 
              
paidAppDetails | 
                
                   
 付費應用程式的購買詳細資料。  | 
              
OneTimePurchaseDetails
一次性購買的詳細資料。
| JSON 表示法 | 
|---|
{ "quantity": integer, "offerId": string, "purchaseOptionId": string, "preorderDetails": { object (  | 
              
| 欄位 | |
|---|---|
quantity | 
                
                   
 購買的商品數 (適用於購買多件商品)。  | 
              
offerId | 
                
                   
 一次性購買優惠的優惠 ID。  | 
              
purchaseOptionId | 
                
                   
 購買選項的 ID。這個欄位會同時為購買選項和子類商品優惠設定。如果是購買選項,這個 ID 會識別購買選項本身。如果是變體方案,這個 ID 是指相關聯的購買選項,並與 offerId 共同識別變體方案。  | 
              
preorderDetails | 
                
                   
 預購詳細資料。僅限預購交易。  | 
              
rentalDetails | 
                
                   
 租借購買交易的詳細資料。僅在租賃購買時設定。  | 
              
PreorderDetails
這個類型沒有任何欄位。
預購交易的詳細資料。
RentalDetails
這個類型沒有任何欄位。
租借購買的詳細資料。
SubscriptionDetails
訂閱交易的詳細資料。
| JSON 表示法 | 
|---|
{
  "basePlanId": string,
  "offerId": string,
  "offerPhase": enum ( | 
              
| 欄位 | |
|---|---|
basePlanId | 
                
                   
 訂閱項目的基本方案 ID。  | 
              
offerId | 
                
                   
 目前訂閱方案的優惠 ID。  | 
              
offerPhase | 
                
                   
 這筆訂單所支付帳單週期的定價階段。  | 
              
servicePeriodStartTime | 
                
                   
 這筆訂單資助的帳單週期開始時間。這是處理訂單時的帳單/服務週期開始時間快照,僅供會計用途。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如:  | 
              
servicePeriodEndTime | 
                
                   
 這筆訂單支付的帳單週期結束日。這是訂單處理時的帳單/服務週期結束時間快照,僅供會計用途。如要取得訂閱服務週期的目前結束時間,請使用 purchases.subscriptionsv2.get。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如:  | 
              
OfferPhase
這筆訂單資助的授權期間的定價階段。
| 列舉 | |
|---|---|
OFFER_PHASE_UNSPECIFIED | 
                未指定優惠階段。系統不會使用這個值。 | 
BASE | 
                訂單會支付基本價格期費用。 | 
INTRODUCTORY | 
                訂單會為入門價格期提供資金。 | 
FREE_TRIAL | 
                訂單用於支付免費試用期費用。 | 
PaidAppDetails
這個類型沒有任何欄位。
付費應用程式的購買詳細資料。
OrderHistory
修改訂單的事件詳細資料。
| JSON 表示法 | 
|---|
{ "partialRefundEvents": [ { object (  | 
              
| 欄位 | |
|---|---|
partialRefundEvents[] | 
                
                   
 這筆訂單的部分退款事件詳細資料。  | 
              
processedEvent | 
                
                   
 訂單處理時間的詳細資料。  | 
              
cancellationEvent | 
                
                   
 訂單取消時間的詳細資料。  | 
              
refundEvent | 
                
                   
 訂單全額退款的詳細時間。  | 
              
ProcessedEvent
訂單處理時間的詳細資料。
| JSON 表示法 | 
|---|
{ "eventTime": string }  | 
              
| 欄位 | |
|---|---|
eventTime | 
                
                   
 訂單處理時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如:  | 
              
CancellationEvent
訂單取消時間的詳細資料。
| JSON 表示法 | 
|---|
{ "eventTime": string }  | 
              
| 欄位 | |
|---|---|
eventTime | 
                
                   
 訂單取消的時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如:  | 
              
RefundEvent
訂單全額退款的詳細時間。
| JSON 表示法 | 
|---|
{ "eventTime": string, "refundDetails": { object (  | 
              
| 欄位 | |
|---|---|
eventTime | 
                
                   
 訂單全額退款的時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如:  | 
              
refundDetails | 
                
                   
 全額退款的詳細資料。  | 
              
refundReason | 
                
                   
 訂單退款原因。  | 
              
RefundDetails
部分或全額退款的詳細資料。
| JSON 表示法 | 
|---|
{ "total": { object (  | 
              
| 欄位 | |
|---|---|
total | 
                
                   
 退款總額 (含稅)。  | 
              
tax | 
                
                   
 退稅金額。  | 
              
RefundReason
訂單退款原因。
| 列舉 | |
|---|---|
REFUND_REASON_UNSPECIFIED | 
                orders.refund reason unspecified. 系統不會使用這個值。 | 
OTHER | 
                訂單退款原因並非此處列出的原因。 | 
CHARGEBACK | 
                訂單遭到交易退單。 | 
PartialRefundEvent
這筆訂單的部分退款事件詳細資料。
| JSON 表示法 | 
|---|
{ "createTime": string, "processTime": string, "state": enum (  | 
              
| 欄位 | |
|---|---|
createTime | 
                
                   
 部分退款的建立時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如:  | 
              
processTime | 
                
                   
 處理部分退款的時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數點後位數。系統也接受「Z」以外的偏移量。例如:  | 
              
state | 
                
                   
 部分退款的狀態。  | 
              
refundDetails | 
                
                   
 部分退款的詳細資料。  | 
              
州
部分退款的狀態。
| 列舉 | |
|---|---|
STATE_UNSPECIFIED | 
                未指定狀態。系統不會使用這個值。 | 
PENDING | 
                部分退款已建立,但尚未處理。 | 
PROCESSED_SUCCESSFULLY | 
                部分退款已處理完畢。 | 
PointsDetails
訂單使用的 Play 點數相關詳細資料。
| JSON 表示法 | 
|---|
{
  "pointsOfferId": string,
  "pointsCouponValue": {
    object ( | 
              
| 欄位 | |
|---|---|
pointsOfferId | 
                
                   
 這筆訂單使用的 Play 點數優惠專屬 ID。  | 
              
pointsCouponValue | 
                
                   
 Play Points 優待券的貨幣價值。這是優待券提供的折扣,可能不是總金額。只有在使用 Play 點數優待券時才設定。舉例來說,如果優待券是 100 點換 $2 美元,則為 $2 美元。  | 
              
pointsDiscountRateMicros | 
                
                   
 Play Points 促銷活動的折扣百分比。舉例來說,如果 100 點可兌換 $2 美元優待券,則此值為 500,000。由於 $2 的預估點數為 200 點,但實際所需點數為 100 點,是預估點數的 50%,而 50% 的微點數為 500,000 點。介於 0 到 1,000,000 之間。  | 
              
pointsSpent | 
                
                   
 這筆訂單使用的 Play Points 點數。舉例來說,如果優待券是 100 點可兌換 $2 美元,則此值為 100。如果優待券與基本方案一併使用,這是指兩者加總的點數。  | 
              
方法 | 
            |
|---|---|
                
 | 
              取得訂單清單的訂單詳細資料。 | 
                
 | 
              取得單一訂單的詳細資料。 | 
                
 | 
              退還使用者的訂閱項目或應用程式內購訂單款項。 | 
錯誤代碼
這項資源的作業會傳回下列 HTTP 錯誤碼:
| 錯誤代碼 | 原因 | 解析度 | 
|---|---|---|
5xx | 
  Google Play 伺服器發生一般錯誤。 | 重試要求。
     如果問題持續發生,請與 Google Play 帳戶管理員聯絡,或提交支援要求。 建議查看 Play 狀態資訊主頁,瞭解是否有已知服務中斷情形。  | 
409 | 
  並行更新錯誤。
     嘗試更新正在更新的物件。舉例來說,購買交易同時透過呼叫 Play 帳款服務程式庫的   | 
  重試要求。 |