คำแนะนำการผสานรวมแบ็กเอนด์สำหรับการสร้างรายได้นอก Google Play Billing

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 ที่แอปได้รับผ่าน Callback จาก UserChoiceBillingListener, AlternativeBillingOnlyReportingDetailsListener หรือ BillingProgramReportingDetailsListener เป็นส่วนหนึ่งของเนื้อหาคำขอสำหรับการดาวน์โหลดแอป การซื้อครั้งเดียว และธุรกรรมครั้งแรกในการซื้อที่เกิดซ้ำ (เช่น การสมัครใช้บริการ) ซึ่งเรียกว่าธุรกรรมครั้งแรก หลังจากการทำธุรกรรมครั้งแรก ให้รายงานธุรกรรมที่ตามมา (เช่น การต่ออายุการสมัครใช้บริการ) โดยระบุ externalTransactionId ใหม่ที่ไม่ซ้ำกัน ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีรายงานธุรกรรมที่ตามมาได้ที่รายงานธุรกรรมที่ตามมาสำหรับการซื้อ

ตัวอย่าง:

  1. นักพัฒนาแอปจะกำหนดค่าและเปิดใช้การเรียกเก็บเงินระบบอื่นในแอปของตน
  2. ผู้ใช้ 1 อยู่ในเกาหลีใต้ ซึ่งเป็นประเทศที่รองรับ และพยายามซื้อ product1 ในราคา 12634.10 วอนเกาหลีต่อเดือน พร้อมข้อเสนอทดลองใช้ฟรี 1 เดือน
  3. แอปจะเปิดขั้นตอนการซื้อด้วย ProductDetails สำหรับ product1 และข้อเสนอที่ผู้ใช้เลือก
  4. ผู้ใช้ 1 เลือกใช้ระบบการเรียกเก็บเงินระบบอื่นของนักพัฒนาแอป
  5. UserChoiceBillingListener จะได้รับค่า my_token เป็น externalTransactionToken
  6. จากนั้นนักพัฒนาแอปจะส่งข้อมูลที่เกี่ยวข้องไปยังแบ็กเอนด์ (ค่า externalTransactionToken และผลิตภัณฑ์ที่กำลังถูกซื้อ) จากนั้นเปิดขั้นตอนการซื้อสำหรับ product1 ในระบบการเรียกเก็บเงินระบบอื่น ธุรกรรมนี้จะได้รับรหัสธุรกรรมที่ไม่ซ้ำกันในฝั่งนักพัฒนาแอป ซึ่งใช้เพื่อรายงานไปยัง Google Play: 123-456-789 ต้องระบุรหัสธุรกรรม แม้ว่าผู้ใช้จะได้รับช่วงทดลองใช้ฟรีก็ตาม
  7. หลังจากเกิดธุรกรรมสำหรับการซื้อในระบบการเรียกเก็บเงินระบบอื่นแล้ว นักพัฒนาแอปจะรายงานธุรกรรมดังกล่าวไปยัง 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"
 }
}

ดูรายละเอียดค่าบริการ Google Play ที่อัปเดตแล้วสำหรับธุรกรรมประเภทต่างๆ ได้ในการเปลี่ยนแปลงโปรแกรมข้อเสนอภายนอกสำหรับผู้ใช้ในเขตเศรษฐกิจยุโรป (EEA)

รายงานธุรกรรมที่ตามมาสำหรับการซื้อ

ในบางกรณี มีการชำระเงินของผู้ใช้มากกว่า 1 ครั้งที่เกี่ยวข้องกับการซื้อภายนอกรายการเดียวกัน ตัวอย่างเช่น การต่ออายุการสมัครใช้บริการหรือการเติมเงินแพ็กเกจแบบชำระเงินล่วงหน้า คุณสามารถรายงานธุรกรรมที่ตามมาเหล่านี้ได้โดยใช้ API เดียวกันใน Externaltransactions ตามที่อธิบายไว้ในรายงานการซื้อใหม่ คุณไม่จำเป็นต้องใช้ externalTransactionToken สำหรับธุรกรรมที่ตามมา แต่ระบบจะส่ง externalTransactionId ใหม่ที่ไม่ซ้ำกันเป็นพารามิเตอร์การค้นหาสำหรับธุรกรรมการต่ออายุหรือการเติมเงินแต่ละรายการ โดยมีรหัสของธุรกรรมครั้งแรกรวมอยู่ในฟิลด์ initialExternalTransactionId

