การสมัครใช้บริการที่มีส่วนเสริม

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

ข้อควรพิจารณา

โปรดคำนึงถึงประเด็นต่อไปนี้เมื่อใช้ฟีเจอร์การสมัครใช้บริการพร้อมส่วนเสริม

  • ระบบรองรับการสมัครใช้บริการที่มีแพ็กเกจเสริมสำหรับแพ็กเกจเริ่มต้นแบบต่ออายุใหม่อัตโนมัติเท่านั้น

  • รายการทั้งหมดในการซื้อต้องมีระยะเวลาการเรียกเก็บเงินตามรอบเดียวกัน เช่น คุณไม่สามารถมีการสมัครใช้บริการที่เรียกเก็บเงินรายปี พร้อมส่วนเสริมที่เรียกเก็บเงินรายเดือน

  • คุณมีรายการในข้อมูลการติดตามได้สูงสุด 50 รายการเมื่อซื้อส่วนเสริม

  • ฟีเจอร์นี้ไม่มีให้บริการในภูมิภาคอินเดีย (IN) และเกาหลีใต้ (KR)

ผสานรวมกับ Play Billing Library

ส่วนนี้จะอธิบายวิธีผสานรวมฟีเจอร์การสมัครใช้บริการพร้อมส่วนเสริม เข้ากับ Play Billing Library (PBL) โดยจะถือว่าคุณคุ้นเคยกับขั้นตอนการผสานรวม PBL เริ่มต้น เช่น การเพิ่มการอ้างอิง PBL ลงในแอป การเริ่มต้น BillingClient และการเชื่อมต่อกับ Google Play ส่วนนี้จะเน้นที่แง่มุมของการผสานรวม PBL ที่เกี่ยวข้องกับการสมัครใช้บริการที่มีส่วนเสริมโดยเฉพาะ

เปิดตัวขั้นตอนการซื้อ

หากต้องการเปิดตัวขั้นตอนการซื้อสำหรับการสมัครใช้บริการที่มีส่วนเสริม ให้ทำตาม ขั้นตอนต่อไปนี้

  1. ดึงข้อมูลรายการการสมัครใช้บริการทั้งหมดโดยใช้เมธอด BillingClient.queryProductDetailsAsync

  2. ตั้งค่าออบเจ็กต์ ProductDetailsParams สำหรับแต่ละรายการ

    รายการที่แสดงโดยออบเจ็กต์ ProductDetailsParams จะระบุทั้ง ProductDetails ที่ระบุรายการการสมัครใช้บริการ และ offerToken ที่เลือกbase planการสมัครใช้บริการที่เฉพาะเจาะจงหรือoffer

  3. ระบุรายละเอียดสินค้าในเมธอด BillingFlowParams.Builder.setProductDetailsParamsList คลาส BillingFlowParams จะระบุรายละเอียดของขั้นตอนการซื้อ

    ตัวอย่างต่อไปนี้แสดงวิธีเปิดตัวขั้นตอนการเรียกเก็บเงินสำหรับการซื้อการสมัครใช้บริการที่มีหลายรายการ

    Java

       BillingClient billingClient = ;
    
        // ProductDetails obtained from queryProductDetailsAsync().
        ProductDetailsParams productDetails1 = ...;
        ProductDetailsParams productDetails2 = ...;
        ArrayList productDetailsList = new ArrayList<>();
        productDetailsList.add(productDetails1);
        productDetailsList.add(productDetails2);
    
        BillingFlowParams billingFlowParams =
            BillingFlowParams.newBuilder()
               .setProductDetailsParamsList(productDetailsList)
               .build();
        billingClient.launchBillingFlow(billingFlowParams);

กฎที่เกี่ยวข้องกับรายการในการซื้อ

  • Google Play อาจเรียกเก็บเงินตามสัดส่วนหลังจากช่วงทดลองใช้หรือช่วงราคาช่วงแนะนำ เพื่อให้วันที่ต่ออายุส่วนเสริมสอดคล้องกับรายการฐานในที่สุด
  • ระบบจะประเมินการมีสิทธิ์รับข้อเสนอสำหรับแต่ละรายการแยกกัน

