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

Not receiving DID_RENEW/EXPIRED webhooks on sandbox
I'm trying to implement an IAP subscripton and I am not receiving DID_RENEW/EXPIRED webhook calls. Looking through previous forum posts this may just be breaking randomly, is there something currently broken or is there likely some setup I'm missing? Note: I'm using ngrok to test this locally, and I successfully get the initial subscription and DID_CHANGE_RENEWAL_STATUS events.
3
1
630
Aug ’23
US Tax Forms Question for South African company
Hi All, I have a Pty Ltd company based in South Africa with a singular owner and I'm trying to complete the US Tax Forms but I'm stuck on two of the questions. First, the dropdown below. I've removed the options I don't think apply but I don't know which of the other options apply to my company. Second, the line that says " The beneficial owner is claiming the provisions of Article and paragraph [A] of the treaty identified on line 14a above to claim a [B] % rate of withholding on (specify type of income): " I'm not sure what values A and B would be here. If anyone could guide me on this I would really appreciate it. Thanks, J
0
0
231
Aug ’23
StoreKit2 - purchase() dialog only appears after minutes of waiting
I have 2 apps that use StoreKit2 to handle purchases auto renewing subscriptions. It is implemented according to Apple's example on this page. On Sandbox, it works correctly. In production, it works correctly for most users (I can see by the sales numbers) but a small percentage of users report that the system purchase dialog is not appearing at all. Upon further investigation it turns out that the dialog sometimes only appears after minutes of waiting, sometimes up to 5 minutes. When it finally appears, it works correctly. On my own devices with production versions (downloaded from the App Store) I also get the delay. Other apps (by other developers) show the dialog immediately. Therefore I am guessing there may be something wrong with my code. What may cause the purchase() dialog to appear after such a long waiting time?
1
2
516
Aug ’23
App Store Server Notifications on TestFlight
We are implementing IAP in our React-Native app, currently only on IOS, specifically subscriptions. We have configured the Sandbox Server URL to an endpoint on our Dev server, and the Production Server URL to an endpoint on our Production server. In addition, we are using the Apple App Store Server Node.js Library on our Backend to verify receipts, getting transactions history, etc. We are using the Sandbox environment on our Dev backend, and the Production environment on our Production backend. We are not sure if that is the correct setup, although that is what we understood from multiple sources. While testing with TestFlight, with production apple accounts, we were expecting to receive the server notifications on our Production server, but they were all were received on our Development server (Sandbox endpoint). Is that the correct behavior or are we missing something? We figured the Sandbox endpoint was for testing purposes and because of that should be on our Development backend while we develop.
1
0
692
Aug ’23
Discontinue Auto-Renewable Subscriptions and migrate users to an already existing Full Subscription
Currently, we have multiple subscriptions in our application, each unlocks a specific part of the app and also a Full Subscription which consists of all the features. We are trying to migrate into a single subscription app in the future, that is just a Full Subscription. It's a little unclear how the process of the migration should be. Currently, our plan is as follows. Remove the options inside the application where the user can purchase the subscriptions and show only the Full Subscription option. Release the app so future users can only subscribe to the Full Subscription. Existing users will still renew their subscriptions and still see the specific part. Promote the Full Subscriptions so the other subscribers will be motivated to purchase the Full Subscription. Remove unwanted subscriptions from sale 3 to 4 months later from AppStoreConnect. I want to know whether this approach is safe with Apple guidelines. If not what should I change in the approach? Thanks
0
0
326
Aug ’23
Apple Enrollment taking one month, my payment is not processed
I've been trying to help a friend buy an apple developer license for over a month. However, in his account, after he made the purchase, days passed and nothing. The first attempt was over a month ago. We received the confirmation email, and in it, apple says it will return in 48 hours, however, nothing !!! We've tried several times, with several cards, and support doesn't help at all. Last time, they said to try through the developer app, however, when trying there, a notification appears that the apple enrollment is only available on the web
0
0
294
Aug ’23
Different payment methods in different countries
If we want to adopt different payment models for each country, do we need to release it as a separate app? Currently, our video streaming app is distributed worldwide with a billing model that starts an in-app subscription automatically after a one-week trial. For example, if we were to introduce an advertising model only in Thailand, allowing viewing without a subscription. I believe it's not possible to set the subscription price to 0 yen for a specific country in App Store Connect. So, would our only option be to set Thailand as the distribution country for a separately created app? Additionally, is it possible to have a pay-per-view system just for specific countries within the same app? In this case, instead of applying a subscription, we envision users making an in-app purchase for each content they want to watch
0
0
244
Aug ’23
Looping "Authentication Required" Prompt During Promo Code Redemption in App Store via Deep Link
In our app, we have implemented a feature where users can be redirected to the App Store to redeem a promo code through a deep link. Once the user enters the promo code and initiates the subscription process, the Apple Subscription dialog is presented. However, upon trying to complete the purchase, an "Authentication Required" dialog appears, prompting the user to complete their bank authentication. After completing the authentication and returning to the App Store, the page seems to load for about 2 seconds, only to once again present the "Authentication Required" dialog. This process loops continuously, preventing our users from successfully redeeming their codes and subscribing. This issue is prevalent among almost all users attempting the promo code redemption process. To better illustrate this problem, I've recorded a video showcasing the issue: https://www.youtube.com/watch?v=vv8KSClqE0A Steps to Reproduce: Initiate Redemption: In the app, tap on the button that redirects users to the App Store via a deep link for promo code redemption. Enter Promo Code: Within the App Store, input the provided promo code. Start Subscription: Initiate the subscription process, which triggers the Apple Subscription dialog. Encounter Authentication Prompt: Observe the "Authentication Required" dialog that emerges when trying to finalize the subscription. Complete Bank Authentication: Follow the instructions to complete the bank authentication process as indicated. Looped Authentication Prompt: After authentication and returning to the App Store, note that after a brief loading period (approximately 2 seconds), the same "Authentication Required" prompt appears again, creating a continuous loop. We kindly request guidance or a solution to rectify this user experience concern, as it is impacting a significant portion of our user base and is clearly demonstrated in the attached video.
1
0
440
Aug ’23
Subscriptions not working in production but works fine in sandbox
I am using the below code for getting expiry date from the receipt validation response and it is failing for some users only (in production) and works fine for others. Can anyone spot what I am doing wrong here? Any comments will be appreciated. func getExpirationDateFromResponse(_ jsonResponse: NSDictionary) -> Bool{ if let receiptInfo: NSArray = jsonResponse["latest_receipt_info"] as? NSArray { var hasActiveSubscription : Bool = false for receipt in receiptInfo { let receipt_ = receipt as! NSDictionary let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd HH:mm:ss VV" if let date = formatter.date(from: receipt_["expires_date"] as! String) { if date > Date() { hasActiveSubscription = true break; } } } return hasActiveSubscription } else { return false } }
0
0
260
Sep ’23
With a Sandbox account restore purchases is not working.
With a Sandbox account restore purchases is not working. It seems the sandbox tries to connect to "mzstorekit-sb.itunes.apple.com" but the server identifies itself with a wrong certificate. Normale purchases are working with the Sandbox-Account, but restore not. It fails with the following message: Restoring of transactions failed: Error Domain=NSURLErrorDomain Code=-1202 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “mzstorekit-sb.itunes.apple.com”, which could put your confidential information at risk." UserInfo={NSLocalizedDescription=The certificate for this server is invalid. You might be connecting to a server that is pretending to be “mzstorekit-sb.itunes.apple.com”, which could put your confidential information at risk., NSUnderlyingError=0x282aeaac0 {Error Domain=kCFErrorDomainCFNetwork Code=-1202 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, kCFStreamPropertySSLPeerTrust_desc=<SecTrustRef: 0xc7488fe60>, _kCFNetworkCFStreamSSLErrorOriginalValue=-9807, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9807, kCFStreamPropertySSLPeerCertificates=( "<cert(0xc7404b200) s: mzstorekit.itunes.apple.com i: Apple Public EV Server RSA CA 2 - G1>", "<cert(0xc7507c600) s: Apple Public EV Server RSA CA 2 - G1 i: DigiCert High Assurance EV Root CA>", "<cert(0xc75055600) s: DigiCert High Assurance EV Root CA i: DigiCert High Assurance EV Root CA>"
10
2
1.7k
Sep ’23
Access to third party payment for in-app purchase
We're going to add subscription module to our app, which is already published and used for free. The problem is: nearly all of our users don't have Visa Cards, Apple cards (or any other ways that Apple require for in app purchase). Our users will use local cards to payments (for subscription as well). Is there any way to have subcription module in app which supports paying with local cards? as far as i know Apple doesn't allow to add 3rd party payments, we're having trouble to find solution. Thank you for your reply!
0
0
496
Sep ’23
Sandbox grace period testing
Hello, Is there currently any way to test grace period handling in sandbox? According to the Apple documentation, this appears to have been enabled in iOS 16: https://developer.apple.com/documentation/storekit/in-app_purchase/testing_in-app_purchases_with_sandbox/testing_failing_subscription_renewals_and_in-app_purchases However, there is a known bug in iOS 16 in which sandbox users are unable to log in, so the flow described there does not seem reachable? In iOS 15, which is the version we're using to manage subscriptions, I see no option to simulate this. Is there a proper way to test grace periods?
0
1
375
Sep ’23
Subscription rejected because they have to test implemention
Subscription rejected: In order to approve your your new in-app purchase business model, we have to verify the purchasability of the items being sold. Please upload a new binary and make sure that your new in-app purchase products are available for purchase at the time of review. I have already uploaded a new binary along with the subscription and the binary was approved, the subscription not. Did they need the binary to be released to test the subscription? That makes obviously no sense because the new release would be available to all and the subscription is not.
2
0
429
Sep ’23
Free Trial it self canceled the auto-renewal
I looked at the list of transactions in RevenueCat: "AppStore environment" there is probably a problem with the following: Free Trial subscription automatically changes to status: (❗️“Disabled the auto-renew status for an active subscription.” webhook type: “CANCELLATION”❗️) Because of this, after the Free Trial period expires, no funds are debited. 😓 Help me to understand. “Also rate the screenshots” I did not find more detailed information about the "Opted out of renewal" status. (Testing use case, Auto renewable, works in the TestFlight environment ✅) Use case: User subscribed to "Free trial - 7 day" Expectation: INITIAL_PURCHASE ➡️ (7 days) ➡️ RENEWAL ➡️ CANCELLATION ➡️ EXPIRATION Reality: INITIAL_PURCHASE ➡️ (⏱ 2-3 days) ➡️ CANCELLATION ➡️ (⏱ 7 days) ➡️ EXPIRATION **I think in some of the screenshots the funds should have been debited. but it didn't happen. ** We believe that we are getting incorrect behavior (FreeTrial cancels itself without user action), (Although it looks like the user canceled the auto-renewal). Why does the subscription change its status to "Opted out of renewal" for no apparent reason.
0
0
412
Sep ’23
In-App Purchases or Third-Party Payments: App Store Compliance Inquiry
Our app's main purpose is to allow users to upgrade their accounts and become analysts. After becoming an analyst, users can create their subscription plans for other users. Another user can then subscribe to their plan, gaining access to all the signals and tips posted by the analyst. This way, analysts can earn money. So, my question is, for upgrading a normal user to an analyst, should I use in-app purchases or a third-party payment gateway? When the analyst creates their plan and users can pay to subscribe to the analyst's plan, should I use in-app purchases or a third-party payment gateway? As I've checked other similar apps for my app scenario, a third-party payment gateway seems suitable because in our case, we are not unlocking any functionality. Users are paying the analyst for their service. Please help me decide what I should do so that Apple approves my app on the first attempt."
0
0
437
Sep ’23
Subscription renewal issue in sandbox in certain cases
Hello, My app uses an auto-renewable subscription with a 1 year introductory offer (https://developer.apple.com/documentation/storekit/in-app_purchase/original_api_for_in-app_purchase/subscriptions_and_offers/implementing_introductory_offers_in_your_app). That means the user pays a discounted price for 1 year upfront and then the subscription automatically renews to the regular monthly subscription. In my tests in sandbox the 1 year intro offer works well (1 year = 1 hour in sandbox). After 1 hour in sandbox it successfully automatically renews to the regular monthly offer (1 months = 5 minutes in sandbox). It also renews successfully every 5 minutes until I cancel it or it has reached the 12 times renewal limit in sandbox. Problem: However, after the 1 year intro offer renews to the monthly subscription a few times I cancel the monthly subscription successfully. But when I now resubscribe to the monthly subscription it does not renew automatically. I only keep the subscription for 5 minutes and then it expires automatically. In the Sandbox Apple ID settings it's also shown as canceled. Is this a known issue in sandbox, or what could be the reason? It only occurs when the introductory offer renewed a few times to the monthly subscription that I cancel and if I then try to resubscribe. In this case the subscription never renews automatically. Thank you so much for your help!
1
0
915
Sep ’23