【问题标题】:Secure Offline payment in AndroidAndroid 中的安全离线支付
【发布时间】:2017-10-01 02:26:27
【问题描述】:

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

当我说离线时,这意味着用户有网络连接但没有互联网连接用户没有网络(并且没有互联网)的情况也)在所有
我在离线时使用 sqlite 存储内容,并在网络可用时将其与服务器同步。

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

  1. 短信(如果网络可用)
  2. NFC

    注意:该应用使用自己的钱包,当它在线时,该钱包已经从银行转入了信用(钱)。

编辑:这里使用的两个设备都是安卓手机。考虑一个场景:“A”在离线模式下(A 和 B 都离线)使用 NFC 向“B”转账。之后A死了(不能永远在线),但B连接到互联网。现在 B 告诉服务器 A 向他转了一些钱。但是服务器没有任何来自 A 的确认,表明 B 说的是真话

问题 1:我该如何应对这种情况?
问题2:有没有比NFC更好的方式让“A”在离线模式下向“B”转账?

【问题讨论】:

  • “我的问题是关于在两个设备离线时在两个设备之间传输数据的安全方法(蜂窝网络不可用)” - 我不清楚你在问什么。其中一台设备是想要支付的用户的安卓手机,另一台是什么设备?它在收款中起什么作用?
  • 两台设备都是安卓手机。考虑这种情况:“A”在离线模式下(A 和 B 都离线)使用 NFC 向“B”转账。之后A死了(不能永远在线),但B连接到互联网。现在 B 告诉服务器 A 向他转了一些钱。但是服务器没有任何来自 A 的确认,说 B 说的是真话。问题 1:我该如何应对这种情况?问题2:有没有比NFC更好的方式让“A”在离线模式下向“B”转账?

标签: android payment-gateway payment offline payment-processing


【解决方案1】:

离线时使用 SQLite 将数据存储到移动数据库中,然后在线更新 SQL 数据库服务器。使用this link to understand sqlite

【讨论】:

  • 我认为这应该小心使用,因为大多数支付系统都使用生命周期很短的会话。因此,将某些内容存储在数据库中而没有任何迹象表明它将存在多长时间,并希望服务器接受发回的内容对我来说似乎是一个非常糟糕的主意
  • 是的。正如@ArthurAttout 所说,我们不知道用户将离线多久。当其中一个用户永远无法连接到互联网时,我们还需要一个备用方案。
  • 实际上,Prabhu 正在考虑一种钱包类型的系统,他为他的用户提供了像大多数钱包一样存钱的便利,以后用户可以在应用程序中使用这些积分来实现他们的目的。所以,在钱包的情况下这不会是一个问题,因为交易是在向钱包中添加积分之前完成的,稍后@prabhu 只需将使用的积分保存到 sqlite 并减去在线数据库中的积分。
  • 已编辑问题以提高清晰度。此外,如果其中一位用户无法永远连接到互联网怎么办。
猜你喜欢
  • 2015-05-19
  • 2012-08-31
  • 2020-04-12
  • 1970-01-01
  • 2012-09-12
  • 2017-09-02
  • 1970-01-01
  • 2016-08-24
  • 1970-01-01
相关资源
最近更新 更多