Subscription Introductory Pricing: Doesn't display intro price in confirmation alert

I'm currently testing introductory pricing for one of our apps. I've configured the introductory price in iTunesConnect, and the introductoryPrice `SKProductDiscount` is present in the `SKProduct` that I receive from my `SKProductsRequest`, so I can show the details of the deal to the user.


When actually purchasing the product (an auto-renewable subscription) in sandbox mode, the price that appears in the confirmation pop-up is the full-price. It doesn't mention anything about the introductory price or period.


1. Is this just a(nother) limitation of the sandbox for testing IAPs, or is there something else that I should do to explicitly put the introductory price through the queue instead of the full price?


2. If there's nothing I need to do to explicitly use the introductory price instead of the full-price. Is there another way that I can choose to only provide the introductory pricing to certain users?

Replies

If the introductory price or period doesn't appear, this is a bug report. However, I'm not sure whether such bug report would get much attention. The issue would be much more important were it to occur in the production environment. Typically, the UI for the introductory pricing is handled by iOS as the iTunes Store knows whether the user state. The price returned by the SKProductsRequest should reflect the pricing to be presented to the user, but if a mistake occurs, it would be a bigger problem if the application presents one price to the user and the iTunes Store charges the user a different price.



As to your second question - it's best to leave it to the iTunes Store to make the decision as to present introductory pricing.



rich kubota - rkubota@apple.com

developer technical support CoreOS/Hardware/MFI

Thanks Rich.


Having not changed anything in the app itself, I've now gone back and re-tested the purchase flow in the Sandbox environment. The correct introductory price and period now appear in the confirmation alert. Perhaps it is a delay in propagating the relevant Introductory Pricing details that creates this problem - that the introductoryPrice property is present in the SKProduct retrieved from the server, but that the confirmation alert does not reflect it?


Anyway, this now means that we can test the flow properly in the sandbox environment.


Regarding the second point, if there's really no way of us choosing who's eligible and who's not, I'm unsure why we have to determine eligibility ourselves as in the section here titled "Determine User Eligibility" and why for ineligible users the introductoryPrice property of the SKProduct is not just nil (or some other "ineligible" flag set). It seems like a sure way to confuse users when our eligibility tests produce different results from Apple's and we either show the intro price details in our UI only for it then not to be honoured by the App Store, or vice versa.

well clearly I had my head in a dark spot when I responded regarding introductory pricing. I apologize for my incorrect comments. Let me look into this and I'll respond later today or tomorrow.


rich kubota - rkubota@apple.com

developer technical support CoreOS/Hardware/MFI

With regard to intro pricing, per the documentation, it's up to the app to determine whether to present the introductory pricing offer to the user. The application validates the appStoreReceipt with the iTunes Store verifyReceipt server. The application reviews the contents of the latest_receipt_info field to find all occurrences of the auto-renewing subscription and makes a decision as to whether to present the introductory pricing item or the regular subscription item to the user. For example, the application has defined a one month basic auto-renewing subscription In-App Purchase - com.company.app.one_month_basic. It also defines a second auto-renewing subscription In-App Purchase item - com.company.app.one_month_intro. On scanning the results of the validated appStoreReceipt, the app sees that the user has never purchased the auto-renewing subscription item. After the app uses the SKProductsRequest to validate the two identifiers, it present the UI for only the introductory item to the user. The UI for the basic subscription is not presented.


For a different long time user of the app, the validated appStoreReceipt shows that the second user has purchased the auto-renewing one month subscription and has had the subscription renewed several times. In this case, the application presents the UI only for the basic one month auto-renewing subscription. The introductory offer is not presented.


The application controls what In-App Purchase items are presented to the user. Note that if the app finds that the auto-renewing subscription is active, it’s best not to present either item for purchase to the user.


rich kubota - rkubota@apple.com

developer technical support CoreOS/Hardware/MFI

Same thing here. Introductory offer was presenting in SKProductsRequest but not in the system popup. It's been added for 3+ days already. Please help.