无法从PHP Server上的iOS7收据访问“in_app”字段

时间:2014-04-24 15:39:27

标签: php ios7 in-app-purchase in-app-billing receipt-validation

我正在尝试从iOS收集中获取原始事务ID,但是当我在从Apple返回的数据上使用json_decode时,它是一种奇怪的格式。这是一个例子:

//来自苹果的对象

   {
        "in_app" =  
         (
                 {
                    "is_trial_period" = false;
                    "original_purchase_date" = "2014-04-24 15:15:19 Etc/GMT";
                    "original_purchase_date_ms" = 1398352519000;
                    "original_purchase_date_pst" = "2014-04-24 08:15:19 America/Los_Angeles";
                    "original_transaction_id" = 1000000108799609;
                    "product_id" = Gems500;
                    "purchase_date" = "2014-04-24 15:15:20 Etc/GMT";
                    "purchase_date_ms" = 1398352520000;
                    "purchase_date_pst" = "2014-04-24 08:15:20 America/Los_Angeles";
                    quantity = 1;
                   "transaction_id" = 1000000108799609;
                 }
        );
    }

我在其他示例中看到in_app是一个数组,但我用圆括号得到它。不知道最近发生了什么。这是我的服务器方法:

  // parse the response data
        $data = json_decode($response);

 $data = json_decode($response);

        // ensure response data was a valid JSON string
        if (!is_object($data)) {
            return 'Invalid response data';
        }

        // ensure the expected data is present
        if (!isset($data->status) || $data->status != 0) {
            return "Apple return with error ".$data->status;
        }

       $in_app = $data->receipt->in_app; //works fine
       $original_transaction_id = $in_app['original_transaction_id'];//does not work

不知道为什么我会得到圆括号或做什么但是如果你认识到这种类型的JSON响应或者我可能做错了我的所有耳朵。

我可以访问的收据中的所有其他字段,in_app中唯一的字段我不能。

0 个答案:

没有答案