This article has participated in the activity of “New person creation Ceremony”, and started the road of digging gold creation together.

Other articles in the series:

[2] IAPS from Beginner to Master (2) – Bank card and tax information configuration

[3] App Purchase (IAP) from Beginner to Master (3) – Product Recharge Process (non-subscription)

[4] IAPS from Starter to Master (4) – Subscribe, renew, Unsubscribe, restore subscription

[5] IAPS from beginner to master (5) – drop handling, hook prevention and some pitfalls

1. Background Configuration of Apple

1.1. Configure Commodities

IOS apps can only be available on the APP Store. Apple requires apps to use a virtual top-up service (note the “virtual top-up”, similar to taobao’s physical payment does not require in-app purchase but requires other qualifications) and only use Apple’s own payment method (IAP). If you use the commonly used domestic Alipay, wechat pay, Apple dad will reject you in the audit, and reduce the weight of the account. If you try to hide these “third party payments” and apple finds out, apple will even block your developer account. However, Apple shamefully takes a tax of up to 30% on your app’s top-up revenue. But if you want to take advantage of the iOS ecosystem, follow Apple’s instructions and integrate in-app purchases.

To recharge, you first need to configure the corresponding product in the background of Apple AppStore Connect. An item contains the ID, name, price, and description of the item. In addition, the product must be submitted to Apple for approval before it can be used online.

There are four types of in-app purchases:

Consumable: can be purchased multiple times, multiple results add up, and used as “currency” within the App. The typical example is virtual currency, where users buy virtual currency through IAP and then spend it to buy goods.

Non-consumable: One Appleid can be purchased only once and can be used across devices. This is typically an e-book in a book App, or a level in a game.

Automatic renewal subscription: For time-related services, users can enjoy the services within the validity period, and automatically deduct the fees after the expiration. Unsubscription needs to be operated in the appleID management background. A continuous monthly membership is typical. Auto-renewals, which can be added with deals (more on that later), are apple’s favorite product category.

Non-renewed subscriptions: time-dependent services that are not automatically charged. For example, one-month VIP memberships (some do events, automatic VIP memberships, the monthly price is lower than non-renewed VIP memberships).

After creating a new item, the item ID cannot be changed. Within a developer account, a commodity ID can only be used once, and cannot be configured in other apps under the current developer account. If deleted, the commodity ID cannot be added again.

At the same time, after a new item is created, the item type of this item cannot be changed. Therefore, select the product ID and type carefully. (Other configurations can be changed.)

1.1.1. Consumable item goods

After selecting consumable commodity configuration, specific parameters can be configured as shown in the figure below:

Here’s a quick note on “App Store promotion.” This is an in-app purchase promotion method that apple has strongly recommended developers to use since iOS11. That is, you’re going to be displayed on the AppStore. Users can directly click on the product and jump to the installed App for direct payment. For the user, very convenient; For Apple, it promotes consumption;But for developers, it’s a little tricky. We will elaborate on this in a later chapter, but we will not expand on it here.

1.1.2. Non-consumable Item Goods (Understanding)

Non-consumable goods, one AppleID can only be purchased once. Compared with consumable, the configuration mode has the following differences:

(1) Trusteeship. This feature is disabled by default.

The official line: Apple provides users with a familiar and reliable experience and is responsible for distributing and restoring products to users’ devices. When you host content with Apple, Apple stores the content of your App using the same infrastructure that supports other large-scale operations. In addition, Even if your App is not running, Apple will automatically download Apple-hosted content in the background. The official documentation

When I purchase a non-consumable item, when I resume the order, there is a purchase note for that item in the ticket.

We do not know the specific function of this function, because there are few non-consumable goods use scenarios, so we will not study this hosting function for the time being.

1.1.3. Automatically renew subscription items

Automatic renewal of subscriptions is a product category apple highly advocates. Apple talks about this a lot at developer conferences and product launches. Since iOS11 has updated the App Store, the front page of the App Store, there are a lot of recommended apps. The recommended apps are selected by Apple editors from a wide range of apps. Recommended apps can receive free promotion from Apple, which will undoubtedly increase user traffic and bring huge profits to developers in apple’s App Store downloadable ecosystem. And to get this recommendation, the most effective way is to add the “subscription” function under the premise of their own App strength.

