मैं स्वतः नवीकरणीय सदस्यता का परीक्षण कर रहा हूं लेकिन सेब का सैंडबॉक्स सर्वर हमेशा स्थिति = 21004 देता है, जिसका अर्थ है 'आपके द्वारा प्रदान किया गया साझा रहस्य आपके खाते के लिए फ़ाइल पर साझा रहस्य से मेल नहीं खाता है।' मैं एक जावा सर्वर, जो ज्यादातर ऐसा करता है, जिनकी जांच:सेब के सैंडबॉक्स सर्वर परीक्षण ऑटो-नवीकरणीय सदस्यता के जवाब में मुझे 21004 स्टेटस वैल्यू क्यों मिल रहा है?
String receiptData = "theReceiptDataBytesBase64encoded";
String sharedSecret = "theSharedSecretAsPureStringProvidedByItunesconnect";
String jsonData = "{" +
"\"receipt-data\" : \"" + receiptData + "\"," +
"\"passsword\" : \"" + sharedSecret + "\"" +
"}";
URL url = new URL("https://sandbox.itunes.apple.com/verifyReceipt");
HttpURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(jsonData);
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while((line = rd.readLine()) != null)
{
System.out.println(line);
}
wr.close();
rd.close();
मैं ऊपर कोड नमूने में चर मान से स्पष्ट करने की कोशिश की है, मैं साझा रहस्य सांकेतिक शब्दों में बदलना नहीं था, एक सादे स्ट्रिंग के रूप में उपयोग। क्या यह समस्या है?
यह उत्तर मुझे महसूस करता है कि मैं अकेला नहीं हूं :) –