ประมวลผลการซื้อ

การประมวลผลการสมัครใช้บริการที่มีส่วนเสริมจะเหมือนกับการประมวลผล การซื้อไอเทมเดียวตามที่อธิบายไว้ใน ผสานรวม Google Play Billing Library เข้ากับแอป ความแตกต่างเพียงอย่างเดียว คือผู้ใช้จะได้รับสิทธิ์หลายรายการ จากการซื้อครั้งเดียว การซื้อการสมัครใช้บริการที่มีส่วนเสริม จะแสดงผลหลายรายการซึ่งเรียกข้อมูลได้โดยใช้ Purchase.getProducts() ใน Google Play Billing Library จากนั้นใช้รายการ lineItems ใน purchases.subscriptionsv2.get ของ Google Play Developer API

แก้ไขการสมัครใช้บริการที่มีส่วนเสริม

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

หากต้องการเปลี่ยนหรือคืนค่าการซื้อการสมัครใช้บริการที่มีส่วนเสริมในแอป คุณต้องเรียกใช้ launchBillingFlow API พร้อมพารามิเตอร์เพิ่มเติม และตรวจสอบว่ามีสิ่งต่อไปนี้

  • เรียกใช้ setOldPurchaseToken พร้อมโทเค็นการซื้อของการสมัครใช้บริการปัจจุบันเสมอ
  • หากต้องการอัปเกรด ดาวน์เกรด หรือครอสเกรดรายการ ให้โทรหา SubscriptionProductReplacementParams.setReplacementMode เพื่อระบุวิธี จัดการการเปลี่ยนแพ็กเกจระหว่างรายการที่ซื้อเก่ากับรายการที่ซื้อใหม่ ไม่เช่นนั้นก็ไม่จำเป็นต้องตั้งค่าพารามิเตอร์นี้
  • เมื่อไม่ได้เปลี่ยนรายการฐาน คุณยังคงเรียกใช้ SubscriptionProductReplacementParams.setSubscriptionReplacementMode เพื่อ ใช้ลักษณะการแทนที่ที่เฉพาะเจาะจงได้ สำหรับกฎที่เกี่ยวข้องในกรณีนี้ โปรดดูสมัครใช้บริการอีกครั้งหรือเปลี่ยนแพ็กเกจภายในแพ็กเกจการสมัครใช้บริการเดียวกัน
  • ส่วนเสริมใหม่จะมีผลทันทีพร้อมการเรียกเก็บเงินตามสัดส่วนเพื่อให้วันที่ต่ออายุครั้งถัดไปสอดคล้องกับรายการพื้นฐานในการสมัครใช้บริการ
  • ส่วนเสริมที่นำออกจะหมดอายุเมื่อช่วงเวลาที่เรียกเก็บเงินปัจจุบันสิ้นสุดลง
  • เมื่อเปิดตัวขั้นตอนการเรียกเก็บเงิน คุณจะต้องระบุรายการที่ใช้งานอยู่ทั้งหมดในการสมัครใช้บริการที่มีส่วนเสริม โดยไม่รวมรายการที่จะนำออก พร้อมกับส่วนเสริมใหม่

ตัวอย่างต่อไปนี้แสดงวิธีเรียกใช้ API ของ launchBillingFlow เมื่อ เปลี่ยนการซื้อการสมัครใช้บริการที่มีส่วนเสริมที่มีอยู่

Java

BillingClient billingClient = ;

int replacementMode =;

// ProductDetails obtained from queryProductDetailsAsync().
ProductDetailsParams productDetails1 = ...;
ProductDetailsParams productDetails2 = ...;
ProductDetailsParams productDetails3 = ...;

ArrayList newProductDetailsList = new ArrayList<>();
newProductDetailsList.add(productDetails1);
newProductDetailsList.add(productDetails1);
newProductDetailsList.add(productDetails1);

BillingFlowParams billingFlowParams =
    BillingFlowParams.newBuilder()
        .setSubscriptionUpdateParams(
          SubscriptionUpdateParams.newBuilder()
              .setOldPurchaseToken(purchaseTokenOfExistingSubscription)
              // No need to set if change does not affect the base item.
             .setSubscriptionReplacementMode(replacementMode)
             .build())
        .setProductDetailsParamsList(productDetailsList)
        .build();

