我已经在我的 Android 应用程序中集成了通过 Paypal 购买的应用程序以解锁一些功能。 因此,已解锁这些功能的用户只要不清除应用程序的数据或卸载应用程序就可以使用它们。
如果此设备/用户确实卸载了该应用程序,然后又重新安装了它,这些之前购买的功能将被锁定。
简而言之,请问。
应用程序是否可以通过任何方式将交易绑定(bind)到设备,以便在卸载后通过互联网从 paypal 查询设备之前是否完成过交易,从而解锁这些功能?
如果 paypal 没有,是否可以使用任何免费的后端 Web 服务器来存储此信息?
注意:这适用于 Google Playstore 和 Amazon 以外的应用商店
最佳答案
从我的角度来看,您会在用户数据库中为该用户创建一个帐户 - 保存他的信息、应用程序/用户帐户相关信息和统计信息等。
应用程序内购买会从 PayPal 向您的服务器生成一条“即时付款通知”消息。服务器收到此信息并为购买用户帐户解锁相应的产品。由于这是永久保存在您的系统中,因此无需进一步查询 PayPal。
因此,与其将购买绑定(bind)到一台特定设备 - 我必须检查我们是否传递了任何设备标识符,但我对此表示怀疑 - 您希望将购买绑定(bind)到用户帐户。
直接回答您的问题:
============
1. 应用程序是否可以通过任何方式将交易绑定(bind)到设备,以便在卸载后通过互联网从 paypal 查询设备之前是否完成过交易,从而解锁这些功能?
是什么阻止您将这些信息存储在自己的服务器中?您当然可以通过多种方式查询自己的交易历史记录 - https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/TransactionSearch_API_Operation_NVP/ - 但它不是您可能打算使用的移动 SDK 的一部分。
============
2. 如果 paypal 没有,是否可以使用任何免费的后端 Web 服务器来存储此信息?
虽然我不知道有什么,但它们肯定不会免费,我也无法做出任何优惠推荐。如果您找不到任何现成的平台,可能需要为此编写一些代码。
============
关于android - 即使在卸载后也能保持 paypal 应用内购买,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21387999/