Play商店现在会在购买后2小时内自动批准退款.我有一个
Android应用程序,人们可以从应用程序创建和控制VPS游戏主机.也就是说,当你启动应用程序时,你会经历一个注册流程,之后你会有一个运行游戏的VPS.注册后,如果您想对VPS进行任何更改,您只需要该应用程序.
我看到人们通过购买应用程序(提供30天免费VPS)来滥用此功能,通过注册流程创建他们的VPS,然后他们要求退款(如果在2小时内自动获得批准).
从谷歌钱包我可以看到哪些订单ID被取消,但我如何将其链接回用户设备ID或我可以在应用程序中获取的其他东西?
我强迫用户在完成注册流程之前申报他们的Google用户帐户:
Intent intent = AccountPicker.newChooseAccountIntent(null,null,new String[]{"com.google"},false,null); // ... email = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
但这只会给我他们的电子邮件地址,我无法链接回订单ID,这是Google电子钱包中唯一的标识符.
如何将其帐户/电子邮件/设备ID与订单ID(或Google电子钱包中提供的其他信息)相关联?
请注意:这不适用于订单ID随时可用的应用内购买.这是购买应用程序.
谢谢!
编辑:
Google Play服务授权和用户帐户管理无法让您一直到订单ID:http://developer.android.com/google/auth/http-auth.html
以下是有关应用内结算的文档(毫不奇怪),它不提供任何获取有关应用程序采购订单ID的信息:http://developer.android.com/google/play/billing/billing_reference.html
许可不提供OrderID:http://developer.android.com/google/play/licensing/overview.html
有类似问题但未回答的人:http://pcandsys.com/20378/verify-purchase-in-google-play-by-orderid
/ B3
解决方法
不完全是您的问题的答案,但在您的情况下,我会将租约时间限制为几个小时,而安装的应用程序的后台服务应该在几个小时内唤醒一次,以延长租约时间.这种低频率不会引入任何可见的功耗或数据流量影响.当然为了避免可能的冲突,租赁时间应该比更新时间大几倍(例如24小时租用/ 8小时更新一次)
另一个选择可能是让您的应用程序免费试用期内应用内购买,以使其永久