You said you got your item approved. What is the current publication state, on Nokia Publish web site for your Product ID? Can it be that for some reason your content has been rejected? In order to check the publication state you need to login to the publisher's web page and select:
Content > Select the Content Item > Select the In-App Purchases Tab > QA Status > "Publication state" should be set to "Published".
Keep in mind that your Product ID is the six digit number that appears under the In-App Purchase Tab that says:
In-app ID
This might be a code related issue. Can you please compile the following code with SDK 1.1 (replace XXXXXX with your Product ID)?
Code:
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import com.nokia.mid.payment.IAPClientPaymentException;
import com.nokia.mid.payment.IAPClientPaymentListener;
import com.nokia.mid.payment.IAPClientPaymentManager;
import com.nokia.mid.payment.IAPClientProductData;
import com.nokia.mid.payment.IAPClientUserAndDeviceData;
public class IAPtest
extends MIDlet
implements IAPClientPaymentListener, CommandListener {
Form mainForm;
Display display;
Command retrieveCommand = new Command("Info", Command.OK, 0);
Command exitCommand = new Command("Exit", Command.EXIT, 0);
StringItem info = new StringItem("Product Data", ""); //Displays either Product Data or Error messages
protected void startApp() throws MIDletStateChangeException {
//The main Screen's components
display = Display.getDisplay(this);
mainForm = new Form("In App Purchase");
mainForm.addCommand(exitCommand);
mainForm.addCommand(retrieveCommand);
mainForm.setCommandListener(this);
mainForm.append(info);
display.setCurrent(mainForm);
}
//Call back method that is asynchronously called after invoking the getProductData method
public void productDataReceived(int status, IAPClientProductData pd) {
if (status == IAPClientPaymentListener.OK) {
String title = pd.getTitle();
String price = pd.getPrice();
String sdesc = pd.getShortDescription();
String output = "";
output = "Title:"+title+"\n";
output = output + "Price:"+price+"\n";
output = output + "Short Description:" + sdesc + "\n";
info.setText(output);
}
else {
mainForm.append("Product data retrieval failed with code:" + status);
}
}
public void commandAction(Command c, Displayable d) {
if(c == retrieveCommand) {
try {
IAPClientPaymentManager manager = IAPClientPaymentManager.getIAPClientPaymentManager();
IAPClientPaymentManager.setIAPClientPaymentListener(this);
int status = manager.getProductData("XXXXXX"); //replace this with your Product ID
if (status != IAPClientPaymentManager.SUCCESS) {
info.setText("Do not expect a callback \n");
}
}
catch (IAPClientPaymentException e) {
info.setText("IAPClientPaymentException:" + e.getMessage() + "\n");
}
catch(Exception e) {
info.setText("Exception:" + e.getMessage() + "\n");
}
}
if(c == exitCommand) {
notifyDestroyed();
}
}
public void purchaseCompleted(int arg0, String arg1) {
//To do
}
public void userAndDeviceDataReceived(int arg0,IAPClientUserAndDeviceData arg1) {
//To do
}
public void productDataListReceived(int arg0, IAPClientProductData[] arg1) {
//To do
}
public void restorableProductsReceived(int arg0, IAPClientProductData[] arg1) {
//To do
}
public void restorationCompleted(int arg0, String arg1) {
//To do
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
//To do
}
protected void pauseApp() {
//To do
}
}
Also ensure that you can access the web from the emulator (visit a random page). If your publication state is set to Published, you can access the internet from the Emulator of the SDK 1.1 and the above code still gives you the code error -16, please PM me and provide your Product ID from Private Messages on this page > Send new message
Don't forget to test on Nokia's server by selecting on Emulator: Tools > In App Purchase Simulation > Application Details > Test with Nokia Publish Server