-->

App and InApp Purchase second rejection

2019-03-26 16:45发布

问题:

App History: I'm trying to send the update of an app that is already in store. This version is the first with In App Purchase code implemented. I have tested app and inapp,all works in sandbox environment. Naturraly i can't test the official environment until the inapp is approved, but i'm sure that the php script i use verify recipit works because i'm still using it with other apps already in store.

First Submit: i have send to review the inapp and the app at the same time,it seems all ok but my app was rejected due the impossibility to purchase the inapp. At the same time my inapp was rejected, and in itunes i have found this:

In the detail of the inapp:

Clicking in the Language Detail:

At this point i have searched trought my itunes app settings and i found a setting that regards the language, in "App Information" section the default language is setted to a different language of the inapp. I have changed this setting and now app and inapp have all the same language. I have deleted inapp and i have create another with the same name,identifier ecc. The inapp status is changed to waiting to review, then i have resubmit the same bundle for the app.

Second Submit: My app and my in app was rejected again. The error,the cause of rejection is the same and i have the same behavior in inapp section. The message in resolution center is this:


"2.2

We found that your app exhibited one or more bugs, when reviewed on iPhone 5 running iOS 6.0.1, on both Wi-Fi and cellular networks, which is not in compliance with the App Store Review Guidelines.

Specifically, we noticed that an error message is displayed when attempting to purchase the In App AddOn.

Please see the attached screenshot for more information."


I think this message is mileading, the error message displayed by my app is an alert that i fire when i receive a SKPaymentTransactionStateFailed or when i can't verify a recipit. All this functions works correctly in sandbox.

What's wrong with my inapp?? Anyone have expirienced something similar?

回答1:

This is the bit that caught my attention:

i can't verify a recipit. All this functions works correctly in sandbox

Is it possible that you forgot to change the URL that you are using to verify receipts from the sandbox URL to the live URL?



回答2:

I recently had this problem with an app submitted to Apple. There is a fallback system that needs to be in place for server side in app purchase validation. It is documented in Apple, but VERY well hidden in tech note : http://developer.apple.com/library/ios/#technotes/tn2259/_index.html

Here is the way to do it :

"Always verify your receipt first with the production URL; proceed to verify with the sandbox URL if you receive a 21007 status code. Following this approach ensures that you do not have to switch between URLs while your application is being tested or reviewed in the sandbox or is live in the App Store."