Есть ли способ проверить, действителен ли на контент-сервере идентификатор продукта для покупки Apple Inapp? - PullRequest
2 голосов
/ 21 мая 2011

Я создаю бэкэнд для iOSapp, в котором есть продукты для покупки inapp.Бэкэнд выполняет контент, обслуживающий материал и проверяет квитанции, а что нет.

Меня беспокоит то, что нет способа убедиться, что идентификатор продукта, введенный в бэкэнд, является действительным.

Я знаю, что есть API, который можно вызвать из iOS, чтобы получить список идентификаторов продуктов для конкретного приложения (это была компания?), Есть ли в любом случае, чтобы получить эту информацию из бэкэнда, так что истинная проверка введенного идентификатораможно сделать?

Заранее спасибо.

1 Ответ

0 голосов
/ 24 июля 2015

Как только пользователь совершает действительную покупку, вы получаете зашифрованную квитанцию ​​о покупке.Чтобы проверить, является ли покупка действительной, вам необходимо отправить эту квитанцию ​​на серверы проверки Apple.Вы получите ответ, в котором будет указано, была ли покупка действительной, а если она действительной - сведения о покупке (время покупки, идентификатор продукта, идентификатор транзакции и т. Д.).

Я использовал пример кода здесь и это было довольно легко и прямо.Используйте URL-адрес изолированной программной среды в качестве конечной точки при тестировании (в том числе с TestFlight) и рабочий URL-адрес, как только приложение окажется в магазине приложений.

Кстати, я бы порекомендовал создать общий секрет для вашего IAP (вы можете сделатьв iTunes Connect) и включите его в свои запросы на проверку в поле password:

private function encodeRequest() {
    return json_encode(array(
    'receipt-data' => $this->getReceipt(),
    'password' => $sharedSecret));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...