In-App Purchase — คืออะไร ประเภทการซื้อ และการสร้างรายได้ทำงานอย่างไร

ผู้แต่ง: IT Sectr เผยแพร่เมื่อ: 2026-04-22 เวลาอ่าน: 9 นาที

In-App Purchase (IAP) เป็นกลไกการซื้อภายในแอปที่อนุญาตให้ผู้ใช้ซื้อสินค้าและบริการดิจิทัลภายในแอปพลิเคชันมือถือได้โดยตรง แพลตฟอร์ม iOS และ Android มี API ในตัวสำหรับประมวลผลการชำระเงินโดยไม่ต้องส่งข้อมูลบัตรธนาคารไปยังนักพัฒนา ตามเอกสารของ Apple StoreKit IAP ประมวลผลธุรกรรมมูลค่ากว่า 500 พันล้านดอลลาร์ต่อปีผ่าน App Store และ Google Play

ประเด็นสำคัญ

  • In-App Purchase — กลไกการซื้อสินค้าดิจิทัลภายในแอปมือถือผ่าน API ของร้านค้า
  • Consumable — การซื้อแบบครั้งเดียวที่สามารถซื้อได้หลายครั้ง (เหรียญ, ชีวิต, พลังงาน)
  • Non-Consumable — การซื้อแบบถาวรที่พร้อมใช้งานหลังจากการซื้อครั้งเดียว (เลเวล, ฟิลเตอร์, ฟีเจอร์พรีเมียม)
  • Auto-Renewable Subscription — การชำระเงินเป็นงวดสำหรับการเข้าถึงเนื้อหาหรือบริการตามระยะเวลา
  • Server-side receipt validation — การตรวจสอบใบเสร็จที่จำเป็นบนเซิร์ฟเวอร์ของคุณเองเพื่อป้องกันการฉ้อโกง

In-App Purchase คืออะไร?

In-App Purchase (IAP) เป็นเทคโนโลยีที่อนุญาตให้ขายสินค้าและบริการดิจิทัลภายในแอปพลิเคชันมือถือ การชำระเงินถูกประมวลผลผ่าน App Store (บน iOS) หรือ Google Play (บน Android) ซึ่งเรียกเก็บค่าคอมมิชชันสำหรับการดำเนินการธุรกรรม นักพัฒนาได้รับเงินหลังจากหักค่าคอมมิชชันของร้านค้า

Apple เรียกเก็บค่าคอมมิชชัน 30% (15% สำหรับธุรกิจขนาดเล็กที่มีรายได้ไม่เกิน 1 ล้านดอลลาร์) Google Play ก็เรียกเก็บ 30% เช่นกัน (15% สำหรับรายได้ของนักพัฒนาหนึ่งล้านดอลลาร์แรก) ตั้งแต่ปี 2024 Google กำลังทดสอบโปรแกรม User Choice Billing ซึ่งอนุญาตให้นักพัฒนาใช้ระบบการชำระเงินทางเลือก

IAP เป็นสิ่งจำเป็นสำหรับการขายสินค้าดิจิทัลในแอปตามนโยบายของ App Store และ Google Play สินค้าทางกายภาพ บริการ (เรียกแท็กซี่ ส่งอาหาร) และการชำระเงินแบบเพียร์ทูเพียร์สามารถใช้ระบบการชำระเงินของบุคคลที่สามได้

ประเภทของ In-App Purchase: consumable, non-consumable และการสมัครสมาชิก

App Store และ Google Play รองรับ In-App Purchase สามประเภทหลัก แต่ละประเภทออกแบบมาสำหรับโมเดลการสร้างรายได้ที่แตกต่างกัน การเลือกประเภทผลิตภัณฑ์ส่งผลต่อตรรกะการกู้คืนการซื้อ การจัดการการสมัครสมาชิก และพฤติกรรมเมื่อติดตั้งแอปใหม่

Consumable (การซื้อแบบสิ้นเปลือง)

การซื้อแบบสิ้นเปลือง เป็นรายการที่สามารถซื้อได้หลายครั้งและถูกใช้ไประหว่างการใช้งาน ตัวอย่างทั่วไป: สกุลเงินในเกม (เหรียญ, อัญมณี), ชีวิตพิเศษ, บูสเตอร์, พาวเวอร์อัปแบบสิ้นเปลือง สินค้าสิ้นเปลืองจะไม่ถูกกู้คืนเมื่อติดตั้งแอปใหม่ — นักพัฒนาจัดการยอดคงเหลือของผู้ใช้แต่ละคนบนเซิร์ฟเวอร์ของตนเอง

Non-Consumable (การซื้อแบบไม่สิ้นเปลือง)

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

