REST Resource: purchases.subscriptionsv2

แหล่งข้อมูล: SubscriptionPurchaseV2

ระบุสถานะการซื้อการสมัครใช้บริการของผู้ใช้

การแสดง JSON
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  },
  "etag": string,
  "outOfAppPurchaseContext": {
    object (OutOfAppPurchaseContext)
  },
  "onHoldStateContext": {
    object (OnHoldStateContext)
  },
  "inGracePeriodStateContext": {
    object (InGracePeriodStateContext)
  }
}
ช่อง
kind

string

โดยชนิดนี้แสดงออบเจ็กต์ SubscriptionPurchaseV2 ในบริการ AndroidPublisher

regionCode

string

รหัสประเทศ/ภูมิภาคสำหรับการเรียกเก็บเงินตามมาตรฐาน ISO 3166-1 alpha-2 ของผู้ใช้ ณ เวลาที่ได้รับสิทธิ์สมัครใช้บริการ

lineItems[]

object (SubscriptionPurchaseLineItem)

ข้อมูลระดับสินค้าสำหรับการซื้อการสมัครใช้บริการ รายการในการซื้อเดียวกันควรมี AutoRenewingPlan ทั้งหมดหรือมี PrepaidPlan ทั้งหมด

startTime

string (Timestamp format)

เวลาที่ให้สิทธิ์การสมัครใช้บริการ ไม่ได้ตั้งค่าสำหรับการสมัครใช้บริการที่รอดำเนินการ (สร้างการสมัครใช้บริการแล้วแต่รอการชำระเงินระหว่างลงชื่อสมัครใช้)

ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"

subscriptionState

enum (SubscriptionState)

สถานะปัจจุบันของการสมัครใช้บริการ

linkedPurchaseToken

string

โทเค็นการซื้อของการสมัครใช้บริการเก่า หากการสมัครใช้บริการนี้เป็นหนึ่งในรายการต่อไปนี้ * การลงชื่อสมัครใช้อีกครั้งของการสมัครใช้บริการที่ถูกยกเลิกแต่ยังไม่หมดอายุ * การอัปเกรด/ดาวน์เกรดจากการสมัครใช้บริการก่อนหน้า * เปลี่ยนจากการสมัครใช้บริการแบบชำระเงินล่วงหน้าเป็นการสมัครใช้บริการแบบต่ออายุอัตโนมัติ * เปลี่ยนจากการสมัครใช้บริการแบบต่ออายุอัตโนมัติเป็นแบบชำระเงินล่วงหน้า * เติมเงินสำหรับการสมัครใช้บริการแบบชำระเงินล่วงหน้า

pausedStateContext

object (PausedStateContext)

บริบทเพิ่มเติมเกี่ยวกับการสมัครใช้บริการที่หยุดชั่วคราว แสดงเมื่อการสมัครใช้บริการมีสถานะการสมัครใช้บริการเป็น SUBSCRIPTION_STATE_PAUSED เท่านั้น

canceledStateContext

object (CanceledStateContext)

บริบทเพิ่มเติมเกี่ยวกับการสมัครใช้บริการที่ถูกยกเลิก แสดงเฉพาะในกรณีที่การสมัครใช้บริการมีสถานะการสมัครใช้บริการเป็น SUBSCRIPTION_STATE_CANCELED หรือ SUBSCRIPTION_STATE_EXPIRED ในปัจจุบัน

testPurchase

object (TestPurchase)

จะแสดงก็ต่อเมื่อการซื้อการสมัครใช้บริการนี้เป็นการซื้อทดสอบ

acknowledgementState

enum (AcknowledgementState)

สถานะการรับทราบของการสมัครใช้บริการ

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

ตัวระบุบัญชีผู้ใช้ในบริการของบุคคลที่สาม

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

โปรไฟล์ผู้ใช้ที่เชื่อมโยงกับการซื้อที่ทำด้วย 'สมัครผ่าน Google'

etag

string

แท็กเอนทิตีที่แสดงสถานะปัจจุบันของการสมัครใช้บริการ นักพัฒนาแอปจะระบุ ETag นี้สำหรับการดำเนินการเกี่ยวกับการสมัครใช้บริการ etag นี้จะแสดงเสมอสำหรับการสมัครใช้บริการแบบต่ออายุอัตโนมัติและแบบชำระเงินล่วงหน้า

outOfAppPurchaseContext

object (OutOfAppPurchaseContext)

บริบทเพิ่มเติมสำหรับการซื้อนอกแอป ข้อมูลนี้จะแสดงเฉพาะสำหรับการซื้อการสมัครใช้บริการซ้ำ (การซื้อการสมัครใช้บริการที่ดำเนินการหลังจากที่การสมัครใช้บริการผลิตภัณฑ์เดียวกันก่อนหน้านี้หมดอายุแล้ว) ซึ่งดำเนินการผ่านศูนย์การสมัครใช้บริการของ Google Play ระบบจะนำช่องนี้ออกหลังจากที่คุณรับทราบการสมัครใช้บริการแล้ว

onHoldStateContext

object (OnHoldStateContext)

ไม่บังคับ บริบทเพิ่มเติมเกี่ยวกับการสมัครใช้บริการในสถานะ ON_HOLD แสดงเฉพาะในกรณีที่การสมัครใช้บริการมีสถานะการสมัครใช้บริการเป็น SUBSCRIPTION_STATE_ON_HOLD ในปัจจุบัน

inGracePeriodStateContext

object (InGracePeriodStateContext)

ไม่บังคับ บริบทเพิ่มเติมเกี่ยวกับการสมัครใช้บริการในสถานะ IN_GRACE_PERIOD แสดงเฉพาะในกรณีที่การสมัครใช้บริการมี subscriptionState เป็น SUBSCRIPTION_STATE_IN_GRACE_PERIOD ในปัจจุบัน

