Проверка ответов Android Market о лицензировании на стороне сервера с помощью PHP

Я создаю сервер для тестирования всех моих покупок в приложении на рынке Android. Но я не думаю, что я правильно отправляю информацию из приложения. Мой сервер построен на PHP.

Мое приложение получает доступ к URL-адресу:

...&response={...json...}&signature={...signature...}

Подпись предварительно закодирована с помощью URLEncoder.encode(signature,"UTF-8")

Мой сервер:

$response = $_GET["response"];
$signature = htmlspecialchars(urldecode($_GET["signature"]));

Затем я выполняю процесс проверки. Я думаю, что проблема связана с тем, как я передаю аргументы из приложения на сервер, потому что, если я копирую ответ и подпись вручную и проверяю их, функция проверки говорит, что они действительны.

URL:

...&response={"nonce":-871647007848398655,"orders":[{"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

Ответ

строка '{"nonce":-871647007848398655,"orders":[{"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)

Подпись

строка 'EyT9IgZeq2OLRqCtabTIc5wOKARtdHUfCQAdkEqkGyi d1qQgcfxPnvIa9VMDQqwh8rxxGPOYQKuhaEuZUJzbSain8/N7p41euzb1n1/gZkgqXlQTDn076U2AXcp1ymBFZamrwETo0gkZi4q6PZV47oR7Rk28vPU5vjs l0TN0DdlzclHuH40CkZqD1ErSMMwWGTGR6bGnJlmmhgHC2KV7Ab63i0hdgkqk5MOtkOxhjS 4LG1YxmJIsxhJnOcmNI7n2VKUdtn 0CWxO5M8m0BcfpZ9Se3sR6ZtVli2rS1KSKQPL1Td9GWPhmG4nvzZFtKCqf9Le6Meudv6iFTSw5Hg==' (length=344)

7
задан MPelletier 7 April 2012 в 12:34
поделиться