Auto-Renewable Subscription (การสมัครสมาชิกแบบต่ออายุอัตโนมัติ)

การสมัครสมาชิกแบบต่ออายุอัตโนมัติ คือการชำระเงินเป็นงวดสำหรับการเข้าถึงเนื้อหาหรือบริการตามระยะเวลาที่กำหนด (สัปดาห์, เดือน, ปี) การสมัครสมาชิกจะต่ออายุโดยอัตโนมัติจนกว่าผู้ใช้จะยกเลิกในการตั้งค่าบัญชี ร้านค้าให้การแจ้งเตือนเซิร์ฟเวอร์ (App Store Server Notifications, Google Play Developer Notifications) เกี่ยวกับการเปลี่ยนแปลงสถานะการสมัครสมาชิก: การต่ออายุ, หมดอายุ, การคืนเงิน

การตั้งค่า IAP ใน App Store Connect และ Google Play Console

การตั้งค่า In-App Purchase เริ่มต้นในแผงนักพัฒนา: App Store Connect สำหรับ iOS และ Google Play Console สำหรับ Android สำหรับแต่ละผลิตภัณฑ์ จะระบุรหัสผลิตภัณฑ์ (Product ID), ชื่อ, คำอธิบาย, ประเภท และราคาในดอลลาร์สหรัฐฯ โดยแปลงเป็นสกุลเงินท้องถิ่นโดยอัตโนมัติ หลังจากสร้างแล้ว ผลิตภัณฑ์จะผ่านการตรวจสอบของร้านค้า

ใน App Store Connect ผลิตภัณฑ์ IAP ถูกสร้างขึ้นในส่วน Features → In-App Purchases สำหรับแต่ละผลิตภัณฑ์ จะเลือกประเภท (consumable, non-consumable, auto-renewable subscription, non-renewing subscription) และกรอกชื่อที่แปลแล้ว สำหรับการสมัครสมาชิก จะมีการกำหนดค่ากลุ่มการสมัครสมาชิก (Subscription Groups) เพิ่มเติม — กลุ่มของการสมัครสมาชิกที่สามารถใช้แทนกันได้

ใน Google Play Console ผลิตภัณฑ์ที่มีการจัดการจะถูกกำหนดค่าในส่วน Monetise → Products → In-app products Google ใช้คำว่า Managed Product (เทียบเท่ากับ non-consumable) และ Subscription สำหรับการซื้อแบบสิ้นเปลืองบน Android จะใช้แฟลก consume แยกต่างหากซึ่งรีเซ็ตผลิตภัณฑ์สำหรับการซื้อซ้ำ

การตรวจสอบผลิตภัณฑ์ IAP โดยทั่วไปใช้เวลา 24–48 ชั่วโมง ใน App Store และไม่กี่ชั่วโมงใน Google Play การเปลี่ยนแปลงราคามีผลทันทีโดยไม่ต้องตรวจสอบซ้ำ ไม่สามารถเปลี่ยนแปลงรหัสผลิตภัณฑ์ได้หลังจากสร้าง — สามารถลบและสร้างใหม่เท่านั้น

การตรวจสอบใบเสร็จฝั่งเซิร์ฟเวอร์และการป้องกันการฉ้อโกง