SubscriptionState

สถานะที่เป็นไปได้ของการสมัครใช้บริการ เช่น สถานะใช้งานอยู่หรือยกเลิกแล้ว รายการในการซื้อการสมัครใช้บริการจะเป็นแพ็กเกจแบบต่ออายุใหม่อัตโนมัติทั้งหมดหรือแพ็กเกจแบบชำระเงินล่วงหน้าทั้งหมดก็ได้

Enum
SUBSCRIPTION_STATE_UNSPECIFIED สถานะการสมัครใช้บริการที่ไม่ได้ระบุ
SUBSCRIPTION_STATE_PENDING สร้างการสมัครใช้บริการแล้ว แต่รอการชำระเงินระหว่างการลงชื่อสมัครใช้ ในสถานะนี้ รายการทั้งหมดจะรอการชำระเงิน
SUBSCRIPTION_STATE_ACTIVE การสมัครใช้บริการใช้งานอยู่ - (1) หากการสมัครใช้บริการเป็นแพ็กเกจต่ออายุใหม่อัตโนมัติ รายการอย่างน้อย 1 รายการจะต้องมี autoRenewEnabled และไม่หมดอายุ - (2) หากการสมัครใช้บริการเป็นแพ็กเกจแบบชำระเงินล่วงหน้า แสดงว่ามีอย่างน้อย 1 รายการที่ยังไม่หมดอายุ
SUBSCRIPTION_STATE_PAUSED การสมัครใช้บริการหยุดชั่วคราว สถานะจะใช้ได้เมื่อการสมัครใช้บริการเป็นแพ็กเกจต่ออายุใหม่อัตโนมัติเท่านั้น ในสถานะนี้ รายการทั้งหมดจะอยู่ในสถานะหยุดชั่วคราว
SUBSCRIPTION_STATE_IN_GRACE_PERIOD การสมัครใช้บริการอยู่ในระยะเวลาผ่อนผัน สถานะจะใช้ได้เมื่อการสมัครใช้บริการเป็นแพ็กเกจต่ออายุใหม่อัตโนมัติเท่านั้น ในสถานะนี้ รายการทั้งหมดจะอยู่ในช่วงผ่อนผัน
SUBSCRIPTION_STATE_ON_HOLD การสมัครใช้บริการถูกระงับ สถานะจะใช้ได้เมื่อการสมัครใช้บริการเป็นแพ็กเกจต่ออายุใหม่อัตโนมัติเท่านั้น ในสถานะนี้ ระบบจะระงับรายการทั้งหมด
SUBSCRIPTION_STATE_CANCELED การสมัครใช้บริการถูกยกเลิกแล้ว แต่ยังไม่หมดอายุ สถานะจะใช้ได้เมื่อการสมัครใช้บริการเป็นแพ็กเกจต่ออายุใหม่อัตโนมัติเท่านั้น รายการทั้งหมดมี autoRenewEnabled ตั้งค่าเป็น false
SUBSCRIPTION_STATE_EXPIRED การสมัครใช้บริการหมดอายุแล้ว รายการทั้งหมดมี expiryTime ในอดีต
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED ยกเลิกธุรกรรมที่รอดำเนินการสำหรับการสมัครใช้บริการแล้ว หากการซื้อที่รอดำเนินการนี้เป็นการสมัครใช้บริการที่มีอยู่ ให้ใช้ linkedPurchaseToken เพื่อดูสถานะปัจจุบันของการสมัครใช้บริการนั้น

PausedStateContext

ข้อมูลเฉพาะสำหรับการสมัครใช้บริการในสถานะหยุดชั่วคราว

การแสดง JSON
{
  "autoResumeTime": string
}
ช่อง
autoResumeTime

string (Timestamp format)

เวลาที่ระบบจะกลับมาสมัครใช้บริการโดยอัตโนมัติ

ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"

CanceledStateContext

ข้อมูลเฉพาะสำหรับการสมัครใช้บริการในสถานะ SUBSCRIPTION_STATE_CANCELED หรือ SUBSCRIPTION_STATE_EXPIRED

การแสดง JSON
{

  // Union field cancellation_reason can be only one of the following:
  "userInitiatedCancellation": {
    object (UserInitiatedCancellation)
  },
  "systemInitiatedCancellation": {
    object (SystemInitiatedCancellation)
  },
  "developerInitiatedCancellation": {
    object (DeveloperInitiatedCancellation)
  },
  "replacementCancellation": {
    object (ReplacementCancellation)
  }
  // End of list of possible types for union field cancellation_reason.
}
ช่อง
ฟิลด์ Union cancellation_reason เหตุผลที่การสมัครใช้บริการถูกยกเลิก cancellation_reason ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
userInitiatedCancellation

object (UserInitiatedCancellation)

ผู้ใช้ยกเลิกการสมัครใช้บริการ

systemInitiatedCancellation

object (SystemInitiatedCancellation)

ระบบยกเลิกการสมัครใช้บริการ เช่น เนื่องจากปัญหาการเรียกเก็บเงิน

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

นักพัฒนาแอปเป็นผู้ยกเลิกการสมัครใช้บริการ

replacementCancellation

object (ReplacementCancellation)

เปลี่ยนการสมัครใช้บริการเป็นการสมัครใช้บริการใหม่แล้ว

UserInitiatedCancellation

ข้อมูลเฉพาะเกี่ยวกับการยกเลิกที่ผู้ใช้เป็นผู้เริ่ม

การแสดง JSON
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
ช่อง
cancelSurveyResult

object (CancelSurveyResult)

