Google Play Developer API มีฟังก์ชันเพิ่มเติมสำหรับการรายงานธุรกรรมจากการเรียกเก็บเงินและโปรแกรมลิงก์ คู่มือนี้อธิบายวิธีรายงานธุรกรรมจากโปรแกรมการเรียกเก็บเงินเหล่านี้
คุณอาจต้องใช้คอมโพเนนต์บางอย่างเพื่อจัดการธุรกรรมภายนอก จากแบ็กเอนด์ หากต้องการสร้าง คุณต้องตั้งค่าการผสานรวมแบ็กเอนด์ตามที่ระบุไว้ในกำหนดค่า Google Play Developer API หากต้องการสร้างฟังก์ชันแบ็กเอนด์ของนักพัฒนาแอปที่ไม่เกี่ยวข้องกับการเรียกเก็บเงินและโปรแกรมลิงก์โดยเฉพาะ โปรดดูระบบการเรียกเก็บเงินของ Google Play
อภิธานศัพท์
คู่มือนี้ใช้คำศัพท์ตามแบบแผนต่อไปนี้
- โปรแกรมการเรียกเก็บเงินและลิงก์: โปรแกรมที่อำนวยความสะดวกในการซื้อเนื้อหาดิจิทัล หรือการดาวน์โหลดแอปนอก Google Play ซึ่งรวมถึงโปรแกรมการเรียกเก็บเงินระบบอื่นและข้อเสนอภายนอก
- API ธุรกรรมภายนอก: API ที่ใช้ในการรายงานธุรกรรมสำหรับการเรียกเก็บเงินและโปรแกรมลิงก์ที่มีสิทธิ์
- ธุรกรรมภายนอก: ธุรกรรมที่เข้าเกณฑ์ซึ่งเกิดขึ้นนอกแอปตามที่กำหนดไว้ในข้อกำหนดของโปรแกรม ซึ่งรวมถึงการซื้อเนื้อหาดิจิทัล และการดาวน์โหลดแอป
- โทเค็นธุรกรรมภายนอก: โทเค็นที่ได้รับผ่าน Play Billing Library เพื่อให้คุณใช้เมื่อผู้ใช้ทำธุรกรรมภายนอกเสร็จสมบูรณ์ โทเค็นนี้ใช้เพื่อแจ้งให้ Google Play ทราบว่าธุรกรรมภายนอกสำเร็จแล้ว
- รหัสธุรกรรมภายนอก: ตัวระบุที่ไม่ซ้ำกันซึ่งคุณสร้างขึ้นเพื่อระบุธุรกรรมภายนอก
รายงานธุรกรรมภายนอกใหม่ให้ Google Play ทราบ
ผสานรวมกับ externaltransactions API เพื่อรายงาน
ธุรกรรมที่เกิดขึ้นนอกระบบการเรียกเก็บเงินของ Google Play ในประเทศที่รองรับ
รวมถึงธุรกรรมที่มีมูลค่า $0 ซึ่งเป็นผลมาจากการซื้อช่วงทดลองใช้ฟรีและการ
ติดตั้งแอป คุณควรเริ่มและรายงานธุรกรรมในการเรียกเก็บเงินและโปรแกรมลิงก์
สำหรับประเทศของผู้ใช้ที่มีสิทธิ์ตามที่ได้รับอนุญาตภายใต้หลักเกณฑ์การเรียกเก็บเงินระบบอื่นหรือข้อเสนอภายนอก
เท่านั้น ไม่เช่นนั้นระบบจะปฏิเสธการเรียก API โดยจะมีผลกับการทำธุรกรรมทั้งหมด
รวมถึงการซื้อใหม่ การต่ออายุ การเติมเงิน การอัปเกรด การดาวน์เกรด
และการดาวน์โหลดแอป
การรายงานธุรกรรมภายนอก
คุณควรเรียกใช้ externaltransactions API เพื่อรายงานธุรกรรมภายนอก
หลังจากที่การชำระเงินได้รับอนุมัติผ่านโปรแกรมการเรียกเก็บเงินและการลิงก์
ซึ่งมีผลกับธุรกรรมทั้งหมด รวมถึงการเรียกเก็บเงินครั้งแรก การต่ออายุ การคืนเงิน
และอื่นๆ ดูหลักเกณฑ์สำหรับการเรียกเก็บเงินและโปรแกรมลิงก์ที่เกี่ยวข้องสำหรับ
ข้อกำหนดในการรายงาน
ธุรกรรมภายนอกแต่ละรายการจะรายงานพร้อมรหัสธุรกรรมภายนอก สำหรับการซื้อที่เกิดซ้ำ (เช่น การสมัครใช้บริการที่ต่ออายุใหม่อัตโนมัติ) คุณต้องส่งรหัสธุรกรรมภายนอกที่เชื่อมโยงกับธุรกรรมแรกในการซื้อที่เกิดซ้ำเป็นพารามิเตอร์สำหรับธุรกรรมต่อๆ ไป รวมถึงการคืนเงิน ซึ่งจะ บันทึกชุดธุรกรรมสำหรับการซื้อนั้น คุณควรส่งรหัสธุรกรรมภายนอกใหม่สำหรับการซื้อเมื่อผลิตภัณฑ์มีการเปลี่ยนแปลง (เช่น การอัปเกรดหรือการดาวน์เกรด) หรือหากมีการยกเลิกหรือหมดอายุธุรกรรมที่เกิดซ้ำ และมีการซื้อผลิตภัณฑ์เดียวกันอีกในภายหลัง คุณต้องไม่ระบุข้อมูลส่วนบุคคลที่ระบุตัวบุคคลนั้นได้ ข้อมูลที่เป็นกรรมสิทธิ์ หรือข้อมูลที่เป็นความลับเป็นส่วนหนึ่งของรหัสธุรกรรมภายนอกนี้
รายงานธุรกรรมเริ่มต้น
ทุกครั้งที่การซื้อใหม่หรือการดาวน์โหลดแอปใหม่สำเร็จในโปรแกรมการเรียกเก็บเงินและลิงก์
คุณต้องเรียกใช้ externaltransactions API
แอปต้องได้รับ externalTransactionToken ผ่าน
UserChoiceBillingListener, AlternativeBillingOnlyReportingDetailsListener หรือ
การเรียกกลับ BillingProgramReportingDetailsListener ซึ่งเป็นส่วนหนึ่ง
ของเนื้อหาคำขอสำหรับการดาวน์โหลดแอป การซื้อแบบครั้งเดียว และธุรกรรมครั้งแรก
ในการซื้อที่เกิดซ้ำ (เช่น การสมัครใช้บริการ) ซึ่งเรียกว่าธุรกรรมเริ่มต้น หลังจากการทำธุรกรรมครั้งแรก ให้รายงานธุรกรรมครั้งต่อๆ ไป (เช่น การต่ออายุการสมัครใช้บริการ) โดยระบุexternalTransactionIdใหม่ที่ไม่ซ้ำกัน
ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีรายงานธุรกรรมที่ตามมาได้ที่รายงานธุรกรรมที่ตามมาสำหรับการซื้อ
ตัวอย่าง:
- นักพัฒนาแอปจะกำหนดค่าและเปิดใช้การเรียกเก็บเงินระบบอื่นในแอปของตน
- ผู้ใช้ 1 อยู่ในเกาหลีใต้ ซึ่งเป็นประเทศที่รองรับ และพยายามซื้อ
product1ในราคา 12634.10 วอนเกาหลีต่อเดือน พร้อมข้อเสนอทดลองใช้ฟรี 1 เดือน - แอปจะเปิดตัวขั้นตอนการซื้อด้วย
ProductDetailsสำหรับproduct1และข้อเสนอที่ผู้ใช้เลือก - ผู้ใช้ 1 เลือกใช้ระบบการเรียกเก็บเงินระบบอื่นของนักพัฒนาแอป
UserChoiceBillingListenerจะได้รับค่าmy_tokenเป็นexternalTransactionToken- จากนั้นนักพัฒนาแอปจะส่งข้อมูลที่เกี่ยวข้องไปยังแบ็กเอนด์
(ค่า
externalTransactionTokenและผลิตภัณฑ์ที่ซื้อ) จากนั้นผู้ใช้จะ เปิดตัวขั้นตอนการซื้อสำหรับproduct1ในระบบการเรียกเก็บเงินระบบอื่น ธุรกรรมนี้จะได้รับรหัสธุรกรรมที่ไม่ซ้ำกันในฝั่งนักพัฒนาแอป ซึ่งใช้เพื่อรายงานไปยัง Google Play: 123-456-789 ต้องระบุรหัสธุรกรรม แม้ว่าผู้ใช้จะได้รับช่วงทดลองใช้ฟรีก็ตาม - หลังจากเกิดธุรกรรมสำหรับการซื้อในระบบการเรียกเก็บเงินระบบอื่น แล้ว นักพัฒนาแอปจะรายงานธุรกรรมดังกล่าวไปยัง Google Play พร้อมคำขอต่อไปนี้ ระบบจะรายงานเป็นธุรกรรมที่มีมูลค่า 0 ดอลลาร์ในตอนแรก เนื่องจากผู้ใช้จะได้รับเดือนแรกฟรี
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=123-456-789
Body
{
"originalPreTaxAmount" : {
"priceMicros": "0",
"currency": "KRW"
},
"originalTaxAmount" : {
"priceMicros": "0",
"currency": "KRW"
},
"transactionTime" : "2022-02-22T12:45:00Z",
"recurringTransaction" : {
"externalTransactionToken": "my_token",
"externalSubscription" {
"subscriptionType": "RECURRING"
}
},
"userTaxAddress" : {
"regionCode": "KR"
}
}
เมื่อรายงานธุรกรรมเริ่มต้น โปรดทราบข้อมูลต่อไปนี้
subscriptionTypeอาจเป็นRECURRING(สำหรับการสมัครใช้บริการแบบต่ออายุใหม่อัตโนมัติ) หรือPREPAID(สำหรับการสมัครใช้บริการแบบชำระเงินล่วงหน้า)OtherRecurringProductต้องใช้เพื่อแสดงการซื้อแบบครั้งเดียวที่ ต้องมีการชำระเงินหลายครั้งหรือการชำระเงินที่ล่าช้า เช่น การสั่งจองล่วงหน้าอาจ มีการทำธุรกรรมครั้งแรกที่ $0 ตามด้วยธุรกรรมครั้งที่ 2 ในวันที่ต่อมา สำหรับราคาของ SKU เมื่อมีการดำเนินการตามคำสั่งจองล่วงหน้า ดูรายละเอียดเพิ่มเติมเกี่ยวกับการรายงานธุรกรรมที่ตามมาได้ที่รายงานธุรกรรมที่ตามมา สำหรับการซื้อ- คุณต้องระบุ
ExternalOfferDetailsเมื่อรายงาน ธุรกรรมข้อเสนอภายนอกครั้งแรก แต่ไม่จำเป็นต้องทำสำหรับธุรกรรมในภายหลัง
หากคุณทำธุรกรรมกับผู้ใช้ในอินเดียซึ่งภาษีขึ้นอยู่กับเขตการปกครอง (เช่น รัฐหรือจังหวัด) ให้ระบุเขตดังกล่าวในส่วนuserTaxAddress ดูรายการสตริงที่กำหนดไว้ล่วงหน้าในคู่มือเอกสารอ้างอิง API สำหรับเขตบริหารที่เกี่ยวข้อง
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=123-456-789
Body
{
"originalPreTaxAmount" : {
"priceMicros": "0",
"currency": "INR"
},
"originalTaxAmount" : {
"priceMicros": "0",
"currency": "INR"
},
"transactionTime" : "2023-11-01T12:45:00Z",
"recurringTransaction" : {
"externalTransactionToken": "my_token",
"externalSubscription" {
"subscriptionType": "RECURRING"
}
},
"userTaxAddress" : {
# Tax varies in India based on state, so include that information in
# administrativeArea
"regionCode": "IN"
"administrativeArea": "KERALA"
}
}
ข้อเสนอภายนอก
หากธุรกรรมที่รายงานอยู่ภายใต้โปรแกรมข้อเสนอภายนอก คุณต้องตั้งค่าฟิลด์ externalOfferDetails หากธุรกรรมเป็นธุรกรรมแบบครั้งเดียวหรือธุรกรรมแรกของชุดธุรกรรมที่เกิดซ้ำ
- เมื่อรายงานธุรกรรมการดาวน์โหลดแอป ให้ตั้งค่า
linkTypeเป็นLINK_TO_APP_DOWNLOADและระบุค่าที่เหมาะสมสำหรับinstalledAppPackageและinstalledAppCategoryดูรายละเอียดได้ที่รายงานการดาวน์โหลดแอป - เมื่อรายงานธุรกรรมข้อเสนอเนื้อหาดิจิทัล ให้ตั้งค่า
linkTypeเป็นLINK_TO_DIGITAL_CONTENT - หลังจากติดตั้งแอปภายนอกผ่านโปรแกรมข้อเสนอภายนอกแล้ว คุณต้องรายงานธุรกรรมที่ทำในแอปภายนอก เมื่อรายงานธุรกรรมเหล่านี้ ให้ลิงก์ธุรกรรมเหล่านี้กับเหตุการณ์การดาวน์โหลดแอปเดิม ดังนี้
- ระบุ
externalTransactionTokenจากเหตุการณ์การดาวน์โหลดแอป - ในช่อง
externalOfferDetailsให้ตั้งค่าappDownloadEventExternalTransactionIdเป็นexternalTransactionIdของ เหตุการณ์การดาวน์โหลดแอป คุณไม่จำเป็นต้องกรอกข้อมูลในช่องอื่นๆ ในexternalOfferDetails
- ระบุ
ตัวอย่างคำขอสำหรับธุรกรรมในแอปภายนอกที่ดาวน์โหลดผ่านข้อเสนอภายนอก
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=ABC-DEF-GHI
Body
{
"originalPreTaxAmount" : {
"priceMicros": "100000",
"currency": "EUR"
},
"originalTaxAmount" : {
"priceMicros": "10000",
"currency": "EUR"
},
"transactionTime" : "2025-11-22T12:45:00Z",
"oneTimeTransaction" : {
"externalTransactionToken": my_external_transaction_token_for_link_to_download_event"
},
"userTaxAddress" : {
"regionCode": "DE"
},
"externalOfferDetails" : {
"appDownloadEventExternalTransactionId": "my_external_transaction_id_for_link_to_download_event"
}
}
ดูรายละเอียดค่าบริการ Play ที่อัปเดตแล้วสำหรับธุรกรรมประเภทต่างๆ ได้ในการเปลี่ยนแปลงโปรแกรมข้อเสนอภายนอกสำหรับผู้ใช้ในเขตเศรษฐกิจยุโรป (EEA)
รายงานธุรกรรมที่ตามมาสำหรับการซื้อ
ในบางกรณี การชำระเงินของผู้ใช้มากกว่า 1 รายการอาจเชื่อมโยงกับการซื้อภายนอกเดียวกัน เช่น การต่ออายุการสมัครใช้บริการหรือการเติมเงินแพ็กเกจแบบชำระล่วงหน้า
คุณสามารถรายงานธุรกรรมที่ตามมาเหล่านี้ได้โดยใช้ API เดียวกันใน
Externaltransactions ตามที่อธิบายไว้ในรายงานการซื้อใหม่ คุณไม่จำเป็นต้องใช้
externalTransactionToken สำหรับธุรกรรมต่อๆ ไป แต่ระบบจะส่ง externalTransactionId ใหม่ที่ไม่ซ้ำกันเป็นพารามิเตอร์การค้นหาสำหรับธุรกรรมการต่ออายุหรือการเติมเงินแต่ละรายการ โดยมีรหัสของธุรกรรมเริ่มต้นรวมอยู่ในฟิลด์ initialExternalTransactionId
จากตัวอย่างก่อนหน้า
- การต่ออายุครั้งแรกของผู้ใช้ 1 จะเกิดขึ้นในระบบการเรียกเก็บเงินระบบอื่น รหัสธุรกรรมเริ่มต้นคือ 123-456-789
- นักพัฒนาแอปจะรายงานการเกิดธุรกรรมซ้ำในพารามิเตอร์การค้นหา URL
เป็นรหัสธุรกรรมภายนอกสําหรับธุรกรรมใหม่นี้ ขณะเดียวกันก็อ้างอิง
รหัสธุรกรรมภายนอกของธุรกรรมเริ่มต้นในช่อง
initialExternalTransactionId
ตัวอย่างคำขอ
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=abc-def-ghi
Body
{
"originalPreTaxAmount" : {
"priceMicros": "12634000000",
"currency": "KRW"
},
"originalTaxAmount" : {
"priceMicros": "1263000000",
"currency": "KRW"
},
"transactionTime" : "2022-02-22T12:45:00Z",
"recurringTransaction" : {
"initialExternalTransactionId": "123-456-789",
"externalSubscription" {
"subscriptionType": "RECURRING"
}
},
"userTaxAddress" : {
"regionCode": "KR"
}
}
รายงานการอัปเกรดหรือดาวน์เกรด
หากต้องการรายงานการอัปเกรดหรือดาวน์เกรดเมื่อผู้ใช้เป็นเจ้าของการสมัครใช้บริการใน
ระบบการเรียกเก็บเงินระบบอื่น คุณจะต้องใช้ปลายทางและฟังก์ชันเดียวกันใน
Externaltransactions API โดยส่ง externalTransactionToken ที่
ระบุไว้ในแอปสำหรับธุรกรรมการอัปเกรดหรือดาวน์เกรด ซึ่งทํางานคล้ายกับการรายงานการซื้อใหม่
รายงานการดาวน์โหลดแอป
หากต้องการรายงานการติดตั้งแอปในระบบการเรียกเก็บเงินของข้อเสนอภายนอก คุณต้อง
เรียกใช้ Externaltransactions.createexternaltransaction โดยส่ง
externalTransactionToken ที่ให้ไว้กับแอป รายงานธุรกรรมนี้เป็น
ธุรกรรมแบบครั้งเดียวที่ไม่มีค่าใช้จ่าย กระบวนการนี้คล้ายกับการรายงานธุรกรรมเริ่มต้น อย่าลืมใส่ ExternalOfferDetails ในเนื้อความของคำขอ
ตัวอย่างคำขอ
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=123-456-789
Body
{
"originalPreTaxAmount" : {
"priceMicros": "0",
"currency": "USD"
},
"originalTaxAmount" : {
"priceMicros": "0",
"currency": "USD"
},
"transactionTime" : "2025-12-22T12:45:00Z",
"oneTimeTransaction" : {
"externalTransactionToken": "my_token",
},
"userTaxAddress" : {
"regionCode": "US"
}
"externalOfferDetails" : {
"linkType" : "LINK_TO_APP_DOWNLOAD",
"installedAppPackage" : "my.external.app",
"installedAppCategory" : "APP"
}
}
ย้ายข้อมูลจากการรายงานธุรกรรมการเรียกเก็บเงินระบบอื่นด้วยตนเอง
หากต้องการย้ายข้อมูลการสมัครใช้บริการที่ใช้งานอยู่ซึ่งเริ่มต้นขณะที่คุณเสนอการเรียกเก็บเงินระบบอื่นโดยไม่มีการรายงานอัตโนมัติ ให้สร้างธุรกรรมใหม่ที่มีต้นทุนเป็น 0 โดยใช้ฟิลด์ migratedTransactionProgram แทนการระบุ initialExternalTransactionId หรือ externalTransactionToken ตั้งค่า
transactionTimeเป็นเวลาที่ผู้ใช้ลงชื่อสมัครใช้
การสมัครใช้บริการที่ใช้งานอยู่แต่ละรายการเป็นครั้งแรก หลังจากนั้น ให้รายงานธุรกรรมที่ตามมาแต่ละรายการสำหรับการสมัครใช้บริการเหล่านี้ตามปกติผ่าน API โดยระบุ initialExternalTransactionId ที่ใช้ก่อนหน้านี้เพื่อสร้างธุรกรรมการต่ออายุ
เมื่อย้ายข้อมูลการสมัครใช้บริการแล้ว คุณไม่จำเป็นต้องรายงานธุรกรรมที่ตามมาสำหรับการสมัครใช้บริการด้วยตนเองอีกต่อไป ตราบใดที่รายงานผ่านวิธีการอัตโนมัติที่อธิบายไว้ในหน้านี้
ในระหว่างการย้ายข้อมูลการติดตาม โปรดคำนึงถึงโควต้าที่มีอยู่เพื่อ ตรวจสอบว่าการย้ายข้อมูลไม่ได้ทำให้โควต้าหมด หากต้องย้ายข้อมูลการสมัครใช้บริการจำนวนมาก ให้กระจายการย้ายข้อมูลออกเป็นหลายวันหรือขอเพิ่มโควต้า
ใช้ฟิลด์ migratedTransactionProgram ได้เมื่อย้ายข้อมูลจากการรายงานด้วยตนเองเท่านั้น เราจะเลิกใช้งานเมื่อไม่รองรับการรายงานด้วยตนเองอีกต่อไป
ตัวอย่างคำขอ
# Note that the externalTransactionId specified here will used to report
# subsequent transactions.
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=abc-def-ghi
Body
{
# Be sure to set the price to 0 for this transaction since it does not reflect
# an actual subscription renewal.
"originalPreTaxAmount" : {
"priceMicros": "0",
"currency": "KRW"
},
"originalTaxAmount" : {
"priceMicros": "0",
"currency": "KRW"
},
# The transaction time should be set to when the user signed up for this
# subscription.
"transactionTime" : "2022-02-22T12:45:00Z",
"recurringTransaction" : {
"migratedTransactionProgram": "USER_CHOICE_BILLING",
"externalSubscription" {
"subscriptionType": "RECURRING"
}
},
"userTaxAddress" : {
"regionCode": "KR"
}
}
ข้อกำหนดสำหรับโปรแกรมพาร์ทเนอร์ของ Play
นักพัฒนาแอปที่เข้าร่วมโปรแกรมพาร์ทเนอร์ เช่น Play Media Experience
Program ต้องระบุ
transaction_program_code เมื่อรายงานธุรกรรมภายนอก
หากคุณเป็นนักพัฒนาแอปที่มีสิทธิ์ โปรดติดต่อผู้จัดการฝ่ายพัฒนาธุรกิจเพื่อขอข้อมูลเพิ่มเติมเกี่ยวกับวิธีตั้งค่าช่องนี้
รายงานการคืนเงินสำหรับการซื้อไปยัง Google Play
ผสานรวมกับ externaltransactions API เพื่อรายงานธุรกรรมที่คืนเงินให้ผู้ใช้ภายนอกระบบการเรียกเก็บเงินของ Google Play หากต้องการให้ Play ระบุธุรกรรมที่คืนเงินได้อย่างถูกต้อง คุณควรใส่ externalTransactionId ที่เกี่ยวข้องสำหรับธุรกรรมที่รายงานก่อนหน้านี้เป็นส่วนหนึ่งของพารามิเตอร์ URL
เมื่อรายงานการคืนเงินสำหรับการซื้อการสมัครใช้บริการ ให้ดู
externalTransactionIdของความถี่ที่เฉพาะเจาะจงของการสมัครใช้บริการที่
กำลังคืนเงิน
ตัวอย่าง สมมติว่าการสมัครใช้บริการมีธุรกรรมต่อไปนี้
ธุรกรรมเริ่มต้นที่มีรหัสธุรกรรมภายนอก ABC.1234-5678-9012-34567
ธุรกรรมแบบเรียกเก็บเงินตามรอบแรกที่มีรหัสธุรกรรมภายนอก ABC.1234-5678-9012-34567..0
ธุรกรรมที่เกิดซ้ำรายการที่ 2 ที่มีรหัสธุรกรรมภายนอก ABC.1234-5678-9012-34567..1
หากต้องการรายงานการคืนเงินของธุรกรรมทั้งหมดสำหรับการสมัครใช้บริการ คุณต้องส่งคำขอคืนเงินแยกกัน 3 รายการ ได้แก่ คำขอหนึ่งรายการสำหรับธุรกรรมเริ่มต้น และอีก 2 รายการสำหรับธุรกรรมที่ตามมา
วิธีนี้ยอมรับทั้งการคืนเงินเต็มจำนวน (ซึ่งจำนวนเงินเท่ากับจำนวนเงินที่ผู้ใช้ชำระในธุรกรรมภายนอกเดิม) และการคืนเงินบางส่วน (ซึ่งจำนวนเงินน้อยกว่าจำนวนเงินที่ผู้ใช้ชำระในธุรกรรมภายนอกเดิม) สำหรับการคืนเงินบางส่วน คุณต้อง ระบุจำนวนเงินก่อนภาษีที่คืน
โควต้า API
Externaltransactions API มีโควต้า API สำหรับการเรียกทั้งหมดเช่นเดียวกับปลายทางอื่นๆ ใน Google Play Developer API
นอกจากนี้ Externaltransactions API ยังมีขีดจำกัดการค้นหา 1,200 รายการต่อนาที
(QPM) ในการเรียกไปยัง Externaltransactions.createexternaltransaction หรือ
Externaltransactions.refundexternaltransaction การโทรไปยัง
Externaltransactions.getexternaltransaction จะไม่นับรวมในขีดจำกัด 1,200 QPM
นี้