billingClient.launchBillingFlow(billingFlowParams);

สถานการณ์การแก้ไขการสมัครใช้บริการ

ตารางต่อไปนี้แสดงสถานการณ์การแก้ไขต่างๆ สำหรับการสมัครใช้บริการ ที่มีส่วนเสริม และลักษณะการทำงานที่เกี่ยวข้อง

เมื่อใช้ SubscriptionProductReplacementParams

รายการที่มีอยู่ รายการที่แก้ไข คุณต้องตั้งค่าโหมดการเปลี่ยนแทนใน SubscriptionProductReplacementParams ไหม ลักษณะการทำงาน
A (ไอเทมฐาน), B A (รายการฐาน) ใช่ (ใช้ KEEP_EXISTING)
  • รายการ B มีกำหนดการนำออกในภายหลัง
  • ระบบจะเก็บรายการ ก. ไว้
  • ผู้ใช้จะยังคงใช้ราคาปัจจุบันสำหรับรายการ ก รวมถึงการชำระเงินช่วงแนะนำที่เหลือซึ่งได้รับตอนลงชื่อสมัครใช้
A A (ไอเทมฐาน), B ใช่ (ใช้ KEEP_EXISTING สำหรับ A)
  • ระบบจะเพิ่มรายการ B ทันทีพร้อมเรียกเก็บเงินตามสัดส่วน
  • ระบบจะเก็บรายการ ก. ไว้
  • ผู้ใช้จะยังคงใช้ราคาปัจจุบันสำหรับรายการ ก รวมถึงการชำระเงินช่วงแนะนำที่เหลือซึ่งได้รับตอนลงชื่อสมัครใช้
A (ไอเทมฐาน), B A (ไอเทมฐาน), C ใช่ (ใช้ KEEP_EXISTING สำหรับ A)
  • B มีกำหนดการนำออกแบบเลื่อนเวลา
  • ระบบจะเพิ่ม C ทันทีพร้อมเรียกเก็บเงินตามสัดส่วน
  • ระบบจะเก็บรายการ ก. ไว้
  • ผู้ใช้จะยังคงใช้ราคาปัจจุบันสำหรับรายการ ก รวมถึงการชำระเงินช่วงแนะนำที่เหลือซึ่งได้รับตอนลงชื่อสมัครใช้
A (ไอเทมฐาน), B B (รายการฐาน) ไม่ A มีกำหนดการที่จะถูกนำออกในภายหลัง
A (ไอเทมฐาน), B C (ไอเทมฐาน) ใช่
  • การแทนที่ A -> C ขึ้นอยู่กับ SubscriptionProductReplacementParams replacementMode
  • B มีกำหนดการนำออกแบบเลื่อนเวลา
A (ไอเทมฐาน), B C (ไอเทมฐาน), B ใช่
  • การแทนที่ A -> C จะขึ้นอยู่กับ SubscriptionProductReplacementParams replacementMode
  • หากต้องการคงรายการ B ไว้ไม่ให้เปลี่ยนแปลง ให้ตั้งค่าโหมดการแทนที่เป็น KEEP_EXISTING มิฉะนั้น โหมดการแทนที่จะเป็น IMMEDIATE_WITHOUT_PRORATION โดยค่าเริ่มต้น
A (ไอเทมฐาน), B C (ไอเทมฐาน), D ใช่
  • การแทนที่ A -> C จะขึ้นอยู่กับ SubscriptionProductReplacementParams replacementMode
  • B มีกำหนดการนำออกแบบเลื่อนเวลา
  • ระบบจะเพิ่ม D ทันทีพร้อมเรียกเก็บเงินตามสัดส่วน
A (ไอเทมฐาน), B A (ไอเทมฐาน), C ใช่
  • การแทนที่สำหรับ A -> A และ B -> C จะขึ้นอยู่กับโหมดการแทนที่ที่ระบุใน SubscriptionProductReplacementParams replacementMode ในแต่ละ ProductDetailsParams
  • หากต้องการคงรายการ ก ไว้ไม่ให้เปลี่ยนแปลง ให้ตั้งค่าโหมดการแทนที่เป็น KEEP_EXISTING
A (ไอเทมฐาน), B, C D (ไอเทมฐาน), B, C ใช่
  • การแทนที่สำหรับ A->D และ B->B, C->C จะขึ้นอยู่กับโหมดการแทนที่ที่ระบุไว้ใน SubscriptionProductReplacementParams replacementMode ในแต่ละ ProductDetailsParams
  • หากต้องการคงรายการ B และ C ไว้ไม่เปลี่ยนแปลง ให้ตั้งค่าโหมดการแทนที่เป็น KEEP_EXISTING

เมื่อใช้ SubscriptionUpdateParams

รายการที่มีอยู่ รายการที่แก้ไข คุณต้องตั้งค่าข้อมูลการแทนที่ไหม ลักษณะการทำงาน
A (ไอเทมฐาน), B A (รายการฐาน) ไม่
  • รายการ B มีกำหนดการนำออกในภายหลัง
  • ลักษณะการทำงานของรายการ ก. จะขึ้นอยู่กับการตั้งค่าการเปลี่ยนแปลงแพ็กเกจเริ่มต้นและข้อเสนอ ของแพ็กเกจเริ่มต้น
  • ราคาของไอเทม A จะได้รับการอัปเดตเป็นราคาล่าสุด และผู้ใช้อาจสูญเสียการชำระเงินในช่วงแนะนำที่ได้รับระหว่าง การลงชื่อสมัครใช้ตามเกณฑ์การมีสิทธิ์รับข้อเสนอ
A A (ไอเทมฐาน), B ไม่
  • ระบบจะเพิ่มรายการ B ทันทีพร้อมเรียกเก็บเงินตามสัดส่วน
  • ลักษณะการทำงานของรายการ ก. จะขึ้นอยู่กับการตั้งค่าการเปลี่ยนแปลงแพ็กเกจเริ่มต้นและข้อเสนอ ของแพ็กเกจเริ่มต้น
  • ราคาของไอเทม ก จะได้รับการอัปเดตเป็นราคาล่าสุด และผู้ใช้อาจสูญเสียการชำระเงินในช่วงแนะนำที่ได้รับระหว่างการลงชื่อสมัครใช้ตามเกณฑ์การมีสิทธิ์รับข้อเสนอ
A (ไอเทมฐาน), B A (ไอเทมฐาน), C ไม่
A (ไอเทมฐาน), B B (รายการฐาน) ไม่ A มีกำหนดการที่จะถูกนำออกในภายหลัง
A (ไอเทมฐาน), B C (ไอเทมฐาน) ใช่
  • การแทนที่ A -> C ขึ้นอยู่กับ setSubscriptionReplacementMode (เลิกใช้งานใน PBL 8.1)
  • B มีกำหนดการนำออกแบบเลื่อนเวลา
A (ไอเทมฐาน), B C (ไอเทมฐาน), B ใช่ การแทนที่ A -> C ขึ้นอยู่กับ setSubscriptionReplacementMode (เลิกใช้งานใน PBL 8.1)
A (ไอเทมฐาน), B C (ไอเทมฐาน), D ใช่
  • การแทนที่ A -> C ขึ้นอยู่กับ setSubscriptionReplacementMode (เลิกใช้งานใน PBL 8.1)
  • B มีกำหนดการนำออกแบบเลื่อนเวลา
  • ระบบจะเพิ่ม D ทันทีพร้อมเรียกเก็บเงินตามสัดส่วน

การแจ้งเตือนแบบเรียลไทม์สำหรับนักพัฒนาซอฟต์แวร์

ไม่ได้ระบุฟิลด์ subscriptionId ใน RTDN สำหรับการซื้อ การสมัครใช้บริการพร้อมส่วนเสริมที่มีสิทธิ์ในหลายรายการ แต่คุณสามารถใช้ Play Developer API เพื่อรับการซื้อและ ดูสิทธิ์ของรายการที่เชื่อมโยงได้

การเปลี่ยนแปลงราคาสำหรับสมาชิกปัจจุบัน

การเปลี่ยนแปลงราคาการสมัครใช้บริการสำหรับสมาชิกปัจจุบันของการสมัครใช้บริการ ที่มีการซื้อส่วนเสริมจะคล้ายกับ การเปลี่ยนแปลงราคาการสมัครใช้บริการแบบไอเทมเดียวตามที่อธิบายไว้ ในเปลี่ยนแปลงราคาการสมัครใช้บริการ อย่างไรก็ตาม มีข้อจำกัดและความแตกต่างด้านฟังก์ชันการทำงานบางอย่างตามที่อธิบายไว้ในส่วนนี้

สิ้นสุดกลุ่มประชากรตามรุ่นสำหรับราคาเดิม

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

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

    ตัวอย่าง

    • พิจารณาการสมัครใช้บริการที่มีส่วนเสริม (รายการ ก. และ ข.) ซึ่งต่ออายุในวันที่ 7 ของทุกเดือน
    • รายการ ก. มีการย้ายข้อมูลราคาจาก $7 เป็น $10 และคาดว่า การขึ้นราคาจะมีผลในวันที่ 7 กรกฎาคม
    • การย้ายข้อมูลราคาใหม่จาก $5 เป็น $6 จะเริ่มสำหรับไอเทม B ในวันที่ 2 มิถุนายน เนื่องจากการขึ้นราคาแบบเลือกรับจะเริ่มขึ้น 37 วันหลังจาก การย้ายข้อมูล การขึ้นราคาที่เร็วที่สุดสำหรับรายการ B จึงเป็นวันที่ 7 สิงหาคม

    ในสถานการณ์นี้ จนกว่าผู้ใช้จะยอมรับการเปลี่ยนแปลงราคาสำหรับ ไอเทม A (จนกว่าจะอยู่ในสถานะ CONFIRMED) การเปลี่ยนแปลงราคาสำหรับไอเทม B จะไม่ได้รับการลงทะเบียนสำหรับการซื้อการสมัครใช้บริการนี้ และ SubscriptionPurchaseV2 จะไม่แสดง รายละเอียดการเปลี่ยนแปลงราคาสำหรับไอเทม B หลังจากที่ผู้ใช้ยืนยัน การเปลี่ยนแปลงราคาของสินค้า ก แล้ว การเปลี่ยนแปลงราคาของสินค้า ข จะเริ่มขึ้น ผู้ใช้จะได้รับการขึ้นราคาแบบขอให้ผู้ใช้ยินยอมสำหรับไอเทม B หลังจากยอมรับการขึ้นราคาแบบขอให้ผู้ใช้ยินยอมสำหรับไอเทม A แล้วเท่านั้น

  • อีเมลของ Google Play จะมีรายการไอเทมทั้งหมดที่มีการขึ้นหรือ ลดราคาในวันเดียวกัน

ยกเลิกการสมัครใช้บริการที่มีส่วนเสริม

ผู้ใช้สามารถยกเลิกการซื้อการสมัครใช้บริการที่มีส่วนเสริมทั้งหมดได้ในศูนย์การสมัครใช้บริการของ Play และคุณจะยกเลิกการซื้อการสมัครใช้บริการที่มีส่วนเสริมทั้งหมดได้โดยใช้ Google Play Developer API เท่านั้น

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

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

ต่อไปนี้คือหลักเกณฑ์บางส่วนสำหรับการเพิกถอนและคืนเงินค่าสมัครใช้บริการ

  • ใช้ Play Console เพื่อคืนเงินตามจำนวนสำหรับคำสั่งซื้อที่เฉพาะเจาะจง โดยไม่ต้องเพิกถอนสิทธิ์เข้าถึงการสมัครใช้บริการ

  • โทรหา orders.refund เพื่อคืนเงินค่าสมัครใช้บริการที่เฉพาะเจาะจงที่ผู้ใช้ชำระไปแล้ว โดยไม่เพิกถอนสิทธิ์เข้าถึงการสมัครใช้บริการ

  • โทรหา purchases.subscriptionsv2.revoke เพื่อเพิกถอนสิทธิ์เข้าถึง รายการที่สมัครใช้บริการทั้งหมดทันที API นี้ช่วยให้คุณทำสิ่งต่อไปนี้ได้

    • เพิกถอนสิทธิ์เข้าถึงรายการทั้งหมดและคืนเงินตามสัดส่วน

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

    • เพิกถอนสิทธิ์เข้าถึงรายการทั้งหมดและคืนเงินเต็มจำนวน

    • เพิกถอนสิทธิ์เข้าถึงของแต่ละรายการพร้อมคืนเงินเต็มจำนวนสำหรับ รายการนั้น