การตรวจสอบใบเสร็จ เป็นขั้นตอนบังคับในการประมวลผล In-App Purchase แอปพลิเคชันไคลเอ็นต์ส่งใบเสร็จไปยังเซิร์ฟเวอร์ของคุณ เซิร์ฟเวอร์ตรวจสอบผ่าน API ของ Apple (https://buy.itunes.apple.com) หรือ Google (https://androidpublisher.googleapis.com) และหลังจากตรวจสอบสำเร็จจึงมอบสินค้าให้กับผู้ใช้

หากไม่มีการตรวจสอบฝั่งเซิร์ฟเวอร์ ผู้โจมตีสามารถปลอมแปลงการตอบสนองของร้านค้าและรับสินค้าได้ฟรี การตรวจสอบฝั่งไคลเอ็นต์ ไม่ปลอดภัยเพราะทำงานในสภาพแวดล้อมที่ผู้ใช้ควบคุม การตรวจสอบฝั่งเซิร์ฟเวอร์รับประกันว่าใบเสร็จเป็นของแท้และการชำระเงินสำเร็จ สำหรับ Apple การตรวจสอบทำผ่านปลายทาง verifyReceipt (โปรดักชันหรือแซนด์บ็อกซ์) สำหรับ Google — ผ่าน Android Publisher API ร้านค้าทั้งสองส่งคืนการยืนยันในรูปแบบ JSON

Apple ส่งคืนข้อมูลการซื้อในใบเสร็จ: product_id, transaction_id, purchase_date, expiration_date (สำหรับการสมัครสมาชิก) Google ส่งคืนฟิลด์ที่คล้ายกันผ่าน Purchases.products.get หรือ Purchases.subscriptions.get API เซิร์ฟเวอร์ควรจัดเก็บ transaction_id ของใบเสร็จแต่ละใบและปฏิเสธคำขอซ้ำที่มี ID เดียวกันเพื่อป้องกันการโจมตีแบบรีเพลย์

การรวม IAP ในแอปมือถือด้วย Swift และ Kotlin

การรวม In-App Purchase จำเป็นต้องเชื่อมต่อไลบรารีของแพลตฟอร์ม: StoreKit 2 บน iOS และ Billing Library 7+ บน Android API อนุญาตให้ขอรายการผลิตภัณฑ์ เริ่มการซื้อ จัดการผลลัพธ์ และกู้คืนรายการที่ซื้อก่อนหน้านี้

Swift — StoreKit 2 บน iOS 17+

swift
import StoreKit

func purchaseProduct(productID: String) async throws {
    guard let product = try await Product.products(for: [productID]).first else { return }
    let result = try await product.purchase()
    switch result {
    case .success(let verification):
        let transaction = try verification.payloadValue
        await validateReceipt(transaction)
        await transaction.finish()
    default:
        break
    }
}

Kotlin — Billing Library 7

kotlin
import com.android.billingclient.api.BillingClient
import com.android.billingclient.api.BillingFlowParams

val billingClient = BillingClient.newBuilder(context)
    .setListener { billingResult, purchases ->
        if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
            purchases?.forEach { purchase ->
                validateReceipt(purchase)
            }
        }
    }
    .build()

val params = BillingFlowParams.newBuilder()
    .setProductDetails(productDetails)
    .build()
billingClient.launchBillingFlow(activity, params)

การตรวจสอบใบเสร็จฝั่งเซิร์ฟเวอร์ (Node.js)

js
const response = await fetch('https://buy.itunes.apple.com/verifyReceipt', {
    method: 'POST',
    body: JSON.stringify({
        'receipt-data': receiptBase64,
        'password': 'SHARED_SECRET'
    })
})

const data = await response.json()
if (data.status === 0) {
    // ยืนยันใบเสร็จแล้ว — กำลังมอบสินค้า
    await grantProduct(data.receipt.product_id)
}

แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างรายได้ผ่าน In-App Purchase

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

การแนะนำการสมัครสมาชิก เป็นขั้นตอนการเปลี่ยนผู้ใช้ที่สำคัญ แสดงคุณค่าของการสมัครสมาชิกให้ผู้ใช้เห็นก่อนขอชำระเงิน: ระยะเวลาทดลองใช้ฟรี การเปรียบเทียบแผน รายการสิทธิประโยชน์ จากการวิจัย ระยะเวลาทดลองใช้ฟรีเพิ่มการเปลี่ยนเป็นผู้ใช้ที่ชำระเงินได้ 25–40%

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

ระยะเวลาผ่อนผัน (Grace Period) เป็นระยะเวลาเลื่อนการชำระเงินสำหรับการสมัครสมาชิกในระหว่างที่ผู้ใช้ยังคงเข้าถึงได้หลังจากชำระเงินไม่สำเร็จ iOS และ Android รองรับระยะเวลาผ่อนผันสูงสุด 30 วัน การเปิดใช้งานระยะเวลาผ่อนผันช่วยลดอัตราการสูญเสียสมาชิก (churn rate) ลง 10–15%

การทดสอบ A/B ราคา IAP เป็นแนวปฏิบัติสำคัญในการสร้างรายได้ App Store Connect รองรับการกำหนดราคาท้องถิ่น (Price Tiers) ที่สามารถเปลี่ยนราคาได้โดยไม่ต้องตรวจสอบซ้ำ Google Play Console อนุญาตให้กำหนดค่าได้สูงสุด 5 แผนพื้นฐานที่มีราคาต่างกันสำหรับผลิตภัณฑ์สมัครสมาชิกหนึ่งรายการ แนะนำให้ทดสอบอย่างน้อยสองจุดราคา: ปัจจุบันและใหม่ การทดสอบควรดำเนินการเป็นเวลา 2–4 สัปดาห์กับกลุ่มตัวอย่างอย่างน้อย 1,000 ผู้ใช้ต่อจุดราคา

