เผยแพร่: 2 ธันวาคม 2020
นอกจากจะช่วยให้แอปของคุณขายสินค้าดิจิทัลและการสมัครใช้บริการใน Play Store ได้แล้ว Google Play Billing ยังมีเครื่องมือสำหรับจัดการแคตตาล็อก ราคา และการสมัครใช้บริการ รวมถึงรายงานที่มีประโยชน์และขั้นตอนการชำระเงินที่ขับเคลื่อนโดย Play Store ซึ่งผู้ใช้คุ้นเคยอยู่แล้ว นี่เป็นข้อกำหนดสำหรับแอปพลิเคชันที่เผยแพร่ใน Play Store ซึ่งขายสินค้าดิจิทัล
Google Play Billing API มีคำศัพท์เป็นของตัวเอง รวมถึงคอมโพเนนต์ไคลเอ็นต์และแบ็กเอนด์ ส่วนนี้ครอบคลุม API เพียงส่วนเล็กๆ ที่ใช้สำหรับ Digital Goods API และกิจกรรมบนเว็บที่เชื่อถือได้ โปรดอ่านเอกสารประกอบเกี่ยวกับการเรียกเก็บเงินของ Google Play และเข้าใจแนวคิดก่อนผสานรวมเข้ากับแอปพลิเคชันเวอร์ชันที่ใช้งานจริง
ขั้นตอนพื้นฐาน
หากต้องการจัดจำหน่ายสินค้าดิจิทัลผ่าน Play Store ให้กำหนดค่าแคตตาล็อกใน Play Store และเชื่อมต่อ Play Store เป็นวิธีการชำระเงินจาก PWA
โดยทำดังนี้ในอินเทอร์เฟซของ Play Store
- คลิกผลิตภัณฑ์ในเมนู Play Console ดูไอเทมที่ซื้อในแอปและการสมัครใช้บริการที่มีอยู่

- คลิกสร้างผลิตภัณฑ์เพื่อเพิ่มผลิตภัณฑ์ใหม่

- เพิ่มรหัสผลิตภัณฑ์ ชื่อ คำอธิบาย และราคา สร้างรหัสผลิตภัณฑ์ที่มีความหมายและจดจำได้ง่าย เนื่องจากคุณต้องใช้รหัสดังกล่าวในภายหลัง รหัสจะเปลี่ยนแปลงไม่ได้เมื่อสร้างแล้ว

- หากสร้างการสมัครใช้บริการ คุณจะต้องระบุระยะเวลาการเรียกเก็บเงินด้วย คุณสามารถแสดงสิทธิประโยชน์ของการสมัครใช้บริการและเพิ่มฟีเจอร์ต่างๆ เช่น ช่วงทดลองใช้ฟรี ราคาช่วงแนะนำ ระยะเวลาผ่อนผัน และตัวเลือกการสมัครใช้บริการอีกครั้ง
- คลิกเปิดใช้งานเพื่อให้ผลิตภัณฑ์พร้อมใช้งาน
หรือจะเพิ่มผลิตภัณฑ์ด้วย Play Developers API ก็ได้หากต้องการ
เมื่อกำหนดค่าแคตตาล็อกแล้ว ขั้นตอนถัดไปคือการกําหนดค่าขั้นตอนการชำระเงินจาก PWA ใช้ Digital Goods API ร่วมกับ Payment Request API
เรียกข้อมูลราคาผลิตภัณฑ์ด้วย Digital Goods API
เมื่อใช้ Google Play Billing โปรดตรวจสอบว่าราคาที่แสดงต่อผู้ใช้ตรงกับราคาจากข้อมูลผลิตภัณฑ์ใน Store การซิงค์ราคาเหล่านั้นด้วยตนเองเป็นไปไม่ได้ ดังนั้น Digital Goods API จึงมีวิธีให้เว็บแอปพลิเคชันค้นหาราคาจากผู้ให้บริการการชำระเงินที่เกี่ยวข้อง ดังนี้
// The SKU for the product, as defined in the Play Store interface
async function populatePrice(sku) {
try {
// Check if the Digital Goods API is supported by the browser.
if (window.getDigitalGoodsService) {
// The Digital Goods API can be supported by other Payments provider.
// In this case, we're retrieving the Google Play Billing provider.
const service =
await window.getDigitalGoodsService("https://play.google.com/billing");
// Fetch product details using the `getDetails()` method.
const details = await service.getDetails([sku]);
if (details.length === 0) {
console.log(`Could not get SKU: "${sku}".`);
return false;
}
// The details contain both the price and the currenncy.
item = details[0];
const value = item.price.value;
const currency = item.price.currency;
const formattedPrice = new Intl.NumberFormat(navigator.language, {
style: 'currency', currency: currency }).format(value);
// Display the price to the user.
document.getElementById("price").innerHTML = formattedPrice;
} else {
console.error("Could not get price for SKU \""