เพิกถอนรายการแต่ละรายการในการสมัครใช้บริการที่มีส่วนเสริม

หากต้องการเพิกถอนรายการการสมัครใช้บริการแต่ละรายการในการสมัครใช้บริการที่มี ส่วนเสริมโดยไม่ต้องเพิกถอนการซื้อทั้งหมด ให้เรียกใช้ purchases.subscriptionsv2.revoke โดยตั้งค่าฟิลด์ ItemBasedRefund ใน RevocationContext คุณตั้งค่า productId ของรายการที่ควร เพิกถอนและคืนเงินได้ในช่อง ItemBasedRefund

คุณตั้งค่าฟิลด์ ItemBasedRefund ได้สำหรับการซื้อที่มีรายการการสมัครใช้บริการแบบต่ออายุอัตโนมัติอย่างน้อย 1 รายการ

  • หากยังคงมีสินค้าที่ใช้งานอยู่ในการซื้อการสมัครใช้บริการ หลังจากเพิกถอนสินค้าที่ระบุใน ItemBasedRefund ระบบจะเพิกถอนเฉพาะสินค้าดังกล่าว และคืนเงินเต็มจำนวนโดยไม่ขัดขวาง สถานะการสมัครใช้บริการ
  • หากไม่มีรายการที่ใช้งานอยู่เหลืออยู่ในการซื้อการสมัครใช้บริการหลังจาก เพิกถอนรายการที่ระบุใน ItemBasedRefund ระบบจะเพิกถอนรายการ ดังกล่าว คืนเงินให้เต็มจำนวน และยกเลิกการสมัครใช้บริการ

ข้อควรพิจารณา

  • เมื่อใช้ ItemBasedRefund คุณจะเพิกถอนได้ครั้งละ 1 รายการเท่านั้น คุณเรียกใช้คำขอได้หลายครั้งหากต้องการเพิกถอนไอเทมต่างๆ
  • เมื่อการซื้อการสมัครใช้บริการอยู่ในสถานะการชำระเงินถูกปฏิเสธ หรือ คุณไม่ได้เป็นเจ้าของหรือการสมัครใช้บริการรายการที่ระบุใน ItemBasedRefund หมดอายุแล้ว ระบบจะบล็อกการปฏิเสธรายการ
  • การปฏิเสธรายการไม่รองรับในการสมัครใช้บริการแบบชำระเงินล่วงหน้า

การหมดอายุของรายการเมื่อการชำระเงินถูกปฏิเสธ

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

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

การเลือกระยะเวลาการกู้คืน

เนื่องจากระยะเวลาผ่อนผันยังคงให้สิทธิ์แก่ผู้ใช้ เมื่อมีการซื้อการสมัครใช้บริการที่มีส่วนเสริม การชำระเงินสำหรับการต่ออายุจะถูกปฏิเสธ ระบบจะเลือกรายการที่มีระยะเวลาผ่อนผันขั้นต่ำในรายการที่ใช้งานอยู่ทั้งหมด และจะใช้ระยะเวลาผ่อนผันและช่วงการระงับบัญชีของรายการดังกล่าวเป็นระยะเวลาการกู้คืนสำหรับการต่ออายุนี้

