Я создаю сервер для проверки всех моих покупок в магазине Android Market. Но я не думаю, что отправляю информацию из приложения правильно. Мой сервер построен на PHP.
Мое приложение обращается к URL:
...&response={...json...}&signature={...signature...}
Подпись предварительно закодирована с помощью URLEncoder.encode (подпись, "UTF-8")
Мой сервер:
$response = $_GET["response"];
$signature = htmlspecialchars(urldecode($_GET["signature"]));
А затем я выполняю процесс проверки. Я думаю, что проблема заключается в том, что я передаю аргументы из приложения на сервер, потому что, если я копирую ответ и подпись вручную и проверяю их, функция проверки говорит, что они действительны.
URL:
... & ответ = { "одноразовое значение": - 871647007848398655, "заказы": [{ "OrderId": "768142460571407", "PACKAGENAME": "net.xxx.aaa", "ProductID": "net.xxx .mmf.flyboys " "purchaseTime": 1330090436000, "purchaseState": 0, "developerPayload": "Flyboys"}, { "OrderId": "203523162686707", "PackageName": "net.xxx.aaa"," PRODUCTID ":" net.xxx.mmf.16blocks "," purchaseTime ": 1330511533000," purchaseState ": 0," developerPayload ":" 16 блоков "}, {" orderId ":" 328483664834399 "," packageName ":" net. xxx.aaa», "ProductID": "net.xxx.mmf.aceventura3", "purchaseTime": 1331037005000, "purchaseState": 0, "developerPayload": "Эйс Вентура 3"}]} & подпись = EyT9IgZeq2OLRqCtabTIc5wOKARtdHUfCQAdkEqkGyi% 2Bd1qQgcfxPnvIa9VMDQqwh8rxxGPOYQKuhaEuZUJzbSain8% 2FN7p41euzb1n1 % 2FgZkgqXlQTDn076U2AXcp1ymBFZamrwETo0gkZi4q6PZV47oR7Rk28vPU5vjs% 2Bl0TN0DdlzclHuH40CkZqD1ErSMMwWGTGR6bGnJlmmhgHC2KV7Ab63i0hdgkqk5MOtkOxhjS% 2B4LG1YxmJIsxhJnOcmNI7n2VKUdtn% 2B0CWxO5M8m0BcfpZ9Se3sR6ZtVli2rS1KSKQPL1Td9GWPhmG4nvzZFtKCqf9Le6Meudv6iFTSw5Hg% 3D% 3D
Vardump
Ответ
строка
{ "Нонс": - 871647007848398655, "заказы": [{ "OrderId": "768142460571407", "PACKAGENAME": "net.xxx.aaa", "ProductID": "net.xxx.mmf.flyboys",» purchaseTime ": 1330090436000," purchaseState ": 0," developerPayload ":" Flyboys "}, {" OrderId ":" 203523162686707" , "PackageName": "net.xxx.aaa", "ProductID": "net.xxx. mmf.16blocks " "purchaseTime": 1330511533000, "purchaseState": 0, "developerPayload":" 16
Блоки "}, {" OrderId ":" 328483664834399" , "PACKAGENAME": "net.xxx.aaa", "ProductID": "net.xxx» ...
(Длина = 617)
Подпись
string 'EyT9IgZeq2OLRqCtabTIc5wOKARtdHUfCQAdkEqkGyi
d1qQgcfxPnvIa9VMDQqwh8rxxGPOYQKuhaEuZUJzbSain8 / N7p41euzb1n1 / gZkgqXlQTDn076U2AXcp1ymBFZamrwETo0gkZi4q6PZV47oR7Rk28vPU5vjs
l0TN0DdlzclHuH40CkZqD1ErSMMwWGTGR6bGnJlmmhgHC2KV7Ab63i0hdgkqk5MOtkOxhjS
4LG1YxmJIsxhJnOcmNI7n2VKUdtn
0CWxO5M8m0BcfpZ9Se3sR6ZtVli2rS1KSKQPL1Td9GWPhmG4nvzZFtKCqf9Le6Meudv6iFTSw5Hg ==»
(Длина = 344)