我使用谷歌钱包作为我的支付网关,购买产品后谷歌给我一个以下的响应
{
"orderId":"12999763169054705758.1371079406387615",
"packageName":"com.example.app",
"productId":"exampleSku",
"purchaseTime":1345678900000,
"purchaseState":0,
"developerPayload":"bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ",
"purchaseToken":"rojeslcdyyiapnqcynkjyyjh"
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Google Play新推出的收据验证.在Google Developer控制台中,我在权限中通过服务帐户制作了证书密钥.但我很困惑如何在从Google Play商店购买产品后使用收据验证.
所以,任何人都可以请帮我该怎么办收货验证的InApp
采购.
我想从Play商店购买我的应用程序时获得用户的订单ID或电子邮件ID.
我希望当用户购买我的应用程序时,订单ID存储在我的sql数据库中.接下来,当用户从我的应用程序注册并输入订单ID时,可以使用存储的订单ID验证该订单ID.
或者,如果我可以获得用于该购买的电子邮件ID,那么我可以使用该电子邮件ID存储该购买.
谢谢
我有一个启用了Google Play开发人员API的Google开发人员控制台程序,并且该项目已链接到Google Play项目。在Google Dev控制台项目中,创建了OAuth客户端ID(网络应用程序)(我是该项目的所有者)。使用“ client_id”和“ client_secret”进行身份验证。尝试在Python中使用google-api-client时,Google Developer API Playground发送请求以列出我们的应用程序的评论,但出现错误:“当前用户没有足够的权限来执行请求的操作。” 详细信息如下:请求:
GET /androidpublisher/v2/applications/<package_name>/reviews
Run Code Online (Sandbox Code Playgroud)
响应:
"error": {
"code": 401,
"message": "The current user has insufficient permissions to perform the requested operation.",
"errors": [
{
"domain": "androidpublisher",
"message": "The current user has insufficient permissions to perform the requested operation.",
"reason": "permissionDenied"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我有想念吗?
我的 Google Play 计费有问题。我有一个 Android 应用程序,其中包含应用程序内购买。我维护 SharedPreference 来购买应用程序状态。如果谷歌将购买状态视为成功,那么我将在购买应用程序时保持布尔值。
\n问题场景:我是 XYZ 应用程序的新用户,我已付费购买高级版本。支付成功后,应用程序将切换到高级版本。同时我去谷歌播放帐户并取消订单。开发者可以得到0价格的退款,而作为新用户我可以得到高级版本而无需付费。
\xe2\x80\xa8 Q. 如何处理 Google Play Billing 的 SKU 购买状态?
\nI need to verify purchases of my android App from my AWS lambda in python.
I have seen many posts of how to do so and the documentation and here is the code I have written :
url = f"{google_verify_purchase_endpoint}/{product_id}/tokens/{token}"
response = requests.get(url=url)
data = response.json()
logging.info(f"Response from Google Play API : {data}")
Run Code Online (Sandbox Code Playgroud)
When I do so, it throws a 401 status code not allowed. Alright, I have created a service account to allow the request with OAuth, but how …
python android in-app-purchase google-api-python-client google-play-developer-api
我的问题集中在使用 Google 的 In-App Billing API 处理消耗品的应用内购买。(https://developer.android.com/google/play/billing/api.html#consumetypes)
他们的文档将消耗品描述为:
消耗品
相比之下,您可以对可以多次购买的产品实施消费。通常,这些产品会提供某些临时效果。例如,用户的游戏角色可能会在他们的库存中获得生命值或获得额外的金币。在您的应用程序中分配所购买产品的好处或效果称为供应被管理产品。您负责控制和跟踪向用户供应被管理产品的方式。
消耗品是可以多次购买的东西(如游戏货币、游戏内物品或使用的升级等),而非消耗品只能购买一次(无广告、皮肤/角色, 等等。)
在消费购买的文档(https://developer.android.com/training/play-billing-library/purchase-iab-products.html)中,它还提到:
您如何在应用中使用消费机制取决于您。通常,您会为用户可能想要多次购买的具有临时利益的产品实施消费,例如游戏货币或可补充的游戏代币。您通常不希望对购买一次并提供永久效果(例如高级升级)的产品实施消费。
您有责任控制和跟踪向用户提供应用内商品的方式。例如,如果用户购买了游戏内货币,您应该使用购买的货币数量更新玩家的库存。
我的问题是如何跟踪消耗品的用户库存?文档和各种视频似乎很快掩盖了这一点,基本上是说应用程序在确认购买成功时必须应用消耗品的效果。但这并不是真正的全貌。如果用户退出并使用不同的帐户重新登录怎么办?或者他们切换到新手机,他们应该在该手机上拥有该产品。
您无法真正将购买记录保存在 SharedPreferences 或持久缓存中,因为它与手机相关联。如果用户在不同的手机上登录,那么他们应该可以享受他们所做的所有购买的好处。
以下面的例子为例:
一场比赛开始时玩家有 1000 金币。玩家通过应用内购买再购买 500 金币,然后花费 200 金币。如果玩家购买新手机并在该手机上安装该应用程序,他们应该有 1300 金币。
这通常是如何实现的?
您是否需要运行一个私人服务器来跟踪这些东西的购买/消费与 Google 分开?
谢谢!!