如何解决来自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,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上进行编码时-一切正常!魔法...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。