在我的购买验证流程中有三个缔约方
iOS客户端与通信方式之间的通信方式中的JSON-RCP ASP.NET服务器
验证过程是;通过Web服务将付款收据发送到ASP.NET服务器(服务器使用AppleReceiptVerifier验证收据)
我有5个产品标识符用于支付2其中运行良好并返回预期的响应但其他三个返回JsonException这样
{
error = {
errors = (
{
message = "Found String where Object was expected.";
name = JsonException;
}
);
message = "Found String where Object was expected.";
name = JSONRPCError;
};
id = "<null>";
}
和这个
{
error = {
errors = (
{
message = "Missing value.";
name = JsonException;
}
);
message = "Missing value.";
name = JSONRPCError;
};
id = "<null>";
}
所有商品标识符都是相同类型,只是价格不同 我不知道为什么会出现这个问题?
怎么做???
答案 0 :(得分:2)
阅读json-rpc的规范后, 似乎params是一个数组,试试这个:
{
"method":"sendReceipt",
"params" :[
{
"ReceiptData":"ewoJInNpZ25hdHVyZSIgPSAiQXJ.....",
"PersonID":"sam@am.com"
}
],
"id":"1"
}
或者这个:
{
"method":"sendReceipt",
"params" :[
"ewoJInNpZ25hdHVyZSIgPSAiQXJ.....",
"sam@am.com"
],
"id":"1"
}
jsonrpc版本2.0:
{
"jsonrpc": "2.0",
"method": "sendReceipt",
"params":
{
"ReceiptData":"ewoJInNpZ25hdHVyZSIgPSAiQXJ.....",
"PersonID":"sam@am.com"
},
"id": 1
}
他们应该根据您的需要工作。
答案 1 :(得分:1)
当Apple提供验证环境时,不确定您使用第三方库进行验证的原因。
在这里你可以直接发布JSON&amp;获得适当的错误代码响应。 Apple也很好地记录了In-App Purchase Programming Guide
中的每个错误FYI使用https://sandbox.itunes.apple.com/verifyReceipt验证沙箱环境中的收据。
有关详细信息,请参阅StoreKIt verification error: 21002。