{"id":10534,"date":"2025-09-22T19:54:02","date_gmt":"2025-09-22T23:54:02","guid":{"rendered":"https:\/\/learndash.com\/support\/?post_type=docs&#038;p=10534"},"modified":"2025-09-23T09:40:13","modified_gmt":"2025-09-23T13:40:13","password":"","slug":"how-to-set-up-in-app-purchases","status":"publish","type":"docs","link":"https:\/\/learndash.com\/support\/kb\/learndash-app\/in-app-purchases\/how-to-set-up-in-app-purchases\/","title":{"rendered":"How to Set Up In-App Purchases"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-introduction\"><strong>Introduction<\/strong><\/h2>\n\n\n\n<p>In-app purchases let you monetize your content by offering paid courses, memberships, or access tiers directly inside the Learndash App.<\/p>\n\n\n\n<p>This guide walks you through enabling in-app purchases, configuring product settings, syncing with app stores, organizing subscriptions, and testing transactions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-enable-in-app-purchases-in-your-learndash-app\"><strong>Enable In-App Purchases in Your Learndash App<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In your WordPress Dashboard, go to <strong>Learndash App > Components<\/strong>.<br><\/li>\n\n\n\n<li>Toggle on <strong>In-App Purchases<\/strong>.<br><\/li>\n\n\n\n<li>Click <strong>Save Changes<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-configure-in-app-purchase-settings\"><strong>Configure In-App Purchase Settings<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to <strong>Learndash App > Settings > In-App Purchases<\/strong>.<br><\/li>\n\n\n\n<li><strong>Require Purchase<\/strong> \u2013 Check this to block all content until the user purchases a product.<br><\/li>\n\n\n\n<li>Under <strong>Terms of Service<\/strong> and <strong>Privacy Policy<\/strong>, select the appropriate WordPress pages.<br><\/li>\n\n\n\n<li>Scroll to <strong>Products Screen<\/strong> and enter a custom <strong>Sales Message<\/strong> (e.g., \u201cChoose your plan to unlock access\u201d).<br><\/li>\n\n\n\n<li>Click <strong>Save Changes<\/strong>.<br><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-add-the-products-screen-to-your-app-menu\"><strong>Add the Products Screen to Your App Menu<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Learndash App > Menus<\/strong>.<br><\/li>\n\n\n\n<li>Under the Learndash<strong> App<\/strong>, find <strong>Products<\/strong>.<br><\/li>\n\n\n\n<li>Click <strong>Add to Menu<\/strong> under either <strong>Tab Bar Menu<\/strong> or <strong>More Screen Menu<\/strong>.<br><\/li>\n\n\n\n<li>Click <strong>Save Menu<\/strong>.<br><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-create-and-sync-in-app-products\"><strong>Create and Sync In-App Products<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to <strong>Learndash App > In-App Purchases > Products<\/strong>.<br><\/li>\n\n\n\n<li>Click <strong>Add New<\/strong> and fill in:<br>\n<ul class=\"wp-block-list\">\n<li><strong>Product Name<\/strong> (match the name used in App Store Connect and Google Play Console)<br><\/li>\n\n\n\n<li><strong>Tagline<\/strong> (optional)<br><\/li>\n\n\n\n<li><strong>Description<\/strong> (optional)<br><\/li>\n\n\n\n<li><strong>Benefits<\/strong> \u2013 Short bullet points (e.g., \u2713 Access to all lessons)<br><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Display on Products Screen<\/strong> \u2013 Check if it should appear in the Products Screen.<br><\/li>\n\n\n\n<li>Under <strong>Product Type<\/strong>, select <strong>Paid<\/strong> or <strong>Free<\/strong>.<br><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-syncing-with-apple\"><strong>Syncing with Apple<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Check <strong>Enable<\/strong> under <strong>iOS Store<\/strong>, then click <strong>Sync with Apple<\/strong>.<br><\/li>\n\n\n\n<li>Select your product (must be at least \u201cReady to Submit\u201d).<br><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-syncing-with-google-play\"><strong>Syncing with Google Play<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Check <strong>Enable<\/strong> under <strong>Android Store<\/strong>, then click <strong>Sync with Google<\/strong>.<br><\/li>\n\n\n\n<li>Select your product (must be <strong>Active<\/strong> in Google Play Console).<br><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-integration-type\"><strong>Integration Type<\/strong><\/h3>\n\n\n\n<p>Choose one:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>LearnDash Course<\/strong> \u2013 Only courses marked Closed, Recurring, or Buy Now are eligible.<br><\/li>\n\n\n\n<li><strong>Membership<\/strong> \u2013 Select a supported membership plugin.<br><\/li>\n<\/ul>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li>Click <strong>Publish<\/strong> to save the product.<br><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-organize-subscription-groups\"><strong>Organize Subscription Groups<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In <strong>App Store Connect<\/strong>, create a Subscription Group under <strong>Features > Subscriptions<\/strong>.<br><\/li>\n\n\n\n<li>Copy the group name.<br><\/li>\n\n\n\n<li>In WordPress, go to <strong>Learndash App > In-App Purchases > Subscription Groups<\/strong>.<br><\/li>\n\n\n\n<li>Click <strong>Add New<\/strong>, paste the group name, and click <strong>Save<\/strong>.<br><\/li>\n\n\n\n<li>Edit each related product and assign it to this subscription group.<br><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-reorder-products\"><strong>Reorder Products<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to <strong>Learndash App > In-App Purchases > Products<\/strong>.<br><\/li>\n\n\n\n<li>Drag and drop the products to reorder them (e.g., Free > Basic > Premium).<br><\/li>\n\n\n\n<li>This order reflects in the Products Screen and purchase modals.<br><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-test-purchases-in-the-test-app\"><strong>Test Purchases in the Test App<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install your Test App on a device.<br><\/li>\n\n\n\n<li>Log in with any user (if <strong>Require Purchase<\/strong> is enabled, they\u2019ll be redirected).<br><\/li>\n\n\n\n<li>Tap <strong>View<\/strong> on a product \u2013 Test Apps treat paid items as free.<br><\/li>\n\n\n\n<li>Confirm access to the linked course or membership.<br><\/li>\n\n\n\n<li>Go to <strong>Transactions<\/strong> and check for entries marked <strong>(Test App)<\/strong>.<br><\/li>\n\n\n\n<li>Use <strong>Revoke<\/strong> to reset access and retest.<br><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-test-purchases-in-the-release-app\"><strong>Test Purchases in the Release App<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-ios-testflight\"><strong>iOS (TestFlight)<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download your <strong>IPA<\/strong> file from Build History.<br><\/li>\n\n\n\n<li>Upload to TestFlight and invite testers.<br><\/li>\n\n\n\n<li>Test in-app purchases without being charged.<br><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-android-internal-testing\"><strong>Android (Internal Testing)<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Upload the <strong>APK<\/strong> to a Google Play Console testing track.<br><\/li>\n\n\n\n<li>Invite testers and install using the testing URL.<br><\/li>\n\n\n\n<li>Complete purchase flows using Google\u2019s billing system (no real charges for test users).<br><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-manage-transactions\"><strong>Manage Transactions<\/strong><\/h2>\n\n\n\n<p>Go to <strong>Learndash App &gt; In-App Purchases &gt; Transactions<\/strong> to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>View all purchases (Test and Release Apps)<br><\/li>\n\n\n\n<li><strong>Revoke<\/strong> test purchases (safe to reset access)<br><\/li>\n\n\n\n<li><strong>Revoke<\/strong> release purchases only if necessary (removes access but doesn\u2019t issue a refund)<\/li>\n<\/ul>\n\n\n\n<p>Note: Refunds must be issued directly through Apple or Google Play.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-troubleshooting-and-faqs\"><strong>Troubleshooting and FAQs<\/strong><\/h2>\n\n\n\n<p><strong>Q: Why aren\u2019t my products showing in the app?<\/strong><strong><br><\/strong> A: Ensure each product is synced and has <strong>Approved<\/strong> (Apple) or <strong>Active<\/strong> (Google) status.<\/p>\n\n\n\n<p><strong>Q: I updated the pricing in the app stores, but it\u2019s not reflected.<\/strong><strong><br><\/strong> A: Click <strong>Sync<\/strong> again and force-close the app to refresh product data.<\/p>\n\n\n\n<p><strong>Q: Revoke isn\u2019t resetting Test App purchases.<\/strong><strong><br><\/strong> A: Make sure you used the <strong>Revoke<\/strong> button under <strong>Transactions<\/strong>, then relaunch the Test App.<\/p>\n\n\n\n<p><strong>Q: Members are subscribing to multiple plans.<\/strong><strong><br><\/strong> A: Check that all subscription products are correctly assigned to a <strong>Subscription Group<\/strong>.<\/p>\n\n\n\n<p><strong>Q: Can I offer a free product as part of the Products Screen?<\/strong><strong><br><\/strong> A: Yes. Mark it as <strong>Free<\/strong> and integrate it with a LearnDash course or membership.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In-app purchases let you monetize your content by offering paid courses, memberships, or access tiers directly inside the Learndash App. This guide walks you through enabling in-app purchases, configuring product settings, syncing with app stores, organizing subscriptions, and testing transactions. Enable In-App Purchases in Your Learndash App Configure In-App Purchase Settings Add the Products&#8230;<\/p>\n","protected":false},"author":58,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_helpful_status":1,"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_swpsp_post_exclude":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"doc_category":[290],"doc_tag":[],"knowledge_base":[283],"class_list":["post-10534","docs","type-docs","status-publish","hentry","doc_category-in-app-purchases","knowledge_base-learndash-app"],"year_month":"2026-04","word_count":680,"total_views":"646","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"display_name":"Stephanie Liy","author_link":"https:\/\/learndash.com\/support\/author\/stephaniei\/"},"doc_category_info":[{"term_name":"In-App Purchases","term_url":"https:\/\/learndash.com\/support\/kb\/learndash-app\/in-app-purchases\/"}],"doc_tag_info":[],"taxonomy_info":{"doc_category":[{"value":290,"label":"In-App Purchases"}],"knowledge_base":[{"value":283,"label":"LearnDash App"}]},"featured_image_src_large":false,"comment_info":0,"knowledge_base_info":[{"term_name":"LearnDash App","term_url":"https:\/\/learndash.com\/support\/kb\/learndash-app\/","term_slug":"learndash-app"}],"knowledge_base_slug":["learndash-app"],"_links":{"self":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs\/10534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/comments?post=10534"}],"version-history":[{"count":1,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs\/10534\/revisions"}],"predecessor-version":[{"id":10535,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs\/10534\/revisions\/10535"}],"wp:attachment":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/media?parent=10534"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/doc_category?post=10534"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/doc_tag?post=10534"},{"taxonomy":"knowledge_base","embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/knowledge_base?post=10534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}