最新消息:

支付宝、微信二维码一码用一次方案

技术相关 chuanliang 1浏览 0评论

目前支付宝/微信的个人收款码用于收款,由于生成的二维码是永久有效的,导致二维码呈现给用户后,如果用户对二维码截图,即便页面失效,用户仍然可以扫描二维码付款,在订单匹配上会出很多问题。市面上有人号称有黑科技,可以实现一码只能用一次的方案。其实并不难,只需要实现给用户呈现的二维码有有效期。

 

大致思路:

与将支付宝/微信/银联钱包/京东钱包等多个二维码合并为一个二维码的方案类似,不直接呈现/银联钱包/京东钱包的二维码,给用户呈现我们自己平台的二维码,此二维码有有效期,用户在用支付宝、微信APP扫描此码时候,先判断APP的User-Agent及二维码有效性。

大致流程:

1、用户访问系统,系统创建支付订单

2、创建对应订单地址的二维码,呈现给用户供用户扫码

此二维码码对应的主要处理流程

2.1、判断二维码有效期

根据订单创建时间,判断二维码有效期是否有效,如果已经过有效期,直接提示用户。

2.1、判断扫码APP的User-Agent,路由选择支付宝/微信

读取User-Agent属性,如果含有MicroMessenger、MQQBrowser字符,则为微信支付的,如果为AliApp、AlipayClient,则为支付宝。

支付宝APP的user-agent 例子:

Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 ChannelId(3) Nebula PSDType(1) AlipayDefined(nt:WIFI,ws:375|647|2.0) AliApp(AP/10.0.1.123008) AlipayClient/10.0.1.123008 Alipay Language/zh-Hans

微信的user-agent 例子:

Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 MicroMessenger/6.5.3 NetType/WIFI Language/zh_CN

 

 

2.3、如果二维码在有效期内,选择对应的支付宝/微信二维码

根据订单金额/备注等信息,选择预先生成或动态实时生成的支付宝/微信二维码

2.4、跳转到对应金额的支付宝/微信二维码地址

支付宝扫码后可以直接跳转到对应支付宝二维码地址。微信扫码后,需要用户长按识别后付款

转载请注明:出家如初,成佛有余 » 支付宝、微信二维码一码用一次方案

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址