This is the first one of a series of posts where we are going to implement mobile payments with React Native by using the react-native-iap library. We will also cover an introduction to mobile subscription payments, how to implement them on iOS or Android, and some additional next steps.
Mobile payments are on the rise
Mobile wallets are expected to grow more than 30% by 2022, (for extra information click here. It is a good time to start reviewing how to process payments on a mobile app.
In this series of posts, we are going to implement mobile payments with React Native, by using the react-native-iap library. We will also cover an introduction to mobile subscription payments, how to implement them on iOS or Android, and some additional next steps.
Implementing subscription payments in mobile apps requires an additional set of store configurations that are missing from the apps that do not include this feature. At first, you should be able to start development without all the information, but eventually, you will need product descriptions, merchant account setup, bank information, and a bunch more. So here I share with you a list of things you need to have before starting.
First let’s start with some of the configurations that need to be done:
- Create a merchant account. This means that you can receive payments in your account. You’re going to need this the moment you want to start testing your application, especially if you are using auto renewal subscriptions.
- To start testing the app you will need a build on the store with the correct configuration in your Manifest.xml.
- You will need to add
<uses-permission android:name=com.android.vending.BILLING />
TIP: If you’re using a build distribution tool such as App Distribution from Firebase, be sure to always keep the same versionCode, otherwise, you’re not going to be able to test it. This is due to the fact that Google Play keeps the version which has the correct configuration.
- Have an iOS Paid Applications contract type. Same as Android, this is needed to receive payments.
TIP: Only the owner of the account can add this information.
Time period for subscriptions
You are going to need to create a subscription period. I suggest that if you’re creating a subscription in both stores, then keep both names similar so it’s a bit easier to read.
This summarizes the configurations required in the stores to implement subscription payments. Next, you can see a list of some other cool stuff you can add to your app.
Be sure to create a refund policy. Android and iOS have their own, however, you can create your own policies depending on the model your company or project uses.
Keep in mind that in Android you can manage the refunds directly in the admin console. This is not possible on iOS, Apple is the one that handles the money and refunds.
Both Android and iOS offer the possibility for free trials on your products.
Introductory Price<span style="font-weight:
You can give a discount for some amount of time, for a minimum of 3 days and a maximum of 12 months.
This can be translated as to give users extra time to pay (min 1 day, max 30 days).
Lastly, we will discuss prices within your app. This is harder than it seems, so be sure to check different apps with similar content as yours, then start making decisions and start debating with your peers. I can bet that everyone in your team will have an opinion on this.
Prices for different countries
This will be calculated automatically by the stores. However, if you want to go with different prices over different countries, you can customize them.
Changing prices policies
Existing subscribers are notified of the price change by email and through a notification on Google Play 30 days before it takes effect for them. Notification dates are based on subscription's length and expiration date. In order to keep their subscription, subscribers must agree to the price change on Google Play.
Price changes aren't immediate for existing subscribers. After you change a subscription's price, you have at least 7 days to contact your subscribers regarding the price change before they can start being notified on Google Play. Subscribers can agree to price changes before being notified on Google Play.
When you increase the price of a subscription, Apple informs affected subscribers via email and push notification and asks them to agree to the new price.
On iOS 13.4 and iPadOS 13.4 and later, affected subscribers are also notified through a price consent sheet that automatically displays in your app.
Although you can temporarily suppress the price consent sheet to avoid interrupting the user during a critical moment, we recommend keeping the default timing so the subscriber can immediately agree to the new price. If they do not agree, their subscription expires at the end of their current billing cycle.
Don't miss the next one
Keep posted to see the next post about the technical implementation of subscription payments on Android.