Another benefit of subscription is that when a user pays for a subscription for more than a year, Apple will cut the user’s revenue from 30 percent to 15 percent, giving developers 85 percent of the user’s revenue.

Automatic subscription items will be automatically charged 24 hours before each subscription period expires, users have to manually set up the background to cancel the subscription.

Once the subscription item is created, it looks like this:

There are many differences between automatic subscriptions (subscriptions for short) and other types of goods, which are explained in order below:

Subscribe to the group:

After you create the item ID, you will be prompted to create the subscription group: official Documents first

A subscription item must be in a group where users can only subscribe to one item at a time. Subscription levels can be configured for subscriptions, and subscription levels for similar members tend to be the same because they provide the same service. The same level switch takes effect at the end of the current subscription period. For example, a continuous monthly subscription on January 10 will be deducted for a year on February 10 if it switches from a monthly subscription to a yearly subscription on January 15.

So when do subscription levels differ? Different subscription levels are available when the service content is different. For example: gold member, platinum member, diamond member. Subscription switching varies between different levels:

The upgrade. A user purchases a subscription with a higher service level than the current subscription. Their subscription service will be upgraded immediately and they will receive a pro rata refund for the original subscription.

Relegation. The user selects a subscription whose service level is lower than the current subscription. Subscriptions continue unchanged until the next renewal date, and then renew at a lower level and price.

Across the stage. The user switches to a new subscription at the same level. If two subscriptions have the same duration, the new subscription takes effect immediately. If the duration is different, the new subscription will take effect on the next renewal date.

Subscription duration: 1 week/January/February/March/June /1 year

To subscribe to the price and preferential policies, click the + sign to configure separately:

Subscription prices: Unlike consumable goods, subscription prices can be specified for different countries or regions.

Promotional offers: Official documents such as “50% off the first month, free for the first week” activities are configured by configuring promotional offers. Offer can specify the start and end time, offer period (3 days /1 week /2 weeks/January /2 months/March/June /1 year), offer type (pay as you go/pay in advance/free).

Subscription offers: There are two kinds of subscription offers, one is referred to as “promotional offers” and the other is “subscription offers”. Subscription discount is mainly for the old users who have subscribed, in order to retain the old users and to engage in preferential activities for them. For example, old users who renew their subscription one year later will enjoy 20% discount of the membership price.

Grace period for orders: official documentation

With the billing grace period enabled, if your subscription is not automatically renewed due to payment issues, the subscriber will still have access to paid content in your App for a period of time, during which time Apple will continue to attempt to collect fees. If Apple can resume your subscription within the billing grace period for your subscription products, the subscriber’s paid service days will not be accrued and your revenue will not be affected. If the billing grace period is not enabled, the subscriber’s paid service days will be suspended until Apple successfully collects the fee.

App special shared secret key: In order to renew subscription goods and pass bill verification, a shared secret key needs to be generated at the upper right corner of the list of products to be purchased. Used as a parameter when requesting the Apple server to do ticket verification.

Note: If an Apple user has subscribed, the shared secret key is also needed to verify the bill after purchasing other goods (including consumable goods), so that the bill cannot be verified successfully.

1.1.4. Configure non-renewed subscription items

Configuration is the same as consumable goods. There is a small hole here is similar to “one month membership” products with a period of time, should use a non-renewed subscription, rather than using consumable type to buy in-app currency first, then use currency purchase, otherwise the audit may be rejected.

1.2. Configure sandbox accounts

There are no requirements for sandbox accounts except that the mailbox format must be [email protected]. The email doesn’t have to be real, it could be something like [email protected]. But only if the sandbox has not been configured elsewhere. So you can call it whatever you want;

The password must contain at least 8 characters of uppercase and lowercase letters and digits.

Please fill in the secret protection questions freely; Fill in your birthday;

The best choice for the region is China, which is convenient for testing.