จากตัวอย่างก่อนหน้า

  1. การต่ออายุครั้งแรกของผู้ใช้ 1 จะเกิดขึ้นในระบบการเรียกเก็บเงินระบบอื่น รหัสธุรกรรมครั้งแรกคือ 123-456-789
  2. นักพัฒนาแอปจะรายงานการเกิดธุรกรรมซ้ำในพารามิเตอร์การค้นหา 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"
 }
}

ข้อกำหนดสำหรับโปรแกรมพาร์ทเนอร์ของ Google Play

นักพัฒนาแอปที่เข้าร่วมโปรแกรมพาร์ทเนอร์ เช่น Play Media Experience Program ต้องระบุ transaction_program_code เมื่อรายงานธุรกรรมภายนอก หากคุณเป็นนักพัฒนาแอปที่มีสิทธิ์ โปรดติดต่อผู้จัดการฝ่ายพัฒนาธุรกิจเพื่อขอข้อมูลเพิ่มเติมเกี่ยวกับวิธีตั้งค่าฟิลด์นี้

รายงานการคืนเงินสำหรับการซื้อไปยัง Google Play

ผสานรวมกับ externaltransactions API เพื่อรายงานธุรกรรมที่คืนเงินให้ผู้ใช้ภายนอกระบบการเรียกเก็บเงินของ Google Play หากต้องการให้ Google Play ระบุธุรกรรมที่คืนเงินได้อย่างถูกต้อง คุณควรใส่ externalTransactionId ที่เกี่ยวข้องสำหรับธุรกรรมที่รายงานก่อนหน้านี้เป็นส่วนหนึ่งของพารามิเตอร์ URL

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

ตัวอย่าง สมมติว่าการสมัครใช้บริการมีธุรกรรมต่อไปนี้

  • ธุรกรรมครั้งแรกที่มีรหัสธุรกรรมภายนอก ABC.1234-5678-9012-34567

  • ธุรกรรมแบบตามรอบรายการที่ 1 ที่มีรหัสธุรกรรมภายนอก ABC.1234-5678-9012-34567..0

  • ธุรกรรมแบบตามรอบรายการที่ 2 ที่มีรหัสธุรกรรมภายนอก ABC.1234-5678-9012-34567..1

หากต้องการรายงานการคืนเงินของธุรกรรมทั้งหมดสำหรับการสมัครใช้บริการ คุณต้องส่งคำขอคืนเงินแยกกัน 3 รายการ ได้แก่ คำขอ 1 รายการสำหรับธุรกรรมครั้งแรก และอีก 2 รายการสำหรับธุรกรรมที่ตามมา

วิธีนี้ยอมรับทั้งการคืนเงินเต็มจำนวน (ซึ่งจำนวนเงินเท่ากับจำนวนเงินที่ผู้ใช้ชำระในธุรกรรมภายนอกเดิม) และการคืนเงินบางส่วน (ซึ่งจำนวนเงินน้อยกว่าจำนวนเงินที่ผู้ใช้ชำระในธุรกรรมภายนอกเดิม) สำหรับการคืนเงินบางส่วน คุณต้องระบุจำนวนเงินก่อนภาษีที่คืน

โควต้า API

Externaltransactions API มีโควต้า API สำหรับการเรียกทั้งหมดเช่นเดียวกับปลายทางอื่นๆ ใน Google Play Developer API

นอกจากนี้ Externaltransactions API ยังมีขีดจำกัดการค้นหา 1,200 รายการต่อนาที (QPM) ในการเรียกไปยัง Externaltransactions.createexternaltransaction หรือ Externaltransactions.refundexternaltransaction การเรียกไปยัง Externaltransactions.getexternaltransaction จะไม่นับรวมในขีดจำกัด 1,200 QPM นี้