ข้อมูลที่ผู้ใช้ระบุเมื่อทำตามขั้นตอนการยกเลิกการสมัครใช้บริการจนเสร็จสมบูรณ์ (แบบสำรวจเหตุผลการยกเลิก)

cancelTime

string (Timestamp format)

เวลาที่ผู้ใช้ยกเลิกการสมัครใช้บริการ ผู้ใช้อาจยังคงมีสิทธิ์เข้าถึงการสมัครใช้บริการหลังจากช่วงเวลานี้ ใช้ lineItems.expiry_time เพื่อตรวจสอบว่าผู้ใช้ยังมีสิทธิ์เข้าถึงอยู่หรือไม่

ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"

CancelSurveyResult

ผลลัพธ์ของแบบสำรวจการยกเลิกเมื่อผู้ใช้ยกเลิกการสมัครใช้บริการ

การแสดง JSON
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
ช่อง
reason

enum (CancelSurveyReason)

เหตุผลที่ผู้ใช้เลือกในแบบสำรวจการยกเลิก

reasonUserInput

string

ตั้งค่าสำหรับ CANCEL_SURVEY_REASON_OTHERS เท่านั้น นี่คือคำตอบแบบอิสระของผู้ใช้ในแบบสำรวจ

CancelSurveyReason

เหตุผลที่ผู้ใช้เลือกในแบบสำรวจการยกเลิก

Enum
CANCEL_SURVEY_REASON_UNSPECIFIED ไม่ได้ระบุเหตุผลในการยกเลิกแบบสำรวจ
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE การใช้งานการสมัครใช้บริการไม่เพียงพอ
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES ปัญหาทางเทคนิคขณะใช้แอป
CANCEL_SURVEY_REASON_FOUND_BETTER_APP ผู้ใช้พบแอปที่ดีกว่า
CANCEL_SURVEY_REASON_OTHERS เหตุผลอื่นๆ

SystemInitiatedCancellation

ประเภทนี้ไม่มีฟิลด์

ข้อมูลเฉพาะเกี่ยวกับการยกเลิกที่ระบบของ Google เป็นผู้เริ่ม

DeveloperInitiatedCancellation

ประเภทนี้ไม่มีฟิลด์

ข้อมูลเฉพาะเกี่ยวกับการยกเลิกที่นักพัฒนาแอปเป็นผู้เริ่ม

ReplacementCancellation

ประเภทนี้ไม่มีฟิลด์

ข้อมูลเฉพาะเกี่ยวกับการยกเลิกที่เกิดจากการแทนที่การสมัครใช้บริการ

TestPurchase

ประเภทนี้ไม่มีฟิลด์

การซื้อการสมัครใช้บริการนี้เป็นการซื้อทดสอบหรือไม่

AcknowledgementState

สถานะการรับทราบที่เป็นไปได้สำหรับการสมัครใช้บริการ

Enum
ACKNOWLEDGEMENT_STATE_UNSPECIFIED สถานะการรับทราบที่ไม่ได้ระบุ
ACKNOWLEDGEMENT_STATE_PENDING ยังไม่ได้รับการยืนยันการสมัครใช้บริการ
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED ระบบรับทราบการสมัครใช้บริการแล้ว

ExternalAccountIdentifiers

ตัวระบุบัญชีผู้ใช้ในบริการของบุคคลที่สาม

การแสดง JSON
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
ช่อง
externalAccountId

string

ตัวระบุบัญชีผู้ใช้ในบริการของบุคคลที่สาม จะแสดงก็ต่อเมื่อมีการลิงก์บัญชีเป็นส่วนหนึ่งของขั้นตอนการซื้อการสมัครใช้บริการ

obfuscatedExternalAccountId

string

รหัสเวอร์ชันที่ผ่านการปกปิดซึ่งเชื่อมโยงกับบัญชีของผู้ใช้ในแอปของคุณโดยเฉพาะ จะแสดงสำหรับการซื้อต่อไปนี้ * หากการลิงก์บัญชีเกิดขึ้นเป็นส่วนหนึ่งของขั้นตอนการซื้อการสมัครใช้บริการ * มีการระบุโดยใช้ https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid เมื่อมีการซื้อ

obfuscatedExternalProfileId

string

รหัสเวอร์ชันที่ผ่านการปกปิดซึ่งเชื่อมโยงกับโปรไฟล์ของผู้ใช้ในแอปของคุณโดยเฉพาะ จะแสดงก็ต่อเมื่อมีการระบุโดยใช้ https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid เมื่อทำการซื้อ

SubscribeWithGoogleInfo

ข้อมูลที่เชื่อมโยงกับการซื้อที่ทำด้วย 'สมัครผ่าน Google'

การแสดง JSON
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
ช่อง
profileId

string

รหัสโปรไฟล์ Google ของผู้ใช้เมื่อมีการซื้อการสมัครใช้บริการ

profileName

string

ชื่อโปรไฟล์ของผู้ใช้เมื่อซื้อการสมัครใช้บริการ

emailAddress

string

อีเมลของผู้ใช้เมื่อซื้อการสมัครใช้บริการ

givenName

string

ชื่อของผู้ใช้เมื่อซื้อการสมัครใช้บริการ

familyName

string

นามสกุลของผู้ใช้เมื่อซื้อการสมัครใช้บริการ

SubscriptionPurchaseLineItem

ข้อมูลระดับสินค้าสำหรับการซื้อการสมัครใช้บริการ

การแสดง JSON
{
  "productId": string,
  "expiryTime": string,
  "latestSuccessfulOrderId": string,

  // Union field plan_type can be only one of the following:
  "autoRenewingPlan": {
    object (AutoRenewingPlan)
  },
  "prepaidPlan": {
    object (PrepaidPlan)
  }
  // End of list of possible types for union field plan_type.
  "offerDetails": {
    object (OfferDetails)
  },

  // Union field deferred_item_change can be only one of the following:
  "deferredItemReplacement": {
    object (DeferredItemReplacement)
  },
  "deferredItemRemoval": {
    object (DeferredItemRemoval)
  }
  // End of list of possible types for union field deferred_item_change.
  "signupPromotion": {
    object (SignupPromotion)
  },
  "itemReplacement": {
    object (ItemReplacement)
  },
  "offerPhase": {
    object (OfferPhase)
  }
}
ช่อง
productId

string

รหัสผลิตภัณฑ์ที่ซื้อ (เช่น "monthly001")

expiryTime

string (Timestamp format)

เวลาที่การสมัครใช้บริการหมดอายุหรือจะหมดอายุ เว้นแต่จะมีการขยายสิทธิ์เข้าถึง (เช่น ต่ออายุ)

ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"

latestSuccessfulOrderId

string

รหัสคำสั่งซื้อของคำสั่งซื้อล่าสุดที่สำเร็จซึ่งเชื่อมโยงกับรายการนี้ ไม่มีหากผู้ใช้ยังไม่ได้เป็นเจ้าของรายการ (เช่น รายการที่ถูกแทนที่ด้วยรายการที่เลื่อนออกไป)

ฟิลด์ Union plan_type ประเภทแพ็กเกจการสมัครใช้บริการ plan_type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
autoRenewingPlan

object (AutoRenewingPlan)

รายการนี้ต่ออายุอัตโนมัติ

prepaidPlan

object (PrepaidPlan)

รายการนี้ชำระเงินล่วงหน้าแล้ว

offerDetails

object (OfferDetails)

รายละเอียดข้อเสนอสำหรับรายการนี้

ฟิลด์ Union deferred_item_change ฟิลด์นี้จะปรากฏขึ้นเมื่อรายการมีการเปลี่ยนแปลงที่เลื่อนออกไป คุณสามารถนำออกหรือแทนที่ได้ deferred_item_change ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
deferredItemReplacement

object (DeferredItemReplacement)

ข้อมูลสำหรับการเปลี่ยนทดแทนรายการที่เลื่อนออกไป

deferredItemRemoval

object (DeferredItemRemoval)

ข้อมูลสำหรับการนำรายการออกที่เลื่อนออกไป

signupPromotion

object (SignupPromotion)

รายละเอียดโปรโมชันเกี่ยวกับรายการนี้ ตั้งค่าเฉพาะในกรณีที่มีการใช้โปรโมชันในระหว่างการลงชื่อสมัครใช้

itemReplacement

object (ItemReplacement)

รายละเอียดของสินค้าที่เปลี่ยน ระบบจะป้อนข้อมูลในช่องนี้ก็ต่อเมื่อรายการนี้แทนที่รายการอื่นในการสมัครใช้บริการก่อนหน้า และจะใช้ได้เพียง 60 วันหลังจากเวลาที่ซื้อ

offerPhase

object (OfferPhase)

รายละเอียดระยะข้อเสนอปัจจุบันสำหรับรายการนี้

AutoRenewingPlan

ข้อมูลที่เกี่ยวข้องกับแพ็กเกจแบบต่ออายุใหม่อัตโนมัติ

การแสดง JSON
{
  "autoRenewEnabled": boolean,
  "recurringPrice": {
    object (Money)
  },
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  },
  "priceStepUpConsentDetails": {
    object (PriceStepUpConsentDetails)
  }
}
ช่อง
autoRenewEnabled

boolean

หากปัจจุบันการสมัครใช้บริการตั้งค่าให้ต่ออายุอัตโนมัติ เช่น ผู้ใช้ไม่ได้ยกเลิกการสมัครใช้บริการ

recurringPrice

object (Money)

ราคาตามรอบปัจจุบันของแพ็กเกจที่ต่ออายุอัตโนมัติ โปรดทราบว่าราคานี้ไม่รวมส่วนลดและภาษี หากต้องการใช้ราคาที่ไม่รวมภาษี โปรดเรียกใช้ orders.get API แทนหากต้องการรายละเอียดธุรกรรม

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

ข้อมูลการเปลี่ยนแปลงราคาครั้งล่าสุดของรายการตั้งแต่ลงชื่อสมัครใช้บริการ

installmentDetails

object (InstallmentPlan)

สัญญาผูกมัดของแพ็กเกจแบบผ่อนชำระและข้อมูลที่เกี่ยวข้องกับสถานะของแพ็กเกจที่ต่ออายุใหม่อัตโนมัติ

SubscriptionItemPriceChangeDetails

ข้อมูลเกี่ยวกับการเปลี่ยนแปลงราคาของรายการการสมัครใช้บริการ

การแสดง JSON
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
ช่อง
newPrice

object (Money)

ราคาใหม่แบบเรียกเก็บเงินตามรอบสำหรับรายการการสมัครใช้บริการ

priceChangeMode

enum (PriceChangeMode)

โหมดการเปลี่ยนแปลงราคาจะระบุวิธีที่ราคาของรายการการสมัครใช้บริการเปลี่ยนแปลง

priceChangeState

enum (PriceChangeState)

ระบุว่าขณะนี้มีการเปลี่ยนแปลงราคา

expectedNewPriceChargeTime

string (Timestamp format)

เวลาต่ออายุที่การเปลี่ยนแปลงราคาจะมีผลกับผู้ใช้ ซึ่งอาจมีการเปลี่ยนแปลง(เป็นเวลาในอนาคต) ในกรณีที่เวลาต่ออายุเปลี่ยนไป เช่น การหยุดชั่วคราว ระบบจะป้อนข้อมูลในช่องนี้เฉพาะในกรณีที่การเปลี่ยนแปลงราคายังไม่มีผล

ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"

