ใช้ Google Play Billing

เผยแพร่: 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

  1. คลิกผลิตภัณฑ์ในเมนู Play Console ดูไอเทมที่ซื้อในแอปและการสมัครใช้บริการที่มีอยู่ ขั้นตอนที่ 1: ค้นหาส่วนผลิตภัณฑ์
  2. คลิกสร้างผลิตภัณฑ์เพื่อเพิ่มผลิตภัณฑ์ใหม่ ขั้นตอนที่ 2: ไปที่อินเทอร์เฟซผลิตภัณฑ์เพื่อเพิ่มผลิตภัณฑ์ใหม่
  3. เพิ่มรหัสผลิตภัณฑ์ ชื่อ คำอธิบาย และราคา สร้างรหัสผลิตภัณฑ์ที่มีความหมายและจดจำได้ง่าย เนื่องจากคุณต้องใช้รหัสดังกล่าวในภายหลัง รหัสจะเปลี่ยนแปลงไม่ได้เมื่อสร้างแล้ว ฟิลด์ว่างจำนวนมากสำหรับผลิตภัณฑ์แต่ละรายการ
  4. หากสร้างการสมัครใช้บริการ คุณจะต้องระบุระยะเวลาการเรียกเก็บเงินด้วย คุณสามารถแสดงสิทธิประโยชน์ของการสมัครใช้บริการและเพิ่มฟีเจอร์ต่างๆ เช่น ช่วงทดลองใช้ฟรี ราคาช่วงแนะนำ ระยะเวลาผ่อนผัน และตัวเลือกการสมัครใช้บริการอีกครั้ง
  5. คลิกเปิดใช้งานเพื่อให้ผลิตภัณฑ์พร้อมใช้งาน

หรือจะเพิ่มผลิตภัณฑ์ด้วย 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 \""