Android 安卓系统中的安全离线支付

Android 安卓系统中的安全离线支付,android,payment-gateway,payment,offline,payment-processing,Android,Payment Gateway,Payment,Offline,Payment Processing,如何使用android手机实现离线支付? 当我说离线时,这意味着情况可以是用户有网络连接但没有互联网连接和用户根本没有网络(也没有互联网)我使用sqlite在脱机时存储内容,并在网络可用时与服务器同步。我的问题是关于两台设备脱机时(蜂窝网络不可用)之间传输数据的安全方法。我想到的一些事情是: SMS(如果网络可用) NFC 注意:应用程序使用自己的钱包,当它在线时,钱包中已经有银行转账的信用(钱) 编辑:这里使用的两种设备都是安卓手机。考虑一个场景:“A”在离线模式下(A和B都离线)将钱转移到“

如何使用android手机实现离线支付?


当我说离线时,这意味着情况可以是用户有网络连接但没有互联网连接用户根本没有网络(也没有互联网)
我使用sqlite在脱机时存储内容,并在网络可用时与服务器同步。

我的问题是关于两台设备脱机时(蜂窝网络不可用)之间传输数据的安全方法。我想到的一些事情是:

  • SMS(如果网络可用)
  • NFC

    注意:应用程序使用自己的钱包,当它在线时,钱包中已经有银行转账的信用(钱)
  • 编辑:这里使用的两种设备都是安卓手机。考虑一个场景:“A”在离线模式下(A和B都离线)将钱转移到“B”,使用<强> NFC < /强>。之后A死了(不能永远在线),但B连接到了互联网。现在B告诉服务器A转移了一些钱给他。但是服务器没有任何来自A的确认,即B说的是实话。

    问题1:我如何应对这种情况?

    问题2:“A”在脱机模式下向“B”转账是否有比NFC更好的方式?

    在脱机时使用SQLite将数据存储到移动数据库中,然后在联机时更新SQL数据库服务器。使用

    我认为应该谨慎使用,因为大多数支付系统使用的会话的生命周期非常短。因此,在数据库中存储一些东西而不显示它将在那里停留多长时间,并且希望服务器接受返回的内容对我来说是一个非常糟糕的主意。。正如@Arthuratout所说,我们不知道用户将离线多长时间。当其中一个用户无法永远连接到互联网时,我们还需要一个后备方案。实际上,Prabhu正在考虑一种类似钱包的系统,在这种系统中,他为他的用户提供了存款便利,就像在大多数钱包中一样,后来的用户可以在应用程序中使用这些存款。因此,对于钱包来说,这不会是一个问题,因为之前的交易是在向钱包中添加信用卡时进行的,之后@prabhu只需要将使用的信用卡保存到sqlite中,并将其与在线数据库中的信用卡一起减去。为了更清楚起见,编辑了问题。还有,如果其中一个用户无法永远连接到互联网,该怎么办。“我的问题是,当两台设备离线时(蜂窝网络不可用),在两台设备之间传输数据的安全方法”——我不清楚你在问什么。其中一个设备是想付费的用户的安卓手机,另一个设备是什么?它在支付中扮演什么角色?这两款设备都是安卓手机。考虑这个场景:“A”在离线模式下(A和B都离线)将钱转移到“B”,使用NFC。之后A死了(不能永远在线),但B连接到了互联网。现在B告诉服务器A转移了一些钱给他。但是服务器没有得到A的任何确认,说B说的是实话。问题1:我如何应对这种情况?问题2:对于“A”在离线模式下向“B”转账,有没有比NFC更好的方式?