Написать php скрипт подключение к Google Developer API

Гость8 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
28.11.2016

Мне нужно написать на PHP скрипт, который будет подключаться через OAuth 2.0 к гугл Api и проверять совершена ли покупка (у нас игра).

Т.е. клиент делает что-то вроде запроса:

domen.com/confirm_purchase.php?platform=Android&purchase_token=blabla

Сервер подключается к гугл API через OAuth, и делает запрос к апи.

Здесь даже многое описано:

http://stackoverflow.com/questions/35127086/android-inapp-purchase-receipt-validation-google-play

В интернете есть библиотеки с огромным функционалом, нам он не нужен. Нужен только одна эта возможность - проверять совершены ли покупки. Но как вариант можно через скрипт обращаться к библиотеке гугл. Здесь лежат эти библиотеки на разных языках включая php:

https://developers.google.com/discovery/libraries

Получает json файл, где в одном из полей написано purchased 0 или 1, где 0 означает удачно.

Если ноль, то сервер отвечает приложению 1 (plain text), во всех остальных случаях 0 (plain text).

Вся необходимая документация:

https://developers.google.com/android-publisher/authorization

https://developers.google.com/android-publisher/api-ref/purchases/products/get

Для iOS всё ещё проще, там не нужна авторизация, просто запрос к Apple



$path = 'receipt';

$_FILE['receipt-data']["tmp_name"];

$receipt = file_get_contents($path);

$json['receipt-data'] = base64_encode($receipt);

$post = json_encode($json);

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"https://buy.itunes.apple.com/verifyReceipt");

curl_setopt($ch, CURLOPT_POST,1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$result=curl_exec ($ch);

curl_close ($ch);

?>

Взял отсюда:

http://stackoverflow.com/questions/1298998/verify-receipt-for-in-app-purchase

Приложение делает запрос что-то вроде:

domen.com/confirm_purchase.php?platform=iOS&receipt=blabla

Ей приходит json, он парсится и сравниваются SKU (коды покупок)

В ответ всё также 1 - всё хорошо, 0 - что-то не так.

На этом все. Нужен только этот функционал.

С уважением, Андрей.

Заявки фрилансеров