Aut yenilenebilir aboneliği test ediyorum, ancak apple'nın sandbox sunucusu her zaman status = 21004 döndürüyor, bu da 'Sağladığınız paylaşılan sırrı hesabınızdaki dosyadaki paylaşılan gizli ile uyuşmuyor.'. çoğunlukla bunu yapan bir java sunucusu ile sınamak:Neden Apple'ın sanal alan sunucusundan otomatik yenilenebilir abonelik testlerini yanıtlarken 21004'ü durum değeri olarak alıyorum?
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();
Ben yukarıdaki örneğimizde değişken değerlerle temizlemek için çalıştı, ben düz bir dize olarak kullanmaktan, paylaşılan gizli kodlar vermedi. Bu sorun mu?
Bu cevap, yalnız olmadığımı hissettiriyor :) –