zoukankan      html  css  js  c++  java
  • AppStore IAP 客户端校验代码

    -(BOOL)putStringToItunes:(SKPaymentTransaction*)transaction

    {

        NSData * iapData = transaction.transactionReceipt;

        NSString*encodingStr = [iapData base64EncodedString];

        

        //    NSString *URL=@"https://sandbox.itunes.apple.com/verifyReceipt";

        NSString *URL=@"https://buy.itunes.apple.com/verifyReceipt";

        

        //https://buy.itunes.apple.com/verifyReceipt

        NSMutableURLRequest *request = [[NSMutableURLRequestalloc] init];// autorelease];

        [request setURL:[NSURL URLWithString:URL]];

        [request setHTTPMethod:@"POST"];

        //设置contentType

        [request addValue:@"application/json"forHTTPHeaderField:@"Content-Type"];

        //设置Content-Length

        [request setValue:[NSStringstringWithFormat:@"%d", [encodingStr length]] forHTTPHeaderField:@"Content-Length"];

        

        NSDictionary* body = [NSDictionary dictionaryWithObjectsAndKeys:encodingStr, @"receipt-data", nil];

        SBJsonWriter *writer = [SBJsonWriternew];

        [request setHTTPBody:[[writer stringWithObject:body] dataUsingEncoding:NSASCIIStringEncodingallowLossyConversion:YES]];

        NSHTTPURLResponse *urlResponse=nil;

        NSError *errorr=nil;

        NSData *receivedData = [NSURLConnection sendSynchronousRequest:request

                                                     returningResponse:&urlResponse

                                                                 error:&errorr];

        

        //解析

        NSString *results=[[NSString alloc]initWithBytes:[receivedData bytes] length:[receivedData length] encoding:NSUTF8StringEncoding];

        NSLog(@"-验证结果-  %@",results);

        NSDictionary*dic = [results JSONValue];

        if([[dic objectForKey:@"status"] intValue]==0)

        {

            //注意,status=@"0" 是验证收据成功

            return true;

        }

        returnfalse;

    }

  • 相关阅读:
    LIBTIFF 配置 (vs2010 + win8 + 32位 )
    minGW、cygwin、gnuwin32 介绍
    LabVIEW发布功能总结
    LabVIEW新手5大错误
    专业功放测试:主要性能指标&信噪比测量
    常用低压电器的主要种类和用途
    LabVIEW是一种通用的编程语言吗?
    LabVIEW TCP/IP 断开重连问题
    LabVIEW 的bool(布尔)按键机械属性
    LabVIEW 远程控制VI
  • 原文地址:https://www.cnblogs.com/howeho/p/3360553.html
Copyright © 2011-2022 走看看