REST Resource: purchases.subscriptions

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

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

การแสดง JSON
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
ช่อง
kind

string

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

startTimeMillis

string (int64 format)

เวลาที่ให้สิทธิ์การสมัครใช้บริการเป็นมิลลิวินาทีที่เริ่มนับมาตั้งแต่วันที่ 1 มกราคม ค.ศ. 1970

expiryTimeMillis

string (int64 format)

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

autoResumeTimeMillis

string (int64 format)

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

autoRenewing

boolean

การสมัครใช้บริการจะต่ออายุโดยอัตโนมัติเมื่อถึงเวลาหมดอายุปัจจุบันหรือไม่

priceCurrencyCode

string

รหัสสกุลเงิน ISO 4217 สำหรับราคาการสมัครใช้บริการ เช่น หากระบุราคาเป็นเงินปอนด์สเตอร์ลิงของอังกฤษ priceCurrencyCode จะเป็น "GBP"

priceAmountMicros

string (int64 format)

ราคาของการสมัครใช้บริการ สำหรับประเทศที่ไม่รวมภาษี ราคานี้จะไม่รวมภาษี สำหรับประเทศที่รวมภาษี ราคาจะรวมภาษีแล้ว ราคาจะแสดงในหน่วยไมโคร โดยที่ 1,000,000 หน่วยไมโครแสดงถึงสกุลเงิน 1 หน่วย ตัวอย่างเช่น หากราคาการสมัครใช้บริการคือ €1.99 priceAmountMicros จะเป็น 1990000

introductoryPriceInfo

object (IntroductoryPriceInfo)

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

ช่องนี้ไม่ได้ระบุว่าการสมัครใช้บริการอยู่ในช่วงราคาช่วงแนะนำในขณะนี้

countryCode

string

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

developerPayload

string

สตริงที่นักพัฒนาแอประบุซึ่งมีข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งซื้อ

paymentState

integer

สถานะการชำระเงินของการสมัครใช้บริการ ค่าที่เป็นไปได้คือ 0 การชำระเงินที่รอดำเนินการ 1 ได้รับชำระเงินแล้ว 2 ทดลองใช้ฟรี 3 การอัปเกรด/ดาวน์เกรดที่เลื่อนเวลาไว้

ไม่มีในกรณีของการสมัครใช้บริการที่ถูกยกเลิกหรือหมดอายุ

cancelReason

integer

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

userCancellationTimeMillis

string (int64 format)

เวลาที่ผู้ใช้ยกเลิกการสมัครใช้บริการ หน่วยเป็นมิลลิวินาทีตั้งแต่ Epoch แสดงเมื่อ cancelReason เป็น 0 เท่านั้น

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

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

orderId

string

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

linkedPurchaseToken

string

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

ตัวอย่างเช่น สมมติว่าผู้ใช้ลงชื่อสมัครใช้ครั้งแรกและคุณได้รับโทเค็นการซื้อ X จากนั้นผู้ใช้ยกเลิกและทำตามขั้นตอนการลงชื่อสมัครใช้อีกครั้ง (ก่อนที่การสมัครใช้บริการจะหมดอายุ) และคุณได้รับโทเค็นการซื้อ Y สุดท้ายผู้ใช้อัปเกรดการสมัครใช้บริการและคุณได้รับโทเค็นการซื้อ Z หากคุณเรียกใช้ API นี้ด้วยโทเค็นการซื้อ Z ระบบจะตั้งค่าช่องนี้เป็น Y หากคุณเรียก API นี้ด้วยโทเค็นการซื้อ Y ระบบจะตั้งค่าช่องนี้เป็น X หากเรียกใช้ API นี้ด้วยโทเค็นการซื้อ X ระบบจะไม่ตั้งค่าช่องนี้

purchaseType

integer

ประเภทการซื้อการสมัครใช้บริการ ระบบจะตั้งค่าช่องนี้ก็ต่อเมื่อการซื้อไม่ได้ดำเนินการผ่านขั้นตอนการเรียกเก็บเงินมาตรฐานสำหรับการซื้อในแอป ค่าที่เป็นไปได้คือ 0 ทดสอบ (เช่น ซื้อจากบัญชีทดสอบใบอนุญาต) 1 โปรโมชัน (เช่น ซื้อโดยใช้รหัสโปรโมชัน)

priceChange

object (SubscriptionPriceChange)

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

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

profileName

string

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

emailAddress

string

อีเมลของผู้ใช้เมื่อซื้อการสมัครใช้บริการ มีเฉพาะสำหรับการซื้อที่ดำเนินการด้วย "สมัครใช้บริการด้วย Google" เท่านั้น

givenName

string

ชื่อต้นของผู้ใช้เมื่อซื้อการสมัครใช้บริการ มีเฉพาะสำหรับการซื้อที่ดำเนินการด้วย "สมัครใช้บริการด้วย Google" เท่านั้น

familyName

string

นามสกุลของผู้ใช้เมื่อซื้อการสมัครใช้บริการ มีเฉพาะสำหรับการซื้อที่ดำเนินการด้วย "สมัครใช้บริการด้วย Google" เท่านั้น

profileId

string

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

acknowledgementState

integer

สถานะการรับทราบของผลิตภัณฑ์การสมัครใช้บริการ ค่าที่เป็นไปได้คือ 0 ยังไม่ได้รับทราบ 1 รับทราบแล้ว

externalAccountId

string

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

promotionType

integer

ประเภทโปรโมชันที่ใช้กับการซื้อนี้ ระบบจะตั้งค่าช่องนี้ก็ต่อเมื่อมีการใช้โปรโมชันเมื่อซื้อการสมัครใช้บริการ ค่าที่เป็นไปได้คือ 0 รหัสแบบใช้ครั้งเดียว 1 รหัสแบบสั้น

promotionCode

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 เมื่อทำการซื้อ

IntroductoryPriceInfo

มีข้อมูลราคาช่วงแนะนำสำหรับการสมัครใช้บริการ

การแสดง JSON
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
ช่อง
introductoryPriceCurrencyCode

string

รหัสสกุลเงิน ISO 4217 สำหรับราคาการสมัครใช้บริการช่วงแนะนำ เช่น หากระบุราคาเป็นเงินปอนด์สเตอร์ลิงของอังกฤษ priceCurrencyCode จะเป็น "GBP"

introductoryPriceAmountMicros

string (int64 format)

ราคาช่วงแนะนำของการสมัครใช้บริการ โดยไม่รวมภาษี สกุลเงินที่ใช้จะเป็นสกุลเงินเดียวกับ priceCurrencyCode ราคาจะแสดงในหน่วยไมโคร โดยที่ 1,000,000 หน่วยไมโครแสดงถึงสกุลเงิน 1 หน่วย ตัวอย่างเช่น หากราคาการสมัครใช้บริการคือ €1.99 priceAmountMicros จะเป็น 1990000

introductoryPricePeriod

string

ระยะเวลาของราคาแนะนำที่ระบุในรูปแบบ ISO 8601 ค่าที่ใช้กันโดยทั่วไป ได้แก่ (แต่ไม่จำกัดเพียง) "P1W" (1 สัปดาห์), "P1M" (1 เดือน), "P3M" (3 เดือน), "P6M" (6 เดือน) และ "P1Y" (1 ปี)

introductoryPriceCycles

integer

จำนวนช่วงเวลาที่เรียกเก็บเงินเพื่อเสนอราคาช่วงแนะนำ

SubscriptionCancelSurveyResult

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

การแสดง JSON
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
ช่อง
cancelSurveyReason

integer

เหตุผลในการยกเลิกที่ผู้ใช้เลือกในแบบสำรวจ ค่าที่เป็นไปได้คือ 0 อื่นๆ 1 ฉันไม่ค่อยได้ใช้บริการนี้ 2. ปัญหาทางเทคนิค 3. เหตุผลด้านราคา 4. ฉันเจอแอปที่ดีกว่า

userInputCancelReason

string

เหตุผลการยกเลิกที่ผู้ใช้ป้อนเอง แสดงเฉพาะเมื่อ cancelReason เป็น 0

SubscriptionPriceChange

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

การแสดง JSON
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
ช่อง
newPrice

object (Price)

ราคาใหม่ที่ระบบจะใช้ต่ออายุการสมัครใช้บริการหากผู้ใช้ยอมรับการเปลี่ยนแปลงราคา

state

integer

สถานะปัจจุบันของการเปลี่ยนแปลงราคา ค่าที่เป็นไปได้คือ 0 รอดำเนินการ: สถานะของการเปลี่ยนแปลงราคาที่รอดำเนินการซึ่งรอให้ผู้ใช้ยอมรับ ในสถานะนี้ คุณสามารถขอการยืนยันจากผู้ใช้โดยใช้ In-App API ได้ 1. ยอมรับแล้ว: สถานะของการเปลี่ยนแปลงราคาที่ยอมรับแล้วซึ่งการสมัครใช้บริการจะต่ออายุด้วยราคานี้ เว้นแต่จะมีการยกเลิก การเปลี่ยนแปลงราคาจะมีผลในวันที่ในอนาคตเมื่อการสมัครใช้บริการต่ออายุ โปรดทราบว่าการเปลี่ยนแปลงอาจไม่เกิดขึ้นเมื่อต่ออายุการสมัครใช้บริการครั้งถัดไป

เมธอด

acknowledge

รับทราบการซื้อการสมัครใช้บริการ

cancel

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

defer

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

get
(deprecated)

เลิกใช้งานแล้ว: โปรดใช้ purchases.subscriptionsv2.get แทน

refund
(deprecated)

เลิกใช้งานแล้ว: ใช้ orders.refund แทน

revoke
(deprecated)

เลิกใช้งานแล้ว: ใช้ purchases.subscriptionsv2.revoke แทน

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

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

รหัสข้อผิดพลาด เหตุผล ความละเอียด
5xx ข้อผิดพลาดทั่วไปในเซิร์ฟเวอร์ Google Play ลองส่งคำขออีกครั้ง

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

409 ข้อผิดพลาดในการอัปเดตพร้อมกัน

มีการพยายามอัปเดตออบเจ็กต์ที่กำลังอัปเดตอยู่ เช่น การตอบรับการซื้อ จะทำได้โดยการเรียกใช้เมธอด acknowledgePurchase() ของ Play Billing Library และเรียกใช้ purchases.products.acknowledge ของ Play Developer API พร้อมกัน

ลองส่งคำขออีกครั้ง
410 คุณไม่สามารถค้นหาการซื้อการสมัครใช้บริการได้อีกต่อไปเนื่องจากหมดอายุไปนานแล้ว เกิดขึ้นเมื่อค้นหาการสมัครใช้บริการที่หมดอายุไปแล้วนานกว่า 60 วัน คุณไม่ควรค้นหาการสมัครใช้บริการเหล่านี้อีกต่อไป