In-App Purchase (IAP) एक इन-ऐप खरीद तंत्र है जो उपयोगकर्ताओं को मोबाइल ऐप के भीतर सीधे डिजिटल सामान और सेवाएँ खरीदने की अनुमति देता है। iOS और Android प्लेटफ़ॉर्म डेवलपर को बैंक कार्ड डेटा स्थानांतरित किए बिना भुगतान प्रक्रिया के लिए अंतर्निहित API प्रदान करते हैं। Apple StoreKit दस्तावेज़ीकरण के अनुसार, IAP App Store और Google Play के माध्यम से सालाना 500 बिलियन डॉलर से अधिक के लेन-देन को संसाधित करता है।
मुख्य बिंदु
In-App Purchase (IAP) एक तकनीक है जो मोबाइल ऐप के भीतर डिजिटल सामान और सेवाएँ बेचने की अनुमति देती है। भुगतान App Store (iOS पर) या Google Play (Android पर) के माध्यम से संसाधित किए जाते हैं, जो लेन-देन प्रसंस्करण के लिए कमीशन लेते हैं। डेवलपर को स्टोर के कमीशन को घटाकर धन प्राप्त होता है।
Apple 30% कमीशन लेता है (1 मिलियन डॉलर तक राजस्व वाले छोटे व्यवसायों के लिए 15%)। Google Play भी 30% लेता है (डेवलपर राजस्व के पहले 1 मिलियन डॉलर पर 15%)। 2024 से, Google User Choice Billing प्रोग्राम का परीक्षण कर रहा है, जो डेवलपर को वैकल्पिक भुगतान प्रणालियों का उपयोग करने की अनुमति देता है।
App Store और Google Play की नीतियों के अनुसार ऐप में डिजिटल सामान बेचने के लिए IAP अनिवार्य है। भौतिक सामान, सेवाएँ (कैब बुकिंग, भोजन वितरण) और पीयर-टू-पीयर भुगतान तृतीय-पक्ष भुगतान प्रणालियों का उपयोग कर सकते हैं।
App Store और Google Play तीन मुख्य प्रकार के In-App Purchase का समर्थन करते हैं। प्रत्येक प्रकार विभिन्न मुद्रीकरण मॉडल के लिए डिज़ाइन किया गया है। उत्पाद प्रकार का चयन खरीद बहाली तर्क, सब्सक्रिप्शन प्रबंधन और ऐप पुनर्स्थापना पर व्यवहार को प्रभावित करता है।
उपभोज्य खरीद वे आइटम हैं जिन्हें कई बार खरीदा जा सकता है और उपयोग के दौरान उपभोग किए जाते हैं। विशिष्ट उदाहरण: गेम मुद्रा (सिक्के, रत्न), अतिरिक्त जीवन, बूस्टर, उपभोज्य पावर-अप। ऐप पुनर्स्थापित करने पर उपभोज्य वस्तुएँ बहाल नहीं होतीं — डेवलपर अपने सर्वर पर प्रत्येक उपयोगकर्ता के शेष का प्रबंधन करता है।
गैर-उपभोज्य खरीद वे आइटम हैं जो एक बार खरीदे जाते हैं और हमेशा उपलब्ध रहते हैं। उदाहरण: ऐप का पूर्ण संस्करण, प्रीमियम स्तर, फ़िल्टर अनलॉक, विज्ञापन हटाना। गैर-उपभोज्य उत्पादों को Restore Purchases API के माध्यम से बहाल किया जा सकता है: पुनर्स्थापना के बाद, उपयोगकर्ता पहले से खरीदी गई वस्तुओं को पुनः भुगतान किए बिना प्राप्त कर सकता है।
स्वतः-नवीकरणीय सब्सक्रिप्शन एक निर्दिष्ट अवधि (सप्ताह, महीना, वर्ष) के लिए सामग्री या सेवा तक पहुँच के लिए आवर्ती भुगतान है। सब्सक्रिप्शन स्वचालित रूप से नवीनीकृत होता है जब तक उपयोगकर्ता अपने खाता सेटिंग्स में इसे रद्द नहीं करता। स्टोर सब्सक्रिप्शन स्थिति परिवर्तनों के बारे में सर्वर सूचनाएँ (App Store Server Notifications, Google Play Developer Notifications) प्रदान करते हैं: नवीनीकरण, समाप्ति, वापसी।
सेटअप In-App Purchase डेवलपर पैनल में शुरू होता है: iOS के लिए App Store Connect और Android के लिए Google Play Console। प्रत्येक उत्पाद के लिए, उत्पाद आईडी (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 (गैर-उपभोज्य के अनुरूप) और Subscription शब्दों का उपयोग करता है। Android पर उपभोज्य खरीद के लिए, एक अलग consume फ़्लैग का उपयोग किया जाता है जो पुनः खरीद के लिए उत्पाद को रीसेट करता है।
IAP उत्पादों का मॉडरेशन आमतौर पर App Store में 24–48 घंटे और Google Play में कुछ घंटे लगता है। मूल्य परिवर्तन बिना पुनः मॉडरेशन के तुरंत लागू होते हैं। उत्पाद आईडी निर्माण के बाद बदला नहीं जा सकता — केवल हटाकर पुनः बनाया जा सकता है।
रसीद सत्यापन In-App Purchase प्रसंस्करण का एक अनिवार्य चरण है। क्लाइंट ऐप आपके अपने सर्वर पर एक रसीद भेजता है, सर्वर Apple API (https://buy.itunes.apple.com) या Google API (https://androidpublisher.googleapis.com) के माध्यम से इसकी पुष्टि करता है, और केवल सफल सत्यापन के बाद ही उपयोगकर्ता को आइटम प्रदान करता है।
सर्वर-साइड सत्यापन के बिना, एक हमलावर स्टोर के प्रतिक्रिया को नकली बना सकता है और मुफ्त में आइटम प्राप्त कर सकता है। क्लाइंट-साइड सत्यापन असुरक्षित है क्योंकि यह उपयोगकर्ता द्वारा नियंत्रित वातावरण में चलता है। सर्वर-साइड सत्यापन सुनिश्चित करता है कि रसीद प्रामाणिक है और भुगतान सफल हुआ। Apple के लिए, सत्यापन verifyReceipt एंडपॉइंट (production या sandbox) के माध्यम से किया जाता है, Google के लिए — Android Publisher API के माध्यम से। दोनों स्टोर JSON प्रारूप में पुष्टि लौटाते हैं।
Apple रसीद में खरीद डेटा लौटाता है: product_id, transaction_id, purchase_date, expiration_date (सब्सक्रिप्शन के लिए)। Google Purchases.products.get या Purchases.subscriptions.get API के माध्यम से समान फ़ील्ड लौटाता है। सर्वर को प्रत्येक रसीद का transaction_id संग्रहीत करना चाहिए और रीप्ले हमलों से बचाव के लिए समान आईडी वाले डुप्लिकेट अनुरोधों को अस्वीकार करना चाहिए।
एकीकरण In-App Purchase के लिए प्लेटफ़ॉर्म लाइब्रेरीज़ को जोड़ने की आवश्यकता है: iOS पर StoreKit 2 और Android पर Billing Library 7+। API उत्पादों की सूची का अनुरोध करने, खरीद शुरू करने, परिणाम को संभालने और पहले से खरीदी गई वस्तुओं को बहाल करने की अनुमति देते हैं।
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
}
}
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)
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 के माध्यम से एक सुविचारित मूल्य निर्धारण रणनीति और UX की आवश्यकता है। उपयोगकर्ता अपनी पहली खरीदारी के लिए अधिक इच्छुक होते हैं यदि उन्हें कम कीमत पर एक आकर्षक स्टार्टर पैक प्रदान किया जाए। Apple और Google खरीद पुष्टि चरण से पहले उत्पाद की कीमत दिखाने की सलाह देते हैं।
सब्सक्रिप्शन ऑनबोर्डिंग एक महत्वपूर्ण रूपांतरण चरण है। भुगतान का अनुरोध करने से पहले उपयोगकर्ता को सब्सक्रिप्शन का मूल्य दिखाएँ: मुफ्त परीक्षण अवधि, योजनाओं की तुलना, लाभों की सूची। शोध के अनुसार, मुफ्त परीक्षण अवधि भुगतान करने वाले उपयोगकर्ताओं में रूपांतरण को 25–40% तक बढ़ाती है।
खरीद बहाली गैर-उपभोज्य उत्पादों और सब्सक्रिप्शन के लिए अनिवार्य है। बहाली बटन ऐप सेटिंग्स या भुगतान स्क्रीन पर सुलभ होना चाहिए। Google और Apple ऐप को अस्वीकार कर सकते हैं यदि संबंधित IAP प्रकारों के लिए खरीद बहाली लागू नहीं की गई है।
अनुग्रह अवधि (Grace Period) सब्सक्रिप्शन के लिए एक स्थगन अवधि है जिसके दौरान उपयोगकर्ता भुगतान विफलता के बाद भी पहुँच बनाए रखता है। iOS और Android 30 दिनों तक की अनुग्रह अवधि का समर्थन करते हैं। अनुग्रह अवधि सक्षम करने से त्याग दर (churn rate) 10–15% कम हो जाती है।
A/B परीक्षण IAP कीमतों का एक महत्वपूर्ण मुद्रीकरण अभ्यास है। App Store Connect बिना पुनः मॉडरेशन के मूल्य बदलने की क्षमता के साथ स्थानीय मूल्य निर्धारण (Price Tiers) का समर्थन करता है। Google Play Console एक सब्सक्रिप्शन उत्पाद के लिए विभिन्न मूल्यों के साथ 5 बेस प्लान कॉन्फ़िगर करने की अनुमति देता है। कम से कम दो मूल्य बिंदुओं का परीक्षण करने की अनुशंसा की जाती है: वर्तमान और नया। परीक्षण प्रति मूल्य बिंदु कम से कम 1000 उपयोगकर्ताओं के नमूने पर 2–4 सप्ताह तक आयोजित किया जाना चाहिए।
स्टोर समीक्षा और अस्वीकृति प्रबंधन IAP के साथ ऐप प्रकाशित करने का एक अनिवार्य चरण है। Apple विशेष रूप से स्वतः-नवीकरणीय सब्सक्रिप्शन वाले ऐप की जाँच करता है: आपको सक्रिय सब्सक्रिप्शन के साथ एक परीक्षण खाता प्रदान करना होगा, सब्सक्रिप्शन रद्दीकरण स्क्रीन दिखानी होगी और खरीद बहाली लागू करनी होगी। Google Play कम सख्त है लेकिन डिजिटल सामग्री अधिकारों की पुष्टि की आवश्यकता है। IAP तर्क का वर्णन करने वाला एक समीक्षा नोट (Review Notes) जोड़ने की अनुशंसा की जाती है।
अक्सर पूछे जाने वाले प्रश्न
In-App Purchase (IAP) मोबाइल ऐप के भीतर डिजिटल सामान खरीदने का एक तंत्र है। भुगतान App Store या Google Play के माध्यम से संसाधित किया जाता है, जो 30% कमीशन (छोटे व्यवसायों के लिए 15%) रखते हैं और शेष डेवलपर को हस्तांतरित करते हैं।
IAP के तीन प्रकार हैं: उपभोज्य (समाप्त होने वाला — सिक्के, जीवन), गैर-उपभोज्य (स्थायी — विज्ञापन हटाना, पूर्ण संस्करण) और स्वतः-नवीकरणीय सब्सक्रिप्शन (आवर्ती — एक अवधि के लिए सामग्री तक पहुँच)। गैर-उपभोज्य खरीद बहाली का समर्थन करती है।
प्राथमिक सुरक्षा विधि सर्वर-साइड रसीद सत्यापन है। क्लाइंट आपके सर्वर को रसीद भेजता है, और सर्वर Apple या Google API के माध्यम से इसकी पुष्टि करता है। सर्वर-साइड सत्यापन के बिना, एक हमलावर स्टोर के प्रतिक्रिया को नकली बना सकता है और मुफ्त में आइटम प्राप्त कर सकता है।
सेटअप IAP में शामिल है: App Store Connect या Google Play Console में उत्पाद बनाना, StoreKit (iOS) या Billing Library (Android) कनेक्ट करना, खरीद प्रवाह लागू करना और सर्वर-साइड रसीद सत्यापन। प्रत्येक उत्पाद स्टोर मॉडरेशन से गुज़रता है।
Apple 30% लेता है (1 मिलियन डॉलर तक राजस्व वाले डेवलपर के लिए 15%)। Google Play भी 30% लेता है (पहले 1 मिलियन पर 15%)। 2024 से, Google User Choice Billing के माध्यम से वैकल्पिक भुगतान प्रणालियों का परीक्षण कर रहा है। डेवलपर तृतीय-पक्ष भुगतान प्रदाता चुन सकता है लेकिन Google को 11–12% सेवा शुल्क देना होगा।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें