2013-02-20 43 views
9

मैं ऐप खरीदारी की स्वत: अक्षय सदस्यता लेकिन सेब के सैंडबॉक्स सर्वर में परीक्षण कर रहा हूँ हमेशा रिटर्न स्थिति = 21004मुझे आईओएस में सेब के सैंडबॉक्स सर्वर परीक्षण ऑटो-नवीकरणीय सदस्यता से जवाब में 21004 स्थिति मूल्य के रूप में मिल रहा है?

#define SHARED_SECRET @"INSERT HERE YOUR ITUNESCONNECT SHARED SECRECT KEY FOR AUTORENEWABLE SUBCRIPTIONS RECEIPT VALIDATION" 

-(void)checkReceipt { 
// verifies receipt with Apple 
NSError *jsonError = nil; 
NSString *receiptBase64 = [NSString base64StringFromData:receiptData length:[receiptData length]]; 
NSLog(@"Receipt Base64: %@",receiptBase64); 

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:[NSDictionary dictionaryWithObjectsAndKeys: 
                  receiptBase64,@"receipt-data", 
                  SHARED_SECRET,@"password", 
                  nil] 
                options:NSJSONWritingPrettyPrinted 
                error:&jsonError 
        ]; 
NSLog(@"%@",jsonData); 
NSError * error=nil; 
NSDictionary * parsedData = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:&error]; 
NSLog(@"%@",parsedData); 
NSLog(@"JSON: %@",[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]); 
// URL for sandbox receipt validation; replace "sandbox" with "buy" in production or you will receive 
// error codes 21006 or 21007 
NSURL *requestURL = [NSURL URLWithString:@"https://sandbox.itunes.apple.com/verifyReceipt"]; 

NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:requestURL]; 
[req setHTTPMethod:@"POST"]; 
[req setHTTPBody:jsonData]; 
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:req delegate:self]; 
if(conn) { 
    receivedData = [[NSMutableData alloc] init]; 
} else { 
    completionBlock(NO,@"Cannot create connection"); 
} 
} 

किसी ने मुझे उचित रसीद सत्यापन प्राप्त करने में मदद कर सकते हैं?

उत्तर

16

आपको इस पाठ को शीर्ष INSERT HERE YOUR ITUNESCONNECT SHARED SECRECT KEY FOR AUTORENEWABLE SUBCRIPTIONS RECEIPT VALIDATION पर बदलना होगा जो आपको आईट्यून्स कनेक्ट से प्राप्त गुप्त कुंजी के साथ बदलना होगा। (जाहिर है, स्टैक ओवरफ्लो पर पूरा रहस्य पोस्ट न करें, हालांकि)।

रहस्य आमतौर पर 32 अंक, अल्फा-न्यूमेरिक स्ट्रिंग है जो इस 39fkjc38jd02mg72k9cn29dfkm39fk00 (यह एक नकली है) जैसा दिखता है।

में (नया) iTunes कनेक्ट मेरे ऐप्स पर जाएं> (फिर अपने एप्लिकेशन पर क्लिक करें)>इन-ऐप खरीदारियां>देखें या उत्पन्न एक साझा रहस्य

+0

आईट्यून से गुप्त कुंजी कैसे प्राप्त कर सकते हैं जुडिये? – Ravindhiran

+0

मैंने अपना जवाब संपादित करने के माध्यम से आपको यह जानने के लिए संपादित किया है। – Andrew

+0

आईट्यून कनेक्ट से प्रोग्रामिक रूप से गुप्त कुंजी कैसे प्राप्त करें? – Ravindhiran

1

ituenes connet और करने के लिए जाना फिर अपना ऐप और फिर ManageInApp खरीदारियों पर जाएं और फिर बाएं नीचे देखें एक विकल्प दृश्य है या यहां एक साझासेक्रेट उत्पन्न करता है, आप एक साझा रहस्य उत्पन्न कर सकते हैं या आप पिछले साझा रहस्य