PriceChangeMode

โหมดของการเปลี่ยนแปลงราคา

Enum
PRICE_CHANGE_MODE_UNSPECIFIED ไม่ได้ระบุโหมดการเปลี่ยนแปลงราคา ไม่ควรตั้งค่านี้
PRICE_DECREASE หากค่าสมัครใช้บริการลดลง
PRICE_INCREASE หากค่าสมัครใช้บริการมีการขึ้นราคาและผู้ใช้ต้องยอมรับ
OPT_OUT_PRICE_INCREASE หากราคาค่าสมัครใช้บริการเพิ่มขึ้นในโหมดเลือกไม่ยินยอม

PriceChangeState

สถานะของการเปลี่ยนแปลงราคา

Enum
PRICE_CHANGE_STATE_UNSPECIFIED ไม่ได้ระบุสถานะการเปลี่ยนแปลงราคา ไม่ควรใช้ค่านี้
OUTSTANDING กำลังรอให้ผู้ใช้ยอมรับการเปลี่ยนแปลงราคา
CONFIRMED ยืนยันว่าผู้ใช้จะได้รับการเปลี่ยนแปลงราคา
APPLIED มีการเปลี่ยนแปลงราคาแล้ว นั่นคือระบบเริ่มเรียกเก็บเงินจากผู้ใช้ในราคาใหม่แล้ว
CANCELED ยกเลิกการเปลี่ยนแปลงราคาแล้ว

InstallmentPlan

ข้อมูลเกี่ยวกับแพ็กเกจการผ่อนชำระ

การแสดง JSON
{
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object (PendingCancellation)
  }
}
ช่อง
initialCommittedPaymentsCount

integer

จำนวนการชำระเงินทั้งหมดที่ผู้ใช้ตกลงกันไว้ในตอนแรก

subsequentCommittedPaymentsCount

integer

จำนวนการชำระเงินทั้งหมดที่ผู้ใช้จะชำระหลังจากระยะเวลาผูกมัดแต่ละครั้ง ว่างหมายความว่าแพ็กเกจการผ่อนชำระจะกลับไปเป็นการสมัครใช้บริการแบบต่ออายุอัตโนมัติปกติหลังจากสัญญาผูกมัดเริ่มต้น

remainingCommittedPaymentsCount

integer

จำนวนการชำระเงินที่เหลือทั้งหมดที่ต้องชำระในรอบการต่ออายุนี้

pendingCancellation

object (PendingCancellation)

หากมี ระบบจะยกเลิกแพ็กเกจการผ่อนชำระนี้ การยกเลิกจะเกิดขึ้นหลังจากที่ผู้ใช้ชำระเงินทั้งหมดที่ตกลงไว้แล้วเท่านั้น

PendingCancellation

ประเภทนี้ไม่มีฟิลด์

ซึ่งเป็นตัวบ่งชี้ว่ามีการยกเลิกแพ็กเกจการผ่อนชำระเสมือนที่รอดำเนินการหรือไม่ การยกเลิกจะเกิดขึ้นหลังจากที่ผู้ใช้ชำระเงินทั้งหมดที่ตกลงไว้แล้วเท่านั้น

PriceStepUpConsentDetails

ข้อมูลที่เกี่ยวข้องกับการปรับราคาขึ้นซึ่งต้องได้รับความยินยอมของผู้ใช้

การแสดง JSON
{
  "state": enum (ConsentState),
  "consentDeadlineTime": string,
  "newPrice": {
    object (Money)
  }
}
ช่อง
state

enum (ConsentState)

เอาต์พุตเท่านั้น สถานะความยินยอมในการปรับราคาขึ้น

consentDeadlineTime

string (Timestamp format)

กำหนดเวลาที่ผู้ใช้ต้องให้ความยินยอม หากไม่ได้รับความยินยอมภายในเวลานี้ ระบบจะยกเลิกการสมัครใช้บริการ

ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"

newPrice

object (Money)

ราคาใหม่ที่ต้องได้รับความยินยอมของผู้ใช้

ConsentState

สถานะความยินยอมในการปรับราคาขึ้น

Enum
CONSENT_STATE_UNSPECIFIED สถานะความยินยอมที่ไม่ได้ระบุ
PENDING ผู้ใช้ยังไม่ได้ให้ความยินยอม
CONFIRMED ผู้ใช้ได้ให้ความยินยอมแล้ว และราคาใหม่กำลังรอให้มีผล
COMPLETED ผู้ใช้ได้ให้ความยินยอมแล้ว และราคาใหม่มีผลแล้ว

PrepaidPlan

ข้อมูลที่เกี่ยวข้องกับแพ็กเกจแบบชำระเงินล่วงหน้า

การแสดง JSON
{
  "allowExtendAfterTime": string
}
ช่อง
allowExtendAfterTime

string (Timestamp format)

หากมี นี่คือเวลาหลังจากนั้นระบบจะอนุญาตให้ซื้อการเติมเงินสำหรับแพ็กเกจแบบชำระเงินล่วงหน้า จะไม่แสดงสำหรับแพ็กเกจแบบชำระเงินล่วงหน้าที่หมดอายุแล้ว

ใช้ RFC 3339 โดยเอาต์พุตที่สร้างขึ้นจะได้รับการแปลงเป็นรูปแบบ Z เสมอ และใช้ตัวเลขเศษส่วน 0, 3, 6 หรือ 9 หลัก นอกจากนี้ ระบบยังยอมรับออฟเซ็ตอื่นๆ นอกเหนือจาก "Z" ด้วย เช่น "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" หรือ "2014-10-02T15:01:23+05:30"

OfferDetails

ข้อมูลรายละเอียดข้อเสนอที่เกี่ยวข้องกับรายการโฆษณาที่ซื้อ

การแสดง JSON
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
ช่อง
offerTags[]

string

แท็กข้อเสนอล่าสุดที่เชื่อมโยงกับข้อเสนอ ซึ่งรวมถึงแท็กที่รับช่วงมาจากแพ็กเกจพื้นฐาน

basePlanId

string

รหัสแพ็กเกจเริ่มต้น พร้อมใช้งานสำหรับแพ็กเกจเริ่มต้นและข้อเสนอทั้งหมด

offerId

string

รหัสข้อเสนอ มีเฉพาะในข้อเสนอที่ลดราคา

DeferredItemReplacement

ข้อมูลที่เกี่ยวข้องกับการเปลี่ยนทดแทนรายการที่เลื่อนออกไป

การแสดง JSON
{
  "productId": string
}
ช่อง
productId

string

รหัสผลิตภัณฑ์ที่จะแทนที่รหัสผลิตภัณฑ์ที่มีอยู่

DeferredItemRemoval

ประเภทนี้ไม่มีฟิลด์

ข้อมูลที่เกี่ยวข้องกับการเปลี่ยนทดแทนรายการที่เลื่อนออกไป

SignupPromotion

โปรโมชันที่ใช้กับรายการนี้เมื่อซื้อ

การแสดง JSON
{

  // Union field promotion_type can be only one of the following:
  "oneTimeCode": {
    object (OneTimeCode)
  },
  "vanityCode": {
    object (VanityCode)
  }
  // End of list of possible types for union field promotion_type.
}
ช่อง
ฟิลด์ Union promotion_type ประเภทโปรโมชันที่ใช้กับสินค้า promotion_type ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
oneTimeCode

object (OneTimeCode)

ใช้รหัสแบบใช้ครั้งเดียวแล้ว

vanityCode

object (VanityCode)

ใช้รหัสที่กำหนดเองแล้ว

OneTimeCode

ประเภทนี้ไม่มีฟิลด์

รหัสโปรโมชันแบบใช้ครั้งเดียว

VanityCode

รหัสโปรโมชันที่กำหนดไว้ล่วงหน้าซึ่งใช้ได้หลายครั้ง

การแสดง JSON
{
  "promotionCode": string
}
ช่อง
promotionCode

string

รหัสโปรโมชัน

ItemReplacement

รายละเอียดเกี่ยวกับรายการโฆษณาการสมัครใช้บริการที่จะแทนที่

การแสดง JSON
{
  "productId": string,
  "replacementMode": enum (ReplacementMode),
  "basePlanId": string,
  "offerId": string
}
ช่อง
productId

string

รหัสผลิตภัณฑ์ของรายการโฆษณาการสมัครใช้บริการที่จะแทนที่

replacementMode

enum (ReplacementMode)

โหมดการเปลี่ยนทดแทนที่ใช้ในระหว่างการซื้อ

basePlanId

string

รหัสแพ็กเกจเริ่มต้นของรายการโฆษณาการสมัครใช้บริการที่จะแทนที่

offerId

string

รหัสข้อเสนอของรายการโฆษณาการสมัครใช้บริการที่จะแทนที่ (หากมี)

ReplacementMode

โหมดการแทนที่สำหรับการสมัครใช้บริการ

Enum
REPLACEMENT_MODE_UNSPECIFIED โหมดการแทนที่ที่ไม่ได้ระบุ
WITH_TIME_PRORATION ระบบจะคิดราคาแพ็กเกจใหม่ตามสัดส่วนและให้เครดิตจากแพ็กเกจเก่า
CHARGE_PRORATED_PRICE ระบบจะเรียกเก็บเงินจากผู้ใช้ตามสัดส่วนสำหรับแพ็กเกจใหม่
WITHOUT_PRORATION แพ็กเกจใหม่จะแทนที่แพ็กเกจเก่าโดยไม่มีการเฉลี่ยเวลา
CHARGE_FULL_PRICE ระบบจะเรียกเก็บเงินจากผู้ใช้ในราคาเต็มสำหรับแพ็กเกจใหม่
DEFERRED ระบบจะยกเลิกแพ็กเกจเก่าและแพ็กเกจใหม่จะมีผลหลังจากแพ็กเกจเก่าหมดอายุ
KEEP_EXISTING แพ็กเกจจะยังคงเหมือนเดิมเมื่อมีการเปลี่ยนทดแทน

OfferPhase

รายละเอียดระยะของข้อเสนอ

การแสดง JSON
{

  // Union field offer_phase can be only one of the following:
  "prorationPeriod": {
    object (ProrationPeriodOfferPhase)
  },
  "freeTrial": {
    object (FreeTrialOfferPhase)
  },
  "introductoryPrice": {
    object (IntroductoryPriceOfferPhase)
  },
  "basePrice": {
    object (BasePriceOfferPhase)
  }
  // End of list of possible types for union field offer_phase.
}
ช่อง
ฟิลด์ Union offer_phase รายละเอียดระยะของข้อเสนอ offer_phase ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
prorationPeriod

object (ProrationPeriodOfferPhase)

กำหนดเมื่อระยะข้อเสนอเป็นระยะเวลาการปันส่วนตามสัดส่วน

freeTrial

object (FreeTrialOfferPhase)

กำหนดเมื่อเฟสข้อเสนอเป็นช่วงทดลองใช้ฟรี

introductoryPrice

object (IntroductoryPriceOfferPhase)

ตั้งค่าเมื่อเฟสข้อเสนอเป็นเฟสข้อเสนอราคาช่วงแนะนำ

