In-app auto-renewing subscription refunds

We have an app which has been in the iTunes App Store for a few years and uses auto-renewing subscriptions to allow access to content. Users have taken out monthly, quarterly and annual subscriptions using the app.


The business is now shutting down and the service will cease, so we need to refund customers (ideally pro-rata) who have a current subscription for the portion of time they will not be able to use.


We were hoping Apple would handle this for us (as per other App Store refunds), however customers are reporting that refunds are being refused and that they should contact us about a refund. The problem is, we have no customer information, payment details or any way to prove whether they are a customer or not.


Does anyone know what the correct process and resolution for this would be?


I've tried calling Developer Relations, but no luck so far.


Many thanks,


Andrew

Replies

Staying on the technical aspect of this question, one can reformulate it " how to check if a customer claiming to have a subscription really does ?"

So;

  1. IF you have some way for you customer to display the unique IdentifierForVendor of you app (If you don't, you may release a simple update for this to allow your customers to see it)
  2. AND IF you have some kind of purchase logs (server side IAP validation)
  3. Then you may ask your customers to email you their IFV and cross check it to you IAP logs.

If you have no logs or logs do not include IFV, you may release an update able to send back to you the actual Application Receipt along with the customer email. This should be an interactive process through Mail.app since it requires the agreement from the customer. For sure such a simple method is open to cheating so you'll have to cross check for duplicate AppReceipt.


I don't think one can setup an automatic process of refund since we do not have any information on customers unless they get in touch on their behalf.

Max_B is thinking along the right line. What kind of app update can you launch that will identify customers eligible for a rebate from you? That's easy - make a new version of the app that determines when the subscription expires (or expired) - determine the appropriate refund based on that calculation and launch an email to yourself that says "Sorry for ending this subscription service. You are entitled to a refund of $3.23. Please fill in your mailing address here ____ for a refund. Be sure to include these two code number in this email 172648398 and 24361838."


The first code number is a random number "salt" that will be, you can assume, unique and identify anyone trying to resubmit for a second refund. The second code number is a random hash of the amount of refund, in this case 323, and the salt. You can add the two together, seed srandom with the sum, and use the the random number that comes from random(). The app picks the first random number and generates the second randiom number. Your website gets the emails, you check the first random number to be sure it is unique and you check the second random number to be sure it is correct. You send the check.


The app could have a "Refund" button that composes and launches the email after the user adds their address.