Skip to main content
Jamf Nation, hosted by Jamf, is the largest Apple IT management community in the world. Dialog with your fellow IT professionals, gain insight about Apple device deployments, share best practices and bounce ideas off each other. Join the conversation.

MDMvpp: iPad Self-Service tells a user his/her code has already been redeemed

We've deployed a few hundred iPads and have only had this happen twice. When this particular user navigates to the Self-Service and tries to download any free app they're fine; however, when they've tried to download our two applications that were prepaid with Volume Purchase Program codes (Pages & Keynote) they're prompted to Install, then input their Apple ID password, and are followed with a notice stating: "The code you entered has already been used."

Has anyone experienced this and how did you fix it? This happened for both the apps this user tried.

Like Comment
SOLVED Posted: 8/15/12 at 8:15 AM by nethers

The Fix:
1. Log into VPP and redownload the xls spreadsheet for pages or keynote

  1. Upload the file again in the VPP section of the APP into JAMF to re-establish correct codes that have been redeemed. This will fix the issue.
Like
SOLVED Posted: 8/23/12 at 10:37 AM by rstegner

In response to "the fix" I have deployed almost 200 to my students and am finding that I have to upload the VPP spreadsheet several times a day!!!!!! Seems like there should be a better fix for this

Like
SOLVED Posted: 8/30/12 at 10:22 AM by AndyBeaver

I am in the same boat, with uploading VPP codes. I have a support case with my account rep and will post what we find out.

Like
SOLVED Posted: 8/31/12 at 3:43 PM by Olson

Yes, we've had reports from a small number of students about this as well with only 1 paid app so far, I believe. If I upload the spreadsheet again, will I still see all my students who have successfully redeemed their code? Would they be cleared? Does reloading the spreadsheet re-verify the redemption code status with Apple?

Like
SOLVED Posted: 9/5/12 at 10:46 AM by Jordan

I've had this happen occasionally as well. I've just been emailing the users the redemption code that has been marked as redeemed and having them manually redeem the code in iTunes. If I re-download the redemption code spreadsheet from the VPP portal and re-upload it to JSS, will I lose the entries of who redeemed which code at what time?

-Thanks

Like
SOLVED Posted: 9/14/12 at 1:30 PM by Montross

We're having an issue with the redeem aspect of the self service center not working at all. You mouse click the redeem text that's to the right of the software and nothing happens. It just directs you to the itunes site and the software still sits uselessly inside the Self Service area. The ones that work begin downloading Keynote or Pages automatically meaning the redemption code is working. It's as if the redeem code isn't going in properly or something to this effect. Any ideas here? Thanks.

Like
SOLVED Posted: 9/19/12 at 1:02 PM by svandyk

I was able to resolve the “code has already been redeemed” message on iOS devices using the following information from technical support. This was done after uploading fresh copies of the VPP spreadsheets had failed. I have it divided in the tasks I use, your process may vary.

Task One: Mobile Device ID
Sign in to your JSS server at http://127.0.0.1:8443
Click Inventory
Click Mobile Devices
Click Search Mobile Devices (If your deployment has associated a name with each iOS device you could search by name as well)
Find the iOS Device in question and click on details
In the address bar you will see an address of “https://127.0.0.1:8443/viewiPhone.html?iphone_id=##” write down the number in place of ##
Repeat for other devices as needed

Task Two: App ID
Sign in to your JSS server at http://127.0.0.1:8443
Click Management Click Mobile Device App Catalog
Click ‘Edit’ next to the App in question
In the address bar you will see an address of “https://127.0.0.1:8443/editMobileDeviceApp.html?id=##” write down the number in place of ##
Repeat for other devices as needed

Task Three: Disassociate Device from App
Start Terminal on the JSS server
Sign in to mysql, I use this command: /usr/local/mysql/bin/mysql -u root -p
Change the database by entering: use jamfsoftware;
For each device enter the following:

update mobile_app_volume_purchase_codes SET mobile_device_id=”-1” WHERE mobile_device_id=”##” AND mobile_device_app_id=”##”;

Replace ##’s with Device ID from Task one, and App ID from task two. Example: update mobile_app_volume_purchase_codes SET mobile_device_id=”-1” WHERE mobile_device_id=”254” AND mobile_device_app_id=”23”;

Like
SOLVED Posted: 12/4/12 at 10:50 AM by jbmiller

svandyk did you do anything special before editing the mysql database? i.e. shutdown casper, backup, or anything else besides the steps you already mentioned.

Like
SOLVED Posted: 3/7/13 at 4:39 PM by Mike_Meyers

I have used the fix listed by svandyk multiple times, but continue to have the issue on the same App. I always go into the /Library/JSS/bin/JSSDatabaseUtil.jar on the JSS and run a backup before running the commands. Just in case!

Like
SOLVED Posted: 8/27/13 at 7:54 AM by seankaiser

Just as a follow-up for this, if you're seeing the same issue with an iBook code, substitute ibooks_volume_purchase_codes for mobile_app_volume_purchase_codes for the table name in svandyk's post above. (Look in Mobile Device eBook Catalog for the book id instead of Mobile Device App Catalog for the app id, as well.)

Like
SOLVED Posted: 2/13/14 at 6:48 PM by jfboulard

It seen the problem reside in the fact that in JSS the code redeem is link to the device and not to the iTunes account it's was redeem to, so if a device change of owner, the JSS think the device still have the same owner, so it send the same code that was redeem for that device.

Probably that the root of the problem is that the JSS can't get the information (from the Apple API) from the device of whom is the email for the iTunes account that redeem the code.

JSS guru, any comment on the subject? What would be the best scenario for changing the owner of a idevice in the JSS perspective?

Like