Digital Purchases for In-App Purchases
Follow along with this help document to set up your Single Use In-App Purchases component: Digital Purchases.
Skill Level: Expert
Testing In-App Purchases Google
One of the common ways to monetize your app is with one a time in-app purchase of digital products. Think of buying in game coins to upgrade your base in Space Fight Titans XL (not a real game), upgrading from a free app to a non-subscription premium app, or buying a pass to the online bootcamp that you’ve been wanting to join!
These are all one-time purchases of digital products, and are exactly what the Adalo Digital Purchase component is built for.
- 1.Our component does not currently work with coupon codes.
- 2.Your database needs a few things to function:
- 1.A Collection of “Products”
- These can be events, activities, coaching sessions, etc. They just have to be associated with the item being paid for.
- Or a unique product ID if you are only selling one product.
- If you have a large volume of products to add, You can export the collection from Adalo, modify the .csv to meet the upload guidelines for Android. Apple requires you to add them one at a time.
- 2.Product IDs
- Google and Apple recommend something similar to using your package name/BundleID and one or two words from the item i.e. com.spacefighttitansxl.powerup.1, but ultimately it can be anything that follows these restrictions.
- Must start with a number or lowercase letter, and can contain numbers (0-9), lowercase letters (a-z), underscores (_), and periods (.)
- 148 characters or less
The Adalo Digital Purchase component can be installed to your Adalo account from the App Marketplace.
- 1.Click the plus button in the left toolbar in your Adalo editor
- 2.Scroll down and click the Explore Marketplace button
- 3.In the Marketplace, scroll to find the Adalo Digital Purchase component and click to Install
- 4.Drag the Digital Purchase component to your App’s purchase screen.
- 1.The component has all of the style customization of the standard Adalo Button component.
Set-up Digital Purchase component button
- 1.Android and iOS Product IDs - These are the unique identifiers for the product being purchased. Google and Apple have their own recommendation for the format, but it can be anything unique to that item. You can use the same Product ID for both platforms.
- 2.Select this property from your Collection via Magic Text, or add a specific Product ID here.
- 3.Button - Change the text, icon, font, color, and style of the button to match your app’s style.
Treat Purchases as Restorations
- 1.The App Store and Play store require a way to restore previous purchases from your users to a new device. Even though in Adalo, all of this information is tied to their account, and stored on our servers, this Action is still required to exist in your app.
- 2.The Button can be changed to read “Restore” and this is accepted by Apple and Google, as it will recognize if you have purchased the product in the past.
- 1.Simply create a Collection for Purchases.
- 2.Add the IAP Button for the purchases and rename to “Restore”.
- 3.Add an Action to update the User to include the Purchased Product.
- 4.If they have, it will return successful and you set your actions, if errored, it means the user has not purchased this in the past.
- 3.You can have this button located anywhere, but we recommend adding in to a user settings screen. If you are selling multiple products with a dynamic Product ID, you can make a list of the products with this button in the list, and a user can then restore their purchases.
- 4.Use Visibility rules to make these visible to only applicable Users.
Actions - The Digital Purchase component has three Actions for handling different outcomes from the Payment Modal. Add actions for each of these to unique screens, giving the User feedback about what happened.
Successful - The purchase went through
- Update the Record in your database
- Add the User to the purchased item.
- You can update a field on the User Record or add a Relationship from the Product/Purchase to the User. Ultimately, you will need to decide how to connect the purchases to Users in your Database.
Error - The purchase could not be completed because it was declined or there was a server side error.
- You can save the error codes in an Error Log Collection and use a Create or Update Action to access these codes via Magic Text.
Canceled - The user canceled the purchase.
- Actions that should perform in the event the purchase is cancelled by the User.
- 1.In-App Purchases only work for apps downloaded from the Apple App Store or Google Play Store. This component is hidden on web by default but you can choose to show the component and have a web-only action to link to a Stripe payment screen.
Your app will go through additional reviews when you have this component installed. We recommend adding this near the end of your development cycle and near deployment to reduce the time required to test the rest of your app.
- 1.In your Play Store Console, Select your app.
- 2.Upload your New APK with the Digital Purchase component set up to an Internal or Beta Release Track. **This must be done before you can set up any products for you app**
- 3.Select the “In-App Purchases” from the left side menu under “Monetize>Products”
- 4.This will take you through the steps of setting up your App for receiving payments if you have not already done this.
- 5.All Products have to be tied to a Pricing Template. Pricing templates allow you to reuse pricing across multiple products and apps without having to keep the currencies exchanges and details updated for each one.
- 1.Create a pricing template in your Google Play Console Account Settings. Not in the app specific settings
- 1.Name your Pricing template something descriptive and set the price.
- 2.Select if the price includes tax.
Now create your In-App Products under the app specific settings>Monetize>Products>In-App Products
Complete the Product Details. Product ID is the property you set up with the Digital Purchase component.
- 1.Provide some details for the product.
- 2.Select the appropriate Pricing Template that you have created.
- 3.Select “Activate” for the product
- 4.Repeat 9-17 for each product, or format a .CSV to upload for a large list.
- 1.Your app may require some additional review time before you can download and test the internal test track app from the playstore.
- 5.Now download the internal test flight app and test the component!
- 6.Proceed to publish as usual once tested.
- 1.Navigate to your App in App Store Connect, in the left side menu select In-App Purchase>Manage.
- 2.These products will be available to be added to all apps in your account.
- 3.Select the (+) button to add a new In-App Product
- 1.Select the type of product you are adding.
- 1.***Auto- Renewing Subscription type is not yet supported
- 1.Complete the Product details
- 1.Product ID is the property you set up with the Digital Purchase component.
- 2.Reference Name is something to identify the product in your dashboard
- 3.Pricing - You select the price tier for your product. Check these before finalizing your price for your products in the collection.
- 4.App Store Information will be displayed in the App Store Listing under “In-App Purchases” information section
- 5.App store promotional - is optional. You can skip this for now
- 6.Review information- You need to upload a screenshot of the purchase page for this specific product. Our recommended resolution is 1242 x 2688 or 640 x 1136 but all these sizes are accepted.
- 8.Repeat steps 3-6 for each digital product you will be selling in your app.
- 9.You need to set up your Apple Developer Account to accept payments. This is done here https://appstoreconnect.apple.com
- 10.Select the “Agreements, Tax, and Banking” section to get set up. This must be completed before you can test or accept In-App Purchases with your app. It takes up to 24 hours to be approved.
- 1.Now you can test your Digital Purchases in TestFlight. Purchases in TestFlight builds are FREE, but if they are successful in TestFlight, they will work in the App store.
- 2.When you have thoroughly tested your app, you can submit the build for release to the App store. There are a couple additional steps when adding IAP for the first time.
- 3.Navigate to the App Store tab at the top of the page, and scroll down to In-App Purchases
- 4.Select the In-App Purchases associated with this app.
- 5.Select the newly Tested build with the Digital Purchase component in the Build section. Note, you must submit a NEW build. An existing live build cannot be used when publishing the app.
- 1.Follow your typical publishing process for releasing to the App Store.
- 2.You now have a monetized with Digital Purchases App in the App Store!
If you make test purchases in your app using the same email as your Google Developer account, you will not be charged for the purchase. If you would like others to test this functionality as well, you must add users as Licensed Testers for your app. These can be people already within your test tracks or they can be people outside your test tracks.
User purchases in test tracks result in actual charges to user accounts unless the user is also a licensed tester. The testers email must match the one that they will be using to make purchases. For more help on setting up test tracks, see Publishing to Google.
- 1.From the main dashboard of your Google Play Console, click the License Testing option from the Setup dropdown in the left-hand menu.
- 2.Add users emails that you would like to test the subscriptions features by inputting their emails separated by commas, then hitting enter to add them. Note that these emails need to be Gmail accounts but can be Google Workspace emails (i.e. custom domains connected to Google Workspace.
- 3.Be sure to select LICENSED from the dropdown so the applications in your developer account know that purchases by this email are licensed and should not be charged for the test subscription.
- 4.Click Save Changes in the bottom right, then click Save in the popup. Note that these settings apply to all apps in your developer account.
If you need additional help with this article, you can always ask in our community forum! Be sure to paste the link to this article in your post as well!