REST Resource: purchases.subscriptions

แหล่งข้อมูล: การซื้อการสมัครใช้บริการ

ทรัพยากร 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)

เวลาที่การสมัครรับข้อมูลได้รับการอนุญาตเป็นมิลลิวินาทีนับจาก Epoch

expiryTimeMillis

string (int64 format)

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

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

วิธีการ

acknowledge

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

cancel

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

defer

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

get

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

refund

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

revoke

การคืนเงินและเพิกถอนการซื้อการสมัครใช้บริการของผู้ใช้ทันที