basePrice

object (BasePriceOfferPhase)

กำหนดเมื่อระยะข้อเสนอเป็นระยะการกำหนดราคาแพ็กเกจเริ่มต้น

ProrationPeriodOfferPhase

รายละเอียดเกี่ยวกับระยะข้อเสนอการคิดตามสัดส่วน

การแสดง JSON
{
  "originalOfferPhaseType": enum (OriginalOfferPhaseType)
}
ช่อง
originalOfferPhaseType

enum (OriginalOfferPhaseType)

ประเภทระยะข้อเสนอเดิมก่อนช่วงการปันส่วน ตั้งค่าเมื่อมีการอัปเดตระยะเวลาการชำระเงินตามสัดส่วนจากระยะข้อเสนอที่มีอยู่เท่านั้น

OriginalOfferPhaseType

ระยะข้อเสนอเดิมของการชำระเงินตามข้อเสนอ หากการชำระเงินตามข้อเสนอเป็นการชำระเงินตามสัดส่วน

Enum
ORIGINAL_OFFER_PHASE_TYPE_UNSPECIFIED ประเภทระยะข้อเสนอเดิมที่ไม่ระบุ
BASE การสมัครใช้บริการอยู่ในระยะการกำหนดราคาฐาน (เช่น ราคาเต็ม)
INTRODUCTORY การสมัครใช้บริการอยู่ในช่วงราคาช่วงแนะนำ
FREE_TRIAL การสมัครใช้บริการอยู่ในช่วงทดลองใช้ฟรี

FreeTrialOfferPhase

ประเภทนี้ไม่มีฟิลด์

รายละเอียดเกี่ยวกับระยะข้อเสนอช่วงทดลองใช้ฟรี

IntroductoryPriceOfferPhase

ประเภทนี้ไม่มีฟิลด์

รายละเอียดเกี่ยวกับระยะเวลาของข้อเสนอราคาช่วงแนะนำ

BasePriceOfferPhase

ประเภทนี้ไม่มีฟิลด์

รายละเอียดเกี่ยวกับระยะเวลาของข้อเสนอราคาฐาน

OutOfAppPurchaseContext

ข้อมูลเฉพาะสำหรับการซื้อนอกแอป

การแสดง JSON
{
  "expiredExternalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "expiredPurchaseToken": string
}
ช่อง
expiredExternalAccountIdentifiers

object (ExternalAccountIdentifiers)

ตัวระบุบัญชีผู้ใช้จากการสมัครใช้บริการที่หมดอายุล่าสุดสำหรับ SKU นี้

expiredPurchaseToken

string

โทเค็นการซื้อของการสมัครใช้บริการล่าสุดที่หมดอายุ โทเค็นการซื้อนี้ต้องใช้เพื่อช่วยระบุผู้ใช้เท่านั้น หากจัดเก็บลิงก์ระหว่าง purchaseToken กับผู้ใช้ไว้ในฐานข้อมูล โดยจะใช้เพื่อเรียก Google Developer API ไม่ได้หากหมดอายุไปแล้วนานกว่า 60 วัน

OnHoldStateContext

บริบทเพิ่มเติมเกี่ยวกับการสมัครใช้บริการในสถานะ ON_HOLD

การแสดง JSON
{

  // Union field on_hold_reason can be only one of the following:
  "renewalDeclined": {
    object (RenewalDeclinedContext)
  }
  // End of list of possible types for union field on_hold_reason.
}
ช่อง
ฟิลด์ Union on_hold_reason เหตุผลที่การสมัครใช้บริการอยู่ในสถานะ ON_HOLD on_hold_reason ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
renewalDeclined

object (RenewalDeclinedContext)

ไม่บังคับ การชำระเงินสำหรับการต่ออายุถูกปฏิเสธ

RenewalDeclinedContext

บริบทที่เกี่ยวข้องกับสถานการณ์การต่ออายุที่ถูกปฏิเสธ

การแสดง JSON
{
  "pendingOrderId": string
}
ช่อง
pendingOrderId

string

ต้องระบุ รหัสของคำสั่งซื้อที่รอดำเนินการหรือล้มเหลวซึ่งทำให้เกิดสถานะ

InGracePeriodStateContext

บริบทเพิ่มเติมเกี่ยวกับการสมัครใช้บริการในสถานะ IN_GRACE_PERIOD

การแสดง JSON
{

  // Union field grace_period_reason can be only one of the following:
  "renewalDeclined": {
    object (RenewalDeclinedContext)
  }
  // End of list of possible types for union field grace_period_reason.
}
ช่อง
ฟิลด์ Union grace_period_reason เหตุผลที่การสมัครใช้บริการอยู่ในสถานะ IN_GRACE_PERIOD grace_period_reason ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
renewalDeclined

object (RenewalDeclinedContext)

ไม่บังคับ การชำระเงินสำหรับการต่ออายุถูกปฏิเสธ

เมธอด

cancel

ยกเลิกการซื้อการสมัครใช้บริการให้ผู้ใช้

defer

เลื่อนการต่ออายุการสมัครใช้บริการ

get

รับข้อมูลเมตาเกี่ยวกับการสมัครใช้บริการ

revoke

เพิกถอนการซื้อการสมัครใช้บริการสำหรับผู้ใช้

รหัสข้อผิดพลาด

การดำเนินการของทรัพยากรนี้จะแสดงรหัสข้อผิดพลาดของ HTTP ต่อไปนี้

