Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to interpret server response for in-App purchase verifying receipt request?
    text
    copied!<p>I am using in App purchases in my application. I am sending a request to the server for verifying the transaction receipt for the purchased product using the following method:</p> <pre><code>-(void)sendingRequestForReceipt: (SKPaymentTransaction *)transaction{ networkQueue = [ASINetworkQueue queue]; [networkQueue retain]; NSString *serverUrl = @"https://sandbox.itunes.apple.com/"; NSString *receiptStr= [Base64Encoding base64EncodingForData:(transaction.transactionReceipt) WithLineLength:0]; NSString *str = [NSString stringWithFormat:@"%@verifyReceipt", serverUrl]; NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; ASIHTTPRequest *request = [[[ASIHTTPRequest alloc] initWithURL:url] autorelease]; NSDictionary* data = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt-data", nil]; [request appendPostData: [[data JSONRepresentation] dataUsingEncoding:NSUTF8StringEncoding]]; [request setRequestMethod:@"POST"]; [request setDelegate:self]; [request setDidFinishSelector: @selector(gotReceiptResponse:)]; [networkQueue addOperation: request]; [networkQueue go]; } </code></pre> <p>After this the following gotReceiptResponse method is called:</p> <pre><code>- (void)gotReceiptResponse:(ASIHTTPRequest *)req{ NSString *response=[req responseString]; NSDictionary *jsonResp = [response JSONValue]; NSString *receiptValue = [jsonResp valueForKey:@"status"]; int receiptCheck=[receiptValue intValue]; if( receiptCheck ==0){ //mark item as purchased //show alert that item was purchased and will be downloaded UIAlertView *alert = [[UIAlertView alloc] initWithTitle :@"In-App-Purchase:" message:@"The instrumental was purchased successfully and will now be downloaded. " "Please do not close the app till download is complete" delegate :self cancelButtonTitle:@"OK"otherButtonTitles:nil]; [alert show]; [alert release]; } } </code></pre> <p>The value I get in response is for example : \u008bb\u0095\u008f\u00b1\u008e\u00c20D{\u00be"rM\u0082bc\u00d2\u009f\u00a8\u00e8\u00e8\u00a3=\u00c7\u00ca\u00adD\u00ec\u009c\u00bdFB(\u00ffN\u00ae\u00a1B\u00b7\u00dd\u00ce>\u00cd\u00ec&lt;6,Xcq"\u00d6>\u0092;\u00ecY\u00cb\u009aF)\u00a5\u00eb\u00c3\u0091m\u00e6\u00e8\u00e0\u00daQ\u00c1z\u00f7\u00c2\u00ff\u009bFH-\u00a4\u00cc\u00f4\u00f7-\u00c4|\u00aax\u00de\u00a6\u00e0\u00fbd\u00e8\u0085\u00ef\u008fJ\u00adb</p> <p>\u00e6a\u00a2\u00edz \u00bb\u00e85\u00a2\u00e4\u0087\u00b2\u0096\u00d7\u00ad\u00d0\u00ad\u00d4\u00c5\u0099\u00dd\u00e9|\u00c9\u00f8oGH\u00f7\u00ec\u00ba&amp;\u00acf\u00c6\u008f\u00d5\u00ef\u00b0\u00fd\u0090\u00ae\u0091R\u008f\u00fe\u00ed\u00e3 &amp;}.8/T$\u00a0\u00b4t\u00e4\u00f3M\u00f9`?</p> <p>and in jsonResp the value is null. So just wanted to know how can I encode this unicode string. So that I can understand what is the response I am getting and also the reason for null value in jsonResp.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload