Хочу поделиться своим опытом подключения платежей с верификацией на сервере к приложению из Google Play. Так.
У нас есть приложение, готовое к публикации ( связь ).
Также создан платежный проект ( связь ) и связан с приложением.
Дальше по пунктам.
1. Вам необходимо перейти на вкладку «Учетные данные»; 2. Создайте ClientID как веб-приложение и укажите redirect_uri на наш сервер (например, сервер.
ру и обратный звонок server.ru/callback ); 3. Создайте ключ типа ServerKey (можно использовать и пустые данные).
На сервере делаем обработчик входящего кода переменной по адресу server.ru/callback .
Он придет в виде запроса GET. Вот пример обработки на языке Питон с хранением данных в Редис .
В данном случае переменная кода — это данные входящего запроса GET на наш сервер.
Далее вам необходимо заполнить страницу «Экран согласия», а также активировать «API разработчика Google Play Android».import requests, redis Redis = redis.Redis() data = requests.post(' https://accounts.google.com/o/oauth2/token',{'code':code,'grant_type':'authorization_code','client_id':client_id,'client_secret':client_secret,'redirect_uri':'http://server.ru/callback/ '}) jdata = data.json() if 'access_token' in jdata and 'token_type' in jdata and 'expires_in' in jdata: Redis.setex('GooglePayAccess',jdata['access_token'],jdata['expires_in']) Redis.setex('GooglePayType',jdata['token_type'],jdata['expires_in']) if "refresh_token" in jdata: Redis.set('GooglePayRefresh',jdata['refresh_token'])
Теперь нам нужно авторизовать сервис на нашем сервере.
Это необходимо сделать со счета, с которого был создан платежный проект. Далее зайдите под этой учетной записью связь , заменив …….
наш ClientID. https://accounts.google.com/o/oauth2/authЭscope=https://www.googleapis.com/auth/androidpublisher&response_type=code&access_type=offline&redirect_uri=http://server.ru/callback/&client_id=……………………………………
Эта ссылка отправит переменную кода в наш обратный вызов.
После активации аккаунта мы можем работать с платежами.
Мы передаем полученные клиентом платежные данные от Google на сервер и проверяем их со своей стороны.
import requests, redis
Redis = redis.Redis()
access_token = Redis.get('GooglePayAccess')
token_type = Redis.get('GooglePayType')
if not access_token or not token_type:
Теги: #google Developer API #python #redis #anndroid #play market #python #Google API
-
Ли Чжи
19 Oct, 24 -
Цените Момент
19 Oct, 24 -
Встреча: Опыт Стартапа
19 Oct, 24