[苹果开发,内购问题] 十月二号,我的后台统计某 iap 数量是 20,苹果 ITC 后台 Sales and Trends 给出来的只有 5,少了 15 条,会是神马情况? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
xap
V2EX    iDev

[苹果开发,内购问题] 十月二号,我的后台统计某 iap 数量是 20,苹果 ITC 后台 Sales and Trends 给出来的只有 5,少了 15 条,会是神马情况?

  •  
  •   xap 2014-10-08 20:46:22 +08:00 4647 次点击
    这是一个创建于 4024 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的后台有去苹果验证服务器校验,校验成功后,再写入MySQL的

    有人说是黑卡。。难道黑卡也能通过苹果服务器的校验?



    校验代码如下:
    {code}
    //服务器二次验证代码
    function getReceiptData($receipt, $isSandbox = false)
    {
    if ($isSandbox) {
    $endpoint = 'https://sandbox.itunes.apple.com/verifyReceipt';
    }
    else {
    $endpoint = 'https://buy.itunes.apple.com/verifyReceipt';
    }

    $postData = json_encode(
    array('receipt-data' => $receipt)
    );

    $ch = curl_init($endpoint);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); //这两行一定要加,不加会报SSL 错误
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); //这两行一定要加,不加会报SSL 错误

    $respOnse= curl_exec($ch);
    $errno = curl_errno($ch);
    $errmsg = curl_error($ch);
    curl_close($ch);
    //判断时候出错,抛出异常
    if ($errno != 0) {
    throw new Exception($errmsg, $errno);
    }

    $data = json_decode($response);
    //判断返回的数据是否是对象
    if (!is_object($data)) {
    throw new Exception('Invalid response data');
    }
    //判断购买时候成功
    if (!isset($data->status) || $data->status != 0) {
    throw new Exception('Invalid receipt');
    }

    //返回产品的信息
    return array(
    'quantity' => $data->receipt->quantity,
    'product_id' => $data->receipt->product_id,
    'transaction_id' => $data->receipt->transaction_id,
    'purchase_date' => $data->receipt->purchase_date,
    // 'app_item_id' => $data->receipt->app_item_id,
    'bid' => $data->receipt->bid,
    'bvrs' => $data->receipt->bvrs
    );
    }
    {code}
    6 条回复    2014-10-10 20:15:34 +08:00
    zongwan
        1
    zongwan  
       2014-10-08 20:51:17 +08:00
    可能是淘宝 帮助购买
    然后 电邮 取消订单
    zongwan
        2
    zongwan  
       2014-10-08 20:53:30 +08:00
    一般查下货币种类 就有谱了
    xap
        3
    xap  
    OP
       2014-10-08 20:53:51 +08:00
    @zongwan 有检查 Sales and Trends 里没发现取消的订单
    仅在10-6的日报里发现units有条-1的,是另外一个iap的订单 这应该是取消订单的记录吧?
    xap
        4
    xap  
    OP
       2014-10-10 14:23:14 +08:00
    把 response 记录下来分析

    嘛德发棵!
    有了一个惊人的发现

    {
    "receipt":{"original_purchase_date_pst":"2012-07-12 05:54:35 America/Los_Angeles", "purchase_date_ms":"1342097675882", "original_transaction_id":"170000029449420", "original_purchase_date_ms":"1342097675882", "app_item_id":"450542233", "transaction_id":"170000029449420", "quantity":"1", "bvrs":"1.4", "version_external_identifier":"9051236", "bid":"com.zeptolab.ctrexperiments", "product_id":"com.zeptolab.ctrbonus.superpower1", "purchase_date":"2012-07-12 12:54:35 Etc/GMT", "purchase_date_pst":"2012-07-12 05:54:35 America/Los_Angeles", "original_purchase_date":"2012-07-12 12:54:35 Etc/GMT", "item_id":"534185042"}, "status":0}




    肿么是2012年7月的数据?
    再仔细一看
    product_id也不是我的吖!
    bid也不是我的吖!

    我勒个去
    居然是这样的

    赶紧在上面那个函数的代码里增加这两个值的校验……


    这些人太坏了,真黑!
    gamexg
        5
    gamexg  
       2014-10-10 19:40:29 +08:00
    还有这个玩法啊。
    xap
        6
    xap  
    OP
       2014-10-10 20:15:34 +08:00
    @gamexg 是吖,太崩溃了
    检查了一下paydata
    发现上线以来,共110条内购,有40条都是这个重复支付的……

    于是再增加了一个检查:paydata是否重复
    之前只检查payid重复是不够的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2969 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 00:20 PVG 08:20 LAX 17:20 JFK 20:20
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86