来自Apple收据验证沙箱的奇怪状态代码

| 我将base64编码数据的发布请求发送到收据验证地址,如下所示(在C#中):
        var postSerializer = new JavaScriptSerializer();
        byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(Receipt);
        string returnValue = System.Convert.ToBase64String(toEncodeAsBytes);

        var temp = new Dictionary<string, string>();

        temp.Add(\"receipt-data\", returnValue);

        string jsonReceipt = postSerializer.Serialize(temp);
        request.Method = \"POST\";
        request.ContentType = \"application/json\";

        byte[] postBytes = System.Text.Encoding.ASCII.GetBytes(jsonReceipt);



        request.ContentLength = postBytes.Length;
        Stream dataStream = request.GetRequestStream();

        // Write the data to the request stream.
        dataStream.Write(postBytes, 0, postBytes.Length);
        // Close the Stream object.
        dataStream.Close();
        WebResponse response = request.GetResponse();
        // Display the status.
        Console.WriteLine(((HttpWebResponse)response).StatusDescription);
        // Get the stream containing content returned by the server.
        dataStream = response.GetResponseStream();
        // Open the stream using a StreamReader for easy access.
        StreamReader reader = new StreamReader(dataStream);
        // Read the content.
        string responseFromServer = reader.ReadToEnd();
我很确定事情格式正确,因为我没有收到任何例外 从苹果收据验证端点。我得到的整个答复是 {状态:-42352} 而且我无法在任何地方找出此错误的含义。有人知道这是什么意思还是我的代码中有错误?     
已邀请:
        刚刚解决了同样的问题。从这里获得解决方案:验证应用内购买的收据 问题出在后期编码中。当我使用以下代码在服务器上编码帖子时 $ receipt = json_encode(array(\“ receipt-data \” => base64_encode($ receiptdata)));; 我具有相同的-42352状态。当我使用自己的函数在iPhone上进行编码时-一切正常!魔法...     

要回复问题请先登录注册