Subscriptions

RSS for tag

Give users access to content, services, or premium features in your app on an ongoing basis with subscriptions, a type of in-app purchase.

Posts under Subscriptions tag

200 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Store Kit 2 not availiable in Sandbox environment
I have implemented Store Kit for my Swift UI App. I defined all products in app store connect (auto-renewables & non-renewables). I tested everything in Xcode and it seems to run fine. However i want to test it in Sandbox to be able to check the server side dependencies. After creating Sandbox users and logging in to those accounts on my physical device, i am still only able to do payments in Xcode ("[Environment: Xcode]"). I added the In-App Purchase Capability to my project in the Signing & Capability Targets and made sure the app runs in debug mode. So according to the docs (https://developer.apple.com/documentation/storekit/in-app_purchase/testing_in-app_purchases_with_sandbox) everything seems to be set-up.
1
0
469
Jan ’24
Any Apple Pay Device Token issued after Feb 2024 will no longer work for Standing Instruction
In this link https://support.cybersource.com/knowledgebase/knowledgearticle/?code=KA-04318 it says that recurring payments will stop working in Feb 2024 if you are using device generated tokens, so we need to migrate to Apple merchant tokents which are supossed to be better. Visa is making enhancements to network tokens to ensure their continued compatibility with follow-on transactions. Due to these changes, there is impact to a few use cases for Apple Pay recurring transactions. Beginning February 2024, the current device generated Apple Pay network tokens will no longer be applicable for Standing Instruction transactions. Standing Instruction use cases constitute recurring, installments, or unscheduled credential on file token usages. Fortunately, Apple has exposed a new recurring token type that is to be leveraged for any standing instruction transactions. This token type increases the longevity of Apple Pay tokens and are ideally suited for Standing Instruction merchant initiated transactions. I've been trying to find more information about this, but this link seems to be the only source for this topic, which confuses me because due to the proximity of the date, t here should be quite a few people concerned about it. I have react native app that uses the react-native-iap library, I was looking at the code and I we don't seem to be using a device generated token. But given the importance of payments, I want to be 100% sure this doesn't affect us. Is anyone really impacted by this, is the information even real? In which cases this requires changes? Thank you.
1
1
514
Jan ’24
App Store Server Notifications for FAMILY_SHARED ownership (and offer codes)
Hi, I have some questions about App Store Server Notifications that I can't seem to figure out. Specifically, those related to Family Shared purchases, that contain the 'FAMILY_SHARED' inAppOwnershipType. I'll focus on 'OFFER_REDEEMED' notifications, but I have the same questions for regular subscription purchases (with no offers involved): When a user redeems an offer code for a given subscription, do we receive a notifications for each of the family members? In that case, should we receive one with ownership 'PURCHASED', and the rest with the 'FAMILY_SHARED', or could we just receive notifications for 'FAMILY_SHARED' if that's the one who redeemed it? Assuming the redeemed offer was a free trial, whenever that user disables auto renewal, should we again receive one notification for each family member? We are certainly receiving disabled_renewal notifications with ownership type 'FAMILY_SHARED'. Is there any way of linking a given 'FAMILY_SHARED' ownership event/notification to the original or parent 'PURCHASED' notification/purchase? They usually come later in time, with no specific order. If we were to track the proceeds or active subscriptions, should we just ignore any notification with ownership 'FAMILY_SHARED', and focus on 'PURCHASED' ones ? In other words, is it safe to assume that we would always receive a notification of ownership 'PURCHASED', even if the one redeeming the offer code is a family member? (not sure if that is a possible scenario). Thank you.
1
0
545
Jan ’24
How to fetch historical introductory offers from App Store Connect API
Hello! I am wondering what the best way is to fetch previous introductory offers from the App Store Connect API. I have tried hitting this endpoint: https://developer.apple.com/documentation/appstoreconnectapi/list_all_introductory_offers_for_a_subscription which seemed to only return the current, active introductory offer. I am looking to gather all introductory offers for my subscription products, including the following attributes: Start date End date Customer price Territory Currency Introductory offer mode Number of periods Thank you.
0
0
308
Jan ’24
Non-StoreKit Free Trial Guidelines
I've seen several posts (mostly from 3+ years ago) asking about implementing a "home-rolled" free trial for subscriptions in iOS. I'm still a bit confused though as there doesn't seem to be a definitive answer. I'm wanting to try to increase registration -> free trial conversion by offering users a time-based free trial from my backend rather than going through StoreKit. It will be clear up front that it's a subscription service and has a cost, but they won't need to agree to the auto payment after X days. Is anyone currently doing this without getting rejected or is this still considered a no-no by Apple?
3
0
330
Jan ’24
Subscriptions - In app purchase
I'm having trouble with "Subscriptions" on the Apple Store. Users can purchase multiple courses. Multiple courses can have the same price and use the same "Subscriptions". Suppose I have user A, course C1 costs 200 USD (PRODUCT_ID: 200_USD), course C2 costs 200 USD (PRODUCT_ID: 200_USD). When creating a registration, the json response from apple is all in the in_app section, has the same id_product_id, it is not possible to distinguish which element belongs to course C1, which element belongs to course C2. How do I know which renewal item belongs to course C1 or C2? "in_app": [ { "quantity": "1", "product_id": "200_1jp", "transaction_id": "2000000497632148", "original_transaction_id": "2000000497632148", "purchase_date": "2024-01-11 05:06:49 Etc/GMT", "purchase_date_ms": "1704949609000", "purchase_date_pst": "2024-01-10 21:06:49 America/Los_Angeles", "original_purchase_date": "2024-01-11 05:06:57 Etc/GMT", "original_purchase_date_ms": "1704949617000", "original_purchase_date_pst": "2024-01-10 21:06:57 America/Los_Angeles", "expires_date": "2024-01-11 05:21:49 Etc/GMT", "expires_date_ms": "1704950509000", "expires_date_pst": "2024-01-10 21:21:49 America/Los_Angeles", "web_order_line_item_id": "2000000047929472", "is_trial_period": "false", "is_in_intro_offer_period": "false", "in_app_ownership_type": "PURCHASED" }, { "quantity": "1", "product_id": "200_1jp", "transaction_id": "2000000497640048", "original_transaction_id": "2000000497632148", "purchase_date": "2024-01-11 05:22:32 Etc/GMT", "purchase_date_ms": "1704950552000", "purchase_date_pst": "2024-01-10 21:22:32 America/Los_Angeles", "original_purchase_date": "2024-01-11 05:06:57 Etc/GMT", "original_purchase_date_ms": "1704949617000", "original_purchase_date_pst": "2024-01-10 21:06:57 America/Los_Angeles", "expires_date": "2024-01-11 05:37:32 Etc/GMT", "expires_date_ms": "1704951452000", "expires_date_pst": "2024-01-10 21:37:32 America/Los_Angeles", "web_order_line_item_id": "2000000047929473", "is_trial_period": "false", "is_in_intro_offer_period": "false", "in_app_ownership_type": "PURCHASED" },
1
0
295
Jan ’24
Allow other 3rd party apps to provide subscription options to my application - Apple compliance
Hello, I want to provide in- app subscription option for my application services inside other apps. Is this possible? Does Apple in app subscription guidelines allow this? Reading the guidelines this use case is not clear. UseCase: I am embedding the services that my app provides inside other 3rd party apps (embed my application Framework/library within the other application) but want to provide in-app subscription option to use services provided by my library. Users can purchase this service by subscribing to monthly subscription option using Apple in-app subscription. Because there are multiple other 3rd party applications that will include my library and since these 3rd party applications in some cases are not from the same developer account I do not want to use individual in-app subscription for each application. Instead, I am looking for a way to create in-app subscription from my main application and provide the same purchase option within all other 3rd party apps that embed my application library. Can this be done? Does Apple in-app subscription allow this use case?
0
0
517
Jan ’24
Beta testers have to keep subscribing to recurring subscriptions
I have an app that I distribute to beta testers via TestFlight. The app has auto-renewable subscriptions. In the sandbox environment the subscriptions expire at an accelerated rate; every hour. They renew up to 12 times. This means that my testers have to re-subscribe every 12 hours. Is there a way to make the sandbox operate at realtime for certain users?
0
0
522
Jan ’24
Offer Code Redemption Report (App Store Connect API)
I'm using the App Store Connect API to fetch sales and trends reports. Fetching the "SUBSCRIPTION" report works well and it does include recent offer code redemptions. The dashboard in App Store Connect also confirms that there was a recent offer code redemption. However, when requesting the Offer Code Redemption Report ("SUBSCRIPTION_OFFER_CODE_REDEMPTION") through the App Store Connenct API using the request shown below I always get a "404 Not Found" error with the message "There were no sales for the date specified." (see below) even though the other sources confirm there were sales for the date specified. So, for some reason the Offer Code Redemption Report API does not seem to work. Did anybody make this work? Any idea to fetch the offer code redemption report through the API? API REQUEST: https://api.appstoreconnect.apple.com/v1/salesReports?filter[frequency]=DAILY&filter[reportDate]={DATE}&filter[reportSubType]=SUMMARY&filter[reportType]=SUBSCRIPTION_OFFER_CODE_REDEMPTION&filter[vendorNumber]={VENDOR_NUMBER}&filter[version]=1_0 API RESPONSE: { "errors" : [ { "id" : "586b3f95-3eb8-4249-8df6-06bd8dea001a", "status" : "404", "code" : "NOT_FOUND", "title" : "The request expected results but none were found", "detail" : "There were no sales for the date specified." } ] }
0
0
336
Jan ’24
Updated Subscription pricing is not being charged by the App Store
Hello, We recently updated (increased) the pricing for annual subscription of our app on the app store. We changed the starting price. On the front end of the app, this is updated as well. On a user's phone, the annual subscription shows with the updated pricing. Unfortunately, when users are actually subscribing, the dollar value is not showing the updated pricing. We have verified that the actual price charged is the old pricing. What can be the possible issues with my pricing update? Steps we have taken for updating price is the following: Selected App Selected Features -> subscriptions Selected the specific Annual subscription plan In the Subscription Prices section -> Click on "View all Subscription Pricing" Updated Starting Plans as well as Starting Date. Please help. Thanks
1
0
252
Jan ’24
Receiving the same original transactional ID for two different subscriptions has occurred.
User purchased the initial subscription and transmitted the relevant data to our server, where the receipt is stored for subscription validation. As per the documentation, the "Original Transaction Identifier" is expected to be unique across all receipts in a chain of renewals for an auto-renewable subscription. Specifically, for subscription "S1," all auto-renewed receipts consistently share the same original transaction ID. However, following several auto-renewals of the first subscription (User 1), information from Apple's response revealed details about a second subscription (S2), and remarkably, the second subscription (User 2) has the same original transaction ID as the first one. Is there a potential connection with Apple's test environment? We currently lack any information or clues regarding the differentiation of accounts. Webhook Request from App Store (iOS Payment Notification) For Subscription (S1) - For User 1 { "id": "***", "auto_renew_adam_id": "***", "auto_renew_product_id": "com.globalmed.loveeveryday.monthlysub", "auto_renew_status": "true", "unified_receipt": { "id": "", "environment": "", "latest_receipt": "", "latest_receipt_info": [ { "id": "***", "expires_date": "2024-01-19 05:47:24Etc\/GMT", "expires_date_ms": "1705686444000", "expires_date_pst": "***", "in_app_ownership_type": "***", "is_in_intro_offer_period": "***", "is_trial_period": "true", "is_upgraded": "false", "offer_code_ref_name": "", "original_purchase_date": "2023-05-19 03:54:26Etc\/GMT", "original_purchase_date_ms": "", "original_purchase_date_pst": "", "original_transaction_id": "580000785864406", "promotional_offer_id": "", "product_id": "com.globalmed.loveeveryday.monthlysub", "purchase_date": "2023-11-19 04:54:20Etc\/GMT", "purchase_date_ms": "1700412860000", "purchase_date_pst": "", "quantity": "", "subscription_group_identifier": "", "transaction_id": "580001118634891", "web_order_line_item_id": "" }], } } For Subscription (S2) for For User 2 { "id": "***", "auto_renew_adam_id": "***", "auto_renew_product_id": "com.globalmed.loveeveryday.monthlysub", "auto_renew_status": "true", "unified_receipt": { "id": "", "environment": "", "latest_receipt": "", "latest_receipt_info": [ { "id": "***", "expires_date": "2024-02-19 05:47:24Etc\/GMT", "expires_date_ms": "1708364844000", "expires_date_pst": "***", "in_app_ownership_type": "***", "is_in_intro_offer_period": "***", "is_trial_period": "true", "is_upgraded": "false", "offer_code_ref_name": "", "original_purchase_date": "2024-01-08 04:37:02Etc\/GMT", "original_purchase_date_ms": "1704731822996", "original_purchase_date_pst": "", "original_transaction_id": "580000785864406", "promotional_offer_id": "", "product_id": "com.globalmed.loveeveryday.monthlysub", "purchase_date": "2024-01-19 05:47:24Etc\/GMT", "purchase_date_ms": "1705686444000" , "purchase_date_pst": "", "quantity": "", "subscription_group_identifier": "", "transaction_id": "580001139103833", "web_order_line_item_id": "" }], } }
1
0
534
Jan ’24
How to offer membership to a gym or club from the app
We have a cycling studio/ bike gym. We offer classes and you need a membership to reserve a class. This is very similar to a gym membership. I just need to make sure how the payments will work. According to the guideline 3.1.3(e) Goods and Services Outside of the App I think we can offer payments with a traditional credit card entry. Is this so? Because in the forum I found answers stating you need to use in-app-purchase. I really need to make sure before beginning the app development. Thank you.
0
0
250
Jan ’24
Subscription status mismatch
Hi, some day ago I got these webhook events for a subscription: 2024-01-06 10:40:47 SUBSCRIBED subtype INITIAL_BUY 2024-01-20 03:02:29 DID_RENEW subtype BILLING_RECOVERY 2024-01-20 03:52:08 DID_CHANGE_RENEWAL_STATUS subtype AUTO_RENEW_DISABLED 2024-01-20 10:41:03 DID_FAIL_TO_RENEW (no subtype was received) When I get the subscription status form appstore server API, status is 1 (active). We don't have grace period enabled in our app. I'm not sure how to interpret this result; from our perspective we should remove access to the user.
3
0
600
Jan ’24