一种基于银行虚拟卡号的移动支付系统和方法_3

文档序号:8381524阅读:来源:国知局
br>[0132]用于存储支付数据的支付数据库14 ;
[0133]用于与支付设备1、卡组织服务器6、BVA SP服务器8通信的通信模块11 ;
[0134]第三方支付服务器3作为支付(圈存)请求验证环节,包括:
[0135]用于控制各个模块的CPUl5 ;
[0136]用于存储支付数据的支付数据库14 ;
[0137]用于通过网络专线与BVA SP服务器8通信的通信模块11。
[0138]商户服务器7包括以下功能模块:
[0139]用于控制各个模块的CPU15 ;
[0140]用于存储支付数据的支付数据库14 ;
[0141]用于与支付设备1、BVA SP服务器8通信的通信模块11。
[0142]BVA SP服务器8、P0S4、收单行服务器5和卡组织服务器6作为移动支付系统中的中转环节,均包括:
[0143]用于控制各个模块的CPU15 ;
[0144]用于存储中转数据的中转数据库12 ;
[0145]用于建立网络专线通信的通信模块11。
[0146]P0S4还包括用于与支付设备I通信的近程支付模块9。
[0147]以NFC手机(即支付设备1)、招商银行服务器(即发卡行服务器2)、支付宝服务器(即第三方支付服务器3)、P0S4、工商银行服务器(即收单行服务器5)、银联服务器(即卡组织服务器6)、淘宝服务器(即商户服务器7)和BVA SP服务器8构成的移动支付系统为例,如图2所示,在本实施例系统中实现基于银行虚拟卡号的移动支付方法包括以下步骤:
[0148]步骤SI:NFC手机绑定招商银行真实卡号,并通过该银行柜面人工存储或在线下载存储的方式获得基于该银行真实卡号的密钥,同时根据支付宝服务器的认证绑定流程绑定支付宝账号,在绑定完成时,按顺序生成绑定卡号或账号的序号,用以标识该绑定卡号或账号;
[0149]步骤S2:NFC手机直接接受P0S4通过近程通信方式(近程通信方式包括但不限于NFC通信方式、磁条通信方式、接触式IC通信方式及蓝牙通信方式,此处NFC手机采用NFC通信方式)发起的支付请求,或者经BVA SP服务器8接受淘宝服务器远程发起的支付请求,或者直接远程向BVA SP服务器8发起圈存请求,NFC手机对银行真实卡号进行加密,随机生成本次支付或圈存的银行虚拟卡号,并通过近程支付方式或远程支付方式向招商银行服务器发送将该银行虚拟卡号作为主账号的支付请求或圈存请求,其中,近程支付方式包括近程在线支付方式和近程离线支付方式,远程支付方式包括远程圈存电子现金支付方式和远程在线支付方式;
[0150]步骤S3:招商银行服务器接受支付请求或圈存请求,对银行虚拟卡号进行解密后获得银行真实卡号,判断本次支付或圈存是否使用该招商银行服务器的银行真实卡号,若否,执行步骤S4,若是,招商银行服务器生成支付或圈存请求验证结果,执行步骤S5 ;
[0151]步骤S4:招商银行服务器通过BVA SP服务器8将支付或圈存请求转发给相应的支付宝服务器,支付宝服务器生成支付或圈存请求验证结果,并经BVA SP服务器8转发给招商银行服务器;
[0152]步骤S5:招商银行服务器将支付或圈存请求验证结果反馈至NFC手机,完成本次支付或圈存。
[0153]其中,银行虚拟卡号是在绑定的银行真实卡号的基础上加密生成,银行真实卡号的位数Q1和银行虚拟卡号的位数92符合卡组织规定的位数集Q,即Qi,Q2e Q,
Q e {16,17,18,19}。
[0154]银行真实卡号的内容包括BIN、识别码、固定值、客户流水号及校验码,其中:
[0155]BIN字段包括Ii1位数字,记为B,Ii1= 6 ;
[0156]识别码字段包括112位数字,记为S,若BIN字段用于识别是否为银行虚拟卡号,η 2=0,即卡号中不显示识别码字段,否则,η2= 1,识别码用于识别是否为银行虚拟卡号;
[0157]固定值字段包括113位数字,记为G,n 3e {0,1,...,4},由发卡行设定,可用于识别发卡的分行及支行,也可用于识别银行卡支持的币种及其他自定义识别功能,若n3=0,即卡号中不显示固定值字段;
[0158]客户流水号字段包括n4位数字,记为L,n 4e {4,5,...,12},用于识别客户身份,当发卡行设定卡号中有固定值字段时,与固定值字段对应;
[0159]校验码字段为按卡组织标准由该位之前的(1^+?+?+?)位数字通过Luhn算法计算得出的I位数字,记为J,则Q1= n i+r^+r^+r^+l,银行真实卡号即为B+S+G+L+J ;
[0160]银行虚拟卡号的内容包括BIN、识别码、固定值、加密客户流水号及校验码,其中:
[0161]BIN字段包括Ii1位数字,记为B ;
[0162]识别码字段包括112位数字,记为S,若BIN字段用于识别是否为银行虚拟卡号,η 2=0,否则,η2= 1,识别码用于识别是否为银行虚拟卡号;
[0163]固定值字段包括113位数字,记为G,n3e {0,1,...,4},由发卡行设定,可用于识别发卡的分行及支行,也可用于识别银行卡支持的币种及其他自定义识别功能,在银行虚拟卡号中按发卡行设定进行舍去或保留,若舍去,则在银行虚拟卡号中不显示固定值字段,在解密银行虚拟卡号时根据客户流水号还原固定值;
[0164]加密客户流水号字段包括n5位数字,记为L’,n5e {5,6,...,12},且η 5> η 4;
[0165]校验码字段为按卡组织标准由该位之前的(ηι+η2+η3+η5)或(1^+?+?)位数字通过Luhn算法计算得出的I位数字,记为J’,则Q2= n 4?+?+?+!或Q2= n:+?+?+]^银行虚拟卡号即为B+S+G+L’+J’或B+S+L’+J’,银行虚拟卡号的B、S、G字段与银行真实卡号的B、S、G字段相同,因为固定值字段在加密为银行虚拟卡号时可能会按发卡行设定舍去,所以银行虚拟卡号存在上述两种情况;
[0166]支付设备I和发卡行服务器2均设有用于加密、解密的密钥,包括支付密钥!\和鉴权密钥T2,!\为所有用户一致的密钥,用于将银行真实卡号加密为银行虚拟卡号,T 2为每个用户唯一使用的密钥,作为定期通过在线下载的方式更新T1时的身份鉴权密钥;
[0167]实施例一中,招商银行16位真实卡号为6225 8801 1234 5675,其中:
[0168]622588 为 BIN 字段,记为 B ;
[0169]O为识别码字段,记为S ;
[0170]11为固定值字段,记为G ;
[0171]234567为客户流水号字段,记为L ;
[0172]5为校验码字段,记为J。
[0173]NFC手机加密的步骤包括:
[0174]A:NFC手机获得此次所使用的X(X = 01),再将L及X顺序排列,并由!\加密生成加密客户流水号43211234,即L’ ;
[0175]B:通过 Luhn 算法将 B+S+G+L’,(即 622588+0+11+43211234)计算后获得 J’ (J,=8),再将B+S+G+L’+J’组合,获得用于此次支付的18位招商银行虚拟卡号6222 6001 14321123 48,完成加密。
[0176]招商银行服务器解密的步骤包括:
[0177]a:招商银行服务器接收到招商银行虚拟卡号后,先通过Luhn算法校验J’是否合法,若是,则执行步骤b,若否,则反馈支付请求失败信息;
[0178]b:用T1解密L’,从而获得L及X ;
[0179]c:通过Luhn算法将B+S+G+L计算后获得J,再将B+S+G+L+J组合,获得用于此次支付的16位招商银行真实卡号6225 8801 1234 5675,完成解密。
[0180]下面对四种支付方式进行具体的说明:
[0181]当用户使用NFC手机通过近程通信方式在商户P0S4处进行支付时,若电子现金余额不足或该商户强制要求联网在线验证支付合法性时,则须使用在线验证的方式(即P0S4需联网认证)进行符合银联规范的移动支付。如图3所示,近程在线支付方式包括以下步骤(图3中的虚线表示在账号发行方为第三方支付公司时才需要执行的步骤):
[0182]101:P0S4发起支付请求,NFC手机生成本次支付的银行虚拟卡号,通过近程通信方式以该银行虚拟卡号作为主账号来响应P0S4发起的支付请求,其中需要变更传输给P0S4的主账号及第2、3磁道中的主账号信息,支付请求内包括主账号、卡有效期、卡片序列号、第2磁道数据及第3磁道数据等数据信息;
[0183]102:P0S4通过网络专线将支付请求转发给工商银行服务器;
[0184]103:工商银行服务器通过网络专线将支付请求转发给银联服务器;
[0185]104:银联服务器根据银行虚拟卡号中的BIN(卡组织分配给发卡行的6位数字BIN字段,用于识别不同的发卡行)将支付请求转发给相应的招商银行服务器,发卡行根据识别码(发卡行在6位BIN后自行定义的I位数字识别码字段,用于识别该账号使用银行虚拟卡号支付方式)判断当前卡号为银行虚拟卡号后,对其进行解密,获得银行真实卡号及序号,判断本次支付是否使用招商银行服务器的银行真实卡号,若否,执行步骤105,若是,则招商银行服务器对支付请求进行有效性验证,并执行步骤109 ;
[0186]105:招商银行服务器将支付请求、与该银行真实卡号绑定的用户标识(用户标识指 NFC 手机的移动设备国际识别码,Internat1nal Mobile Equipment Identity,I ME I)及序号转发给BVA SP服务器8 ;
[0187]106:BVA SP服务器8根据用户标识及序号将支付请求转发给相应的支付宝服务器;
[0188]107:支付宝服务器对支付请求进行有效性验证,并将支付请求验证结果反馈至BVA SP服务器8 ;
[0189]108:BVA SP服务器8将支付请求验证结果反馈至招商银行服务器;
[0190]109:招商银行服务器将支付请求验证结果反馈至银联服务器;
[0191]110:银联服务器将支付请求验证结果反馈至工商银行服务器;
[0192]111:工商银行服务器将支付请求验证结果反馈至P0S4 ;
[0193]112:P0S4本地完成支付请求验证,并将支付请求验证结果反馈至NFC手机,完成本次支付。
[0194]当用户使用NFC手机通过近程通信方式在商户P0S4处进行支付时,若电子现金余额足够且该商户不强制要求联网在线验证支付合法性时,则可使用离线验证的方式(即P0S4无需联网认证)进行符合卡组织规范的移动支付。如图4所示,近程离线支付方式包括以下步骤(图4中虚线代表在账号发行方为第三方支付公司时才需要执行的步骤,点线代表异步执行的步骤):
[0195]201:P0S4发起支付请求,NFC手机生成本次支付的银行虚拟卡号,并通过近程通信方式以该银行虚拟卡号作为主账号来响应P0S4发起的支付请求,即变更传输给P0S4的主账号及第2、3磁道中的主账号信息;
[0196]202:P0S4本地完成支付请求验证,并将支付请求验证结果反馈至NFC手机,完成本次支付;
[0197]203:P0S4通过网络专线异步将离线时间段内的所有支付请求批量转发给工商银行服务器;
[0198]204:工商银行服务器通过专线异步将批量的支付请求转发给银联服务器;
[0199]205:银联服务器根据银行虚拟卡号中的BIN将支付请求转发给相应的招商银行服务器,招商银行服务器识别当前卡号为银行虚拟卡号后进行解密,
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1