การตรวจสอบร้านค้าและการจัดการการปฏิเสธ เป็นขั้นตอนบังคับในการเผยแพร่แอปที่มี IAP Apple ตรวจสอบแอปที่มีการสมัครสมาชิกแบบต่ออายุอัตโนมัติอย่างละเอียดเป็นพิเศษ: คุณต้อง提供บัญชีทดสอบที่มีการสมัครสมาชิกที่ใช้งานอยู่ แสดงหน้าจอยกเลิกการสมัครสมาชิก และ implement การกู้คืนการซื้อ Google Play เข้มงวดน้อยกว่าแต่ต้องการการยืนยันสิทธิ์ในเนื้อหาดิจิทัล แนะนำให้เพิ่มบันทึกสำหรับผู้ตรวจสอบ (Review Notes) ที่อธิบายตรรกะ IAP

คำถามที่พบบ่อย

In-App Purchase คืออะไรและทำงานอย่างไร?

In-App Purchase (IAP) เป็นกลไกการซื้อสินค้าดิจิทัลภายในแอปมือถือ การชำระเงินถูกประมวลผลผ่าน App Store หรือ Google Play ซึ่งหักค่าคอมมิชชัน 30% (15% สำหรับธุรกิจขนาดเล็ก) และโอนส่วนที่เหลือให้นักพัฒนา

In-App Purchase มีกี่ประเภท?

IAP มีสามประเภท: สิ้นเปลือง (ใช้หมด — เหรียญ, ชีวิต), ไม่สิ้นเปลือง (ถาวร — ลบโฆษณา, เวอร์ชันเต็ม) และการสมัครสมาชิกแบบต่ออายุอัตโนมัติ (เป็นงวด — เข้าถึงเนื้อหาตามระยะเวลา) การซื้อแบบไม่สิ้นเปลืองรองรับการกู้คืน

จะป้องกัน In-App Purchase จากการแฮ็กได้อย่างไร?

วิธีการป้องกันหลักคือ การตรวจสอบใบเสร็จฝั่งเซิร์ฟเวอร์ ไคลเอ็นต์ส่งใบเสร็จไปยังเซิร์ฟเวอร์ของคุณ และเซิร์ฟเวอร์ตรวจสอบผ่าน API ของ Apple หรือ Google หากไม่มีการตรวจสอบฝั่งเซิร์ฟเวอร์ ผู้โจมตีสามารถปลอมแปลงการตอบสนองของร้านค้าและรับสินค้าได้ฟรี

จะตั้งค่า In-App Purchase ในแอปได้อย่างไร?

การตั้งค่า IAP รวมถึง: การสร้างผลิตภัณฑ์ใน App Store Connect หรือ Google Play Console, การเชื่อมต่อ StoreKit (iOS) หรือ Billing Library (Android), การ implement ขั้นตอนการซื้อ และการตรวจสอบใบเสร็จฝั่งเซิร์ฟเวอร์ ผลิตภัณฑ์แต่ละรายการผ่านการตรวจสอบของร้านค้า

ค่าคอมมิชชันของร้านค้าสำหรับ In-App Purchase คือเท่าไร?

Apple เรียกเก็บ 30% (15% สำหรับนักพัฒนาที่มีรายได้ไม่เกิน 1 ล้านดอลลาร์) Google Play ก็เรียกเก็บ 30% เช่นกัน (15% สำหรับ 1 ล้านแรก) ตั้งแต่ปี 2024 Google กำลังทดสอบระบบการชำระเงินทางเลือกผ่าน User Choice Billing นักพัฒนาสามารถเลือกผู้ให้บริการชำระเงินของบุคคลที่สามได้ แต่ต้องจ่ายค่าธรรมเนียมบริการ 11–12% ให้กับ Google

สรุป

  • In-App Purchase — กลไกการขายสินค้าดิจิทัลภายในแอปมือถือผ่าน API ของ App Store และ Google Play
  • สามประเภท ของ IAP: สิ้นเปลือง (ใช้หมด), ไม่สิ้นเปลือง (ถาวร) และการสมัครสมาชิกแบบต่ออายุอัตโนมัติ (เป็นงวด)
  • ค่าคอมมิชชัน ของร้านค้าคือ 30% (15% สำหรับธุรกิจขนาดเล็ก)
  • การตรวจสอบใบเสร็จฝั่งเซิร์ฟเวอร์ — การป้องกันที่จำเป็นต่อการปลอมแปลงใบเสร็จฝั่งไคลเอ็นต์
  • การตรวจสอบ ผลิตภัณฑ์ IAP ใช้เวลา 24–48 ชั่วโมงใน App Store และไม่กี่ชั่วโมงใน Google Play
  • การแนะนำการสมัครสมาชิก ด้วยระยะเวลาทดลองใช้ฟรีเพิ่มการเปลี่ยนเป็นผู้ใช้ที่ชำระเงิน 25–40%
  • ระยะเวลาผ่อนผัน สูงสุด 30 วันลดการสูญเสียสมาชิก 10–15% เมื่อชำระเงินไม่สำเร็จ

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม