Android商家端线下支付流程详解

对于Android应用客户端来说,通常情况下的支付方式分为微信和支付宝两种,实现方式是通过接入微信和支付宝的SDK,调用手机已安装微信和支付宝应用来完成支付操作,并将支付结果回调给该应用,根据支付结果再做出的相应的处理,这样就完成了一次客户端支付流程。

但是呢,Android应用还可以用于商家端,安装在商家门店设备上,用于和顾客日常收银交互(相当于简易版的POS),这时候,就无法再通过接入SDK的方式来实现了,不仅如此,在线下收银时,可能存在的支付方式也不仅仅是微信和支付宝,下面就逐个详解对应的支付流程。

  • 微信和支付宝
    微信和支付宝一般都是通过后台服务器先封装一层支付接口,再由Android应用端调用,完整调用流程如下:

这里写图片描述

需要注意的是,轮询支付结果一般为1分钟,5s轮询一次,也可以根据实际场景做修改。如果轮询结束还没有得到明确的支付结果,则认为支付失败,如果后台实际支付成功,则由后台做异常处理,将对应支付记录撤销。

  • 现金
    现金支付不需要发起支付请求,只负责记录该条支付记录并做相应处理。

  • 银行卡
    银行卡支付需要和对接银行的手柄对接,通过对接银行提供的.dll文件,调用指定支付方法发起支付,完整流程如下所示:
    这里写图片描述
    银行卡支付和微信支付宝支付的区别就在于如果轮询支付结果依旧未知的情况下是否需要发起冲正,银行卡如果发起冲正解析冲正结果时无法明确得知冲正结果,需要再次发起冲正,依旧是一分钟的时限,在一分钟内如果冲正结果都为未知冲正结果,则认为支付失败,Android端不再处理该种异常情况,交由后台处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值