รายการที่ใช้งานอยู่รวมถึงรายการที่ใช้งานอยู่ในการซื้อการสมัครใช้บริการ พร้อมส่วนเสริมก่อนที่จะพยายามต่ออายุ ไม่รวมรายการที่เพิ่มใหม่ (ซึ่งจะไม่มีสิทธิ์จนกว่าจะกู้คืน) และไม่รวมรายการที่ ไม่ได้ใช้งานอีกต่อไปเนื่องจากถูกนำออกหรือเลิกใช้งาน

ระบบจะใช้การตั้งค่าการระงับบัญชีของรายการที่มีระยะเวลาผ่อนผันขั้นต่ำที่เลือก หากมีรายการมากกว่า 1 รายการที่มีระยะเวลาผ่อนผันขั้นต่ำ แต่มีช่วงการระงับบัญชีต่างกัน ระบบจะใช้ช่วงการระงับบัญชีที่ยาวที่สุด

ระยะเวลาผ่อนผัน

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

การระงับบัญชี

ในระหว่างที่การซื้อการสมัครใช้บริการถูกระงับชั่วคราว สิทธิ์เข้าถึงรายการทั้งหมดในการสมัครใช้บริการ จะถูกระงับจนกว่าการชำระเงินจะสำเร็จ

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

ตัวอย่าง

  • ผู้ใช้มีการสมัครใช้บริการ My Base Plan ซึ่งจะต่ออายุในวันที่ 1 ของทุกเดือน จากนั้นในวันที่ 15 สิงหาคม ผู้ใช้ได้เพิ่มแพ็กเกจเสริมราคา $10 ต่อเดือนพร้อมช่วงทดลองใช้ฟรี 7 วัน โดยทั้ง 2 รายการ ไม่มีการตั้งค่าระยะเวลาผ่อนผัน และทั้ง 2 รายการมีระยะเวลาการระงับบัญชี 30 วัน

  • ในวันที่ 22 สิงหาคม ระบบจะเรียกเก็บเงินจากผู้ใช้ $2.90 (10*9/31) เพื่อคิดตามสัดส่วนจนถึงวันที่ 31 สิงหาคม แต่เนื่องจากวิธีการชำระเงินของผู้ใช้หมดอายุก่อนหน้านั้น การสมัครใช้บริการจึงถูกปฏิเสธการชำระเงินในวันที่ 22 สิงหาคม

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

ในตัวอย่างก่อนหน้า การสมัครใช้บริการจะเข้าสู่การระงับบัญชีในวันที่ 22 ส.ค.

  • หากกู้คืนบัญชีในวันที่ 25 ส.ค. ก่อนวันที่ต่ออายุในวงกว้าง ในวันที่ 1 ก.ย. ผู้ใช้จะได้รับสิทธิ์เข้าถึงทั้ง Base Plan ของฉันและ Add on plan อีกครั้งในวันเดียวกัน วันที่เรียกเก็บเงินครั้งถัดไปเปลี่ยนเป็นวันที่ 4 กันยายน

  • หากกู้คืนบัญชีไม่ได้หลังจากผ่านไป 30 วัน ระบบจะยกเลิกการสมัครใช้บริการ ในวันที่ 21 กันยายน และผู้ใช้จะเสียสิทธิ์เข้าถึงแพ็กเกจเสริมและกลับมามีสิทธิ์เข้าถึง แพ็กเกจเริ่มต้นของฉันจนถึงวันที่ 30 กันยายน

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

การรายงานทางการเงินและการปรับยอด

ใช้รายงานรายได้เพื่อกระทบยอดการสมัครใช้บริการที่ใช้งานอยู่กับ ธุรกรรมใน Play รายการโฆษณาธุรกรรมแต่ละรายการจะมีรหัสคำสั่งซื้อ เมื่อมีการซื้อสินค้าหลายรายการ รายงานรายได้และการขายโดยประมาณจะมีแถวแยกต่างหากสำหรับธุรกรรมแต่ละรายการ เช่น การเรียกเก็บเงิน ค่าธรรมเนียม ภาษี และการคืนเงิน สำหรับสินค้าแต่ละรายการที่เกี่ยวข้อง

สำหรับแดชบอร์ดใน Play Console

  • สถิติรายได้ที่แสดงในส่วนการรายงานทางการเงินของคอนโซลจะแบ่งตามรายการ

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