รหัสข้อผิดพลาด เหตุผล คำอธิบาย ความละเอียด
400 / 410 subscriptionExpired การสมัครใช้บริการหมดอายุแล้วและไม่สามารถดำเนินการตามที่ขอได้ ตรวจสอบเวลาหมดอายุของการสมัครใช้บริการ ไม่อนุญาตให้ดำเนินการนี้กับการสมัครใช้บริการที่หมดอายุแล้ว
400 subscriptionInvalidArgument มีการระบุอาร์กิวเมนต์ที่ไม่ถูกต้องในคำขอสมัครใช้บริการ อ่านเอกสารประกอบ API และตรวจสอบว่าได้ระบุช่องที่จำเป็นทั้งหมดและจัดรูปแบบอย่างถูกต้องแล้ว
400 invalidPurchaseState การซื้อไม่อยู่ในสถานะที่ถูกต้องเพื่อดำเนินการตามที่ขอ เช่น คุณอาจพยายามตอบรับการซื้อที่ใช้ไปแล้วหรือยกเลิกการสมัครใช้บริการที่ไม่ได้ใช้งาน ตรวจสอบสถานะปัจจุบันของทรัพยากรโดยใช้ Get API ที่เกี่ยวข้องก่อนที่จะพยายามดำเนินการ ตรวจสอบว่าทรัพยากรอยู่ในสถานะที่เหมาะสมสำหรับการดำเนินการ
400 invalidValue ระบุค่าไม่ถูกต้องในคำขอ โดยมักจะแสดงผลสำหรับโทเค็นการซื้อที่มีรูปแบบไม่ถูกต้องหรือไม่ถูกต้อง แก้ไขค่าฟิลด์ที่ไม่ถูกต้องในเนื้อหาคำขอหรือพารามิเตอร์ตามเอกสารอ้างอิง API
400 prepaidSubscriptionNotSupported การดำเนินการที่ขอไม่รองรับสำหรับการสมัครใช้บริการแบบชำระเงินล่วงหน้า ตรวจสอบว่าการดำเนินการใช้ได้กับประเภทการสมัครใช้บริการ ข้อผิดพลาดนี้เกิดขึ้นเฉพาะกับเมธอดอย่างเช่น Cancel
400 productNotOwnedByUser โทเค็นการซื้อที่ระบุนั้นถูกต้อง แต่ปัจจุบันผู้ใช้ไม่ได้เป็นเจ้าของผลิตภัณฑ์ กรณีนี้อาจเกิดขึ้นหากมีการคืนเงิน เพิกถอน หรือหมดอายุการซื้อก่อนที่จะมีการรับทราบ ตรวจสอบสถานะปัจจุบันของทรัพยากรโดยใช้ Get API ที่เกี่ยวข้องก่อนที่จะพยายามดำเนินการ ตรวจสอบว่าทรัพยากรอยู่ในสถานะที่เหมาะสมสำหรับการดำเนินการ
400 purchaseTokenMismatch โทเค็นการซื้อที่ระบุไม่ตรงกับการซื้อ ชื่อแพ็กเกจ รหัสการสมัครใช้บริการ หรือรหัสผลิตภัณฑ์ ตรวจสอบว่ารายละเอียดทั้งหมดในคำขอถูกต้องและสอดคล้องกัน
400 required คำขอไม่มีช่องหรือพารามิเตอร์ที่จำเป็น โปรดดูเอกสารประกอบ API เพื่อให้แน่ใจว่าได้รวมฟิลด์และพารามิเตอร์ที่จำเป็นทั้งหมดแล้ว
400 unsupportedIabType การดำเนินการนี้ไม่รองรับสำหรับประเภทการเรียกเก็บเงินสำหรับการซื้อในแอปที่ระบุ ตรวจสอบว่าเมธอด API เข้ากันได้กับประเภทรายการที่กำลังจัดการ
403 userInsufficientPermission ผู้ใช้ไม่มีสิทธิ์เพียงพอที่จะดำเนินการที่ขอ ตรวจสอบว่าผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์มีสิทธิ์ที่จำเป็นใน Google Play Console ดูรายละเอียดเพิ่มเติมได้ที่ การใช้บัญชีบริการ
404 notFound ไม่พบทรัพยากรที่ขอ ตรวจสอบว่าตัวระบุ (เช่น โทเค็นการซื้อ ชื่อแพ็กเกจ รหัสผลิตภัณฑ์ รหัสการสมัครใช้บริการ) ถูกต้อง
409 concurrentUpdate มีการพยายามอัปเดตออบเจ็กต์ที่กำลังอัปเดตพร้อมกัน ลองส่งคำขออีกครั้งโดยใช้ Exponential Backoff หลีกเลี่ยงการแก้ไขทรัพยากรเดียวกันพร้อมกัน
410 purchaseTokenNoLongerValid โทเค็นการซื้อใช้ไม่ได้อย่างถาวรเนื่องจากมีการลบบัญชีผู้ใช้ที่เชื่อมโยงหรือไม่มีบันทึกการซื้ออีกต่อไป หยุดใช้โทเค็นการซื้อนี้
410 subscriptionNoLongerAvailable คุณไม่สามารถค้นหาการซื้อการสมัครใช้บริการได้อีกต่อไปเนื่องจากหมดอายุไปนานแล้ว ข้อผิดพลาดนี้แสดงว่าการสมัครใช้บริการหมดอายุมานานกว่า 60 วันแล้ว คุณไม่ควรค้นหาข้อมูลการติดตามเหล่านี้อีกต่อไป
5xx Generic error ข้อผิดพลาดทั่วไปในเซิร์ฟเวอร์ Google Play ลองส่งคำขออีกครั้ง

หากยังคงพบปัญหาอยู่ โปรดติดต่อผู้จัดการลูกค้าของ Google Play หรือส่งคำขอรับการสนับสนุน โปรดตรวจสอบแดชบอร์ดสถานะของ Play เพื่อดูการหยุดทำงานที่ทราบ