用于处理交易请求的计算机系统、系统和方法
本申请是原案申请号为201410640355.7的发明专利申请(申请日:2014年11月13日,发明名称:用于实时账户访问的计算机系统、方法和交易起源点)的分案申请。
技术领域
所公开的实施方式通常针对用于实时账户访问的系统和方法。
背景技术
诸如EFT(电子资金转移)网络处理的网络处理基础设施用来处理来自传统的信用卡或借记卡交易的支付。EFT使得能够为借方、贷方、账户对帐户转移、购买、账单支付和其它目的提供账户信息和其它有关信息。例如,当持卡人寻求在商店购买物品时,持卡人将通常将她的卡交给商人而商人将通过能够读取磁条信息的终端刷卡以读取卡信息。卡信息包括例如卡号、期满日期和持卡人名字。卡号通常是13-19个数字长,并且唯一地识别用户的信用或借记账户。
在卡号被商人的终端捕获到之后,商人的终端向支付网络发送关于卡和交易的信息,诸如例如卡号、期满日期、持卡人名字、交易价格、交易日期、交易时间和交易位置。卡号中的第一组数字通常识别将卡前缀许可或注册给“发行人”(例如,发行卡的金融机构)的支付公司或注册管理局。所以,例如,以‘4’开始的卡号(例如,40001234 5678 9012)将VISA识别为将卡前缀许可给特定卡发行人的支付公司。各个金融机构发行人通常具有在它发行的它的卡上使用的一组数值标识符(卡前缀)(例如,卡号中的许多前置数字)。支付网络基于卡号将从商人的终端接收到的信息路由到适当的卡发行人。
适当的发行人(在卡交易的情况下,金融机构或其契约交易授权处理器)然后将查阅其记录以确定适当的账户并且验证该账户是否包含可用于批准交易(例如,购买)的足够资金或信用。这个确定的结果返回以通知商人持卡人是否能够购买物品。
然而,这个过程要求持卡人给潜在地非信任实体(商人)唯一地可识别的卡号。截取卡数据的不法商人员工或未授权人可以设法在没有持卡人的许可的情况下再使用卡号,例如,以为他自己购买物品或以在ATM获得现金。
此外,在一些情形下,用于访问客户的账户的卡号是不可用的。例如,如果客户决定通过支票支付,则商人必须捕获发行了该支票的金融机构的RTN(路由转接号)和客户的个人账号。商人然后必须使用由银行或支票呈兑提供方所提供的服务来访问自动化清算所(ACH),请求支票被结清,并且请求信用。ACH系统是批量驱动的进而用来为购买提供资金的过程能够花费比基于卡的交易长得多的时间。因此,将支票用作支付增加商人获取所承诺的资金的时间量。ACH使用还包括承兑以后发现为不可收回的支付(也被称为“空头支票”)的可能性。支票担保提供方能够由商人用来降低这个风险。然而,这样的提供方通常要价支票金额的高百分比,使这个服务变得比信用卡或借记卡支付潜在地更昂贵。
用于处理金融交易的技术的改进是所希望的。
发明内容
在一个公开的实施方式中,公开了一种用于在支付网络处理金融交易的第一方法。该方法包括从发起方设备接收与发起用户或金融机构账户相关联的交易请求。交易请求包括与发起用户或金融机构账户相关联的信息。该方法还包括基于标识确定账户的账户标识符,并且通过网络向与账户相关联的金融机构发送包括与该账户相关联的账户标识符的金融服务交易。该方法还包括从金融机构接收对金融服务交易的响应,并且向发起方设备发送对交易请求的响应。
还公开了一种用于处理金融交易的系统。该系统包括处理器系统(即,一个或更多个电子处理器)和存储指令的存储器。当被执行时,指令使处理器系统执行上述第一方法。
在另一公开的实施方式中,公开了一种用于使金融机构账户和发起方账户关联的第二方法。该方法包括从用户设备接收用来使金融机构账户与发起方账户相关联的请求。该方法还包括生成包括关于金融机构账户的细节的关联消息,并且向支付网络发送该关联消息。该方法包括:接收关联响应;确定关联响应是否包括与金融账户相关联的密钥,并且如果是这样的话,则存储所接收到的密钥用于发起交易请求并且向用户设备发送账户是关联的指示。
还公开了一种用于使金融机构账户和发起方账户关联的系统。该系统包括处理器系统(即,一个或更多个电子资金交易处理器)和存储指令的存储器。当被执行时,指令使处理器系统执行上述方法。
在另一公开的实施方式中,公开了一种用于处理交易请求的第三方法。该方法包括从关联的设备接收交易请求。交易请求包括用来代表用户发起交易的请求和关于金融账户的信息。交易请求不包括与金融账户相关联的账号。该方法还包括递增与金融账户相关联的交易计数器、确定与金融账户相关联的密钥以及生成金融服务交易消息。金融服务交易消息包括密文。密文基于所确定的密钥、来自交易请求的信息和交易计数器。该方法还包括向支付网络发送金融服务交易消息以用于处理。
还公开了一种用于处理金融交易的系统。该系统包括处理器系统(即,一个或更多个电子资金交易处理器)和存储指令的存储器。当被执行时,指令使处理器系统执行上述第三方法。
在另一公开的实施方式中,公开了一种用于处理交易请求的第四方法。该方法包括从关联的设备接收交易请求。交易请求包括用来代表用户发起交易的请求和关于金融账户的信息。该方法还包括递增与金融账户相关联的交易计数器、确定与金融账户相关联的密钥以及生成金融服务交易消息。交易消息包括基于所确定的密钥、来自交易请求的信息和交易计数器所生成的密文。该方法还包括向支付网络发送金融服务交易消息。
还公开了一种用于处理金融交易的系统。该系统包括处理器系统(即,一个或更多个电子资金交易处理器)和存储指令的存储器。当被执行时,指令使处理器系统执行上述第四方法。
在另一公开的实施方式中,公开了一种用于处理交易请求的第五方法。该方法包括从发起方接收交易请求。交易请求包括密文而不包括金融机构账户的账号。该方法包括确定与金融机构账户相关联的密钥并且使用与金融机构账户相关联的密钥来验证密文。该方法还包括:确定金融机构账户的账户标识符;基于存储在密文中的信息和所确定的账户标识符来生成交易请求;向金融机构发送交易请求;以及接收响应。该方法还包括向发起方发送响应。
还公开了一种用于处理金融交易的系统。该系统包括处理器系统(即,一个或更多个电子资金交易处理器)和存储指令的存储器。当被执行时,指令使处理器系统执行上述第五方法。
与实施方式有关的另外方面将在接下来的描述中部分地阐述,并且部分地从描述中将是明显的,或者可以通过实施方式的实践习得。附图例示了各种实施方式并且连同本描述一起用来说明实施方式的原理,附图被并入且构成本说明书的一部分。应当理解,前面的一般描述和以下的详细描述均为仅示例性的和说明性的,而不对如所要求保护的本发明构成限制。
附图说明
图1例示了用于实现本公开内容的实施方式的设备的示例网络。
图2例示了与所公开的实施方式一致的支付网络的实施方式。
图3例示了与所公开的实施方式一致的用于在支付网络处理交易请求的示例过程。
图4A例示了与所公开的实施方式一致的用于初始化用于交易起源点(TOP)与支付网络相结合地操作所必需的密钥的示例过程。
图4B例示了与所公开的实施方式一致的用于使金融机构账户与发起方用户账户相关联的示例过程。
图4C例示了用于利用发起用户使金融机构账户与用户账户相关联的示例可选过程。
图4D例示了与所公开的实施方式一致的用于使用TOP来处理交易的示例过程。
图5例示了用于实现所公开的实施方式的示例计算机系统。
具体实施方式
现将详细地参照本公开内容的实施方式,其示例在附图中被例示。只要有可能,相同的附图标记将在所有图中用来指代相同的或同样的部分。
本公开内容的实施方式例如使得能够使用支付网络处理金融交易。例如,支付网络可以从诸如商人或银行的发起方接收交易。交易可以包括与发起用户或金融机构账户的标识相关联的信息。然而,交易未必包含与金融机构账户相关联的账号。使用标识信息,支付网络能够确定账户标识符,并且生成和向金融机构发送金融服务交易请求。支付网络然后能够从金融机构接收对金融服务交易请求的响应,并且能够向发起方往回发送响应。在此对其它实施方式和变化进行说明。
图1例示了用于实现本公开内容的实施方式的特定网络的示例。图1所例示的网络包括表示发起用户101、发起方102、处理器103、支付网络105、数据库105A、接收方处理器106、接收方107、客户信息文件(CIF)107A、外部接收方处理器108、外部接收方109和CIF109A的块。图1中所例示的各个块可以使用软件、硬件、固件或其组合来实现。
发起用户101表示想要使用发起方102发起交易的用户。发起用户101在一些实施方式中使用可以存储和执行交易起源应用的设备,诸如手机或计算机。该应用使得发起用户101能够引起交易,诸如在线购买、账单支付等。交易起源应用还使得能够发送与发起用户101发起这样的交易相关联的凭证。发起用户101在其它实施方式中表示向发起方102提供支付设备或令牌(例如用户名或其它标识符)以便于实现交易的客户。
发起方102表示代表发起用户101发起金融服务交易请求的实体。金融服务交易请求能够采取许多形式。在一些实施方式中,请求能够包括余额请求(对账户中的当前余额的请求)、支票授权请求(以确定账户对于由支票所进行的购买是否有充足资金)、账户资金请求(以请求使用当前账户为新的账户提供资金)、账户验证或健康请求(以确定关于由发起用户101所提供的金融机构账户的信息是否是有效的、开放的、在托收中、信誉良好等)、国际汇款资金请求、账单支付资金请求、人对人(P2P)资金转移请求、提款请求、购买请求、退款请求、各种贷方请求(贷款收益、保险收益等)、交易撤销/调整请求等。
发起方102可以是金融机构、电子资金转移(EFT)网络、商人或商人处理器、汇款平台、支付服务、移动钱包提供方、移动预支付汇款服务等中的任一个。金融机构包括例如银行、储蓄银行、信用合作社、经济公司或共同资金提供方。金融机构能够例如代表发起用户101或其它实体处理交易或在金融机构处的账户和/或在金融机构外的账户之间转移金钱。不像支付网络,金融机构例如通过在账户上维护存款和取款的记录并且在账户上维护余额的记录来代表用户管理账户。
商人包括例如传统商人、在线或电子商人或为服务给用户开账单的服务提供方,诸如无线电话载体、公用事业公司、保险提供方或当地、国家或联邦政府实体。在一些实施方式中,商人被装配成亲自发起金融服务交易。然而,在其它实施方式中,商人可以将商人处理器用于那个目的。商人处理器从商人接收金融交易细节并且代表商人生成对应的金融服务交易。换句话说,商人可以向商人处理器传送金融交易细节,并且商人处理器可以创建金融服务交易以用于发送到支付网络。
EFT网络包括银行间网络和其它电子资金转移网络,其使得能够在不同的银行之间转移资金。EFT网络在一些实施方式中使用批量自动化清算所(ACH)交易转移金钱。
汇款平台包括用于从人到人发送金钱的系统。作为已知汇款平台的一个示例,西方联盟系统使得一个人能够将金钱存入系统并且使得另一用户能够在该系统内的另一位置处取钱。普通技术人员应当理解,其它类型的汇款平台也是可能的。
移动钱包提供方包括使得发起用户101能够利用移动设备来向商人发送账户细节(诸如路由转接号(RTN)和账号或账户的别名信息)的系统。在一些实施方式中,移动钱包提供方向发起用户101提供使得发起用户101能够与商人或发起方发起交易的移动应用。
发起方102从发起用户101接收请求金融交易发生的指令。发起方102生成并且向另一设备或实体发送金融服务交易,请求包括与由发起用户101所请求的金融服务交易相关联的信息。作为一个示例,发起方102(例如,第一金融机构)可以从持卡人接收用来向在第二金融机构的账户发送金钱的指令。发起方102生成金融服务交易并且向处理器103发送它。
发起方102可以从发起用户101接收凭证以发起金融服务交易。来自发起用户101的凭证包括用来识别发起用户101的一个或更多个形式的信息。凭证能够包括物理令牌(诸如电子设备或类似支付卡的机制)、发起用户101知道的信息(诸如社会安全号、用户名、电子邮件地址、出生日期、密码或PIN等)、发起用户101具有的信息(诸如动态地生成的字符的字符串)等。
在一些实施方式中,发起方102表示发起用户101提前联系以便于注册为用户的实体。发起用户101可以提供诸如与在金融机构的存款账户相关联的信息的凭证信息或诸如名字、地址、社会安全号或出生日期的识别信息,以便于向发起方102注册。这个注册过程可以包括发起用户101为发起用户101与发起方102之间的关系建立新的凭证信息(诸如具体地为与发起方102发起交易所建立的用户ID和密码)。之后,当从发起用户101接收到用于金融交易的指令时,发起用户101能够向发起方102提供那些凭证,发起方102能够在数据库中执行查找以确定处理指令所必需的信息,并且发起方102然后可以确定如何发起相应的金融服务交易,并且可以生成与交易对应的金融服务交易请求。
在一些实施方式中,发起方102可以是“赞助实体”。赞助实体是不为金融机构而是由与支付网络105有关系的金融机构“赞助”的实体。“赞助”赞助实体的金融机构假定赞助实体的动作或无行动的所有责任,包括由赞助实体所发起的所有支付网络交易。赞助实体的示例将是商人。与交易相关联的资金的结算责任将由赞助该商人的金融机构假定。
在一个操作模式“本机模式”下,发起方102创建遵照已知标准(例如,ISO 8583标准)的金融服务交易请求。ISO 8583是用于交换由持卡人使用支付卡所进行的电子交易的系统的标准通信格式。在典型的ISO 8583消息中,主账号(PAN)(诸如例如与用户正用来为购买而付钱的账户对应的卡号)被包括在称为“PAN字段”的字段中。在一些实施方式中,这个PAN字段可以在长度上从13个数字到19个数字变化。在一些实施方式中,支付卡和支付号不由发起方102用于处理金融服务交易中。在这些实施方式中,发起方102生成遵照ISO8583标准但是不将支付卡号包括在PAN字段中的金融服务交易请求。在本机模式下,金融服务交易请求将供替换的信息包括在PAN字段中。这个信息被称为“RTA”(“路由转接和账号”;也被称为“账户路由号”(ARN)或“构造的PAN”)。RTA包括如下的值(例如,‘59’),即,该值指示在该值之后的数字应该被解释为账户信息而不是卡号。RTA还包括识别至少一个持卡人的账户的账户信息。RTA可以被存储在金融服务交易请求中为:
5 |
9 |
x |
x |
x |
x |
x |
x |
x |
x |
x |
y |
y |
y |
y |
y |
y |
y |
y |
上述表中的各个‘x’符号化与管理或维护发起用户101的账户的金融机构相关联的路由转接号(“RTN”,也被称为“美国银行协会号”或“ABA号”)中的数字。表中的各个‘y’指示与发起用户101相关联的账户的数字。在一些实施方式中,全账号被包括在RTA中,然而在其它实施方式中仅账号的一部分(诸如账号的最右边的八个数字)存储在字符串中,其中账号的剩余数字或账号它本身包括在金融服务交易内的另一字段中。RTA的长度和组成可以在一些实施方式中变化。
如果发起用户101通过发起方102发起金融服务交易以为购买而付钱,则RTA中的‘x’数字可以包括与发起用户101的账户相关联的路由号,并且RTA中的‘y’数字可以包括与发起用户101的账户相关联的账号中的至少一些。
在第二模式“交叉引用”或“X-REF”下,发起方102生成包括与金融机构账户相关联的识别信息的金融服务交易请求。然而,RTN和账号均不包括在金融服务交易请求中。相反地,可以以账户访问令牌(AAT)的形式包括识别信息。AAT使得能实现用户在金融机构的账户的唯一标识但是不直接地包括该账户的账户信息。而是,AAT包括诸如用户名的识别信息、个人识别信息(例如,社会安全号、名字、地址、电子邮件地址、电话号码、登录ID)、代用账号(例如,类似有效账号但不是账户的实际账号的号码)等。可以由各种实体代表发起用户101生成AAT。例如,在一些实施方式中,AAT由发起方102、支付网络105、接收方107或外部接收方109生成。在其它实施方式中,AAT由诸如中央银行或货币管理局(例如,美国联邦储备局或欧洲中央银行)的另一实体生成。在其它实施方式中,AAT由通过支付网络105授权来生成AAT的一方(“当局方”)生成。
在一些实施方式中,金融服务交易请求可以以XML格式生成,或遵照像ISO20022或ISO 8583这样的标准。由发起方102所生成的金融服务交易请求包括一个或更多个类型的交易。虽然在此提供了一些示例,但是技术人员应当理解,其它类型的金融服务交易能够由发起方102生成。
作为第一示例,由发起方102所生成的金融服务交易请求指示对由发起用户101所引用的账户的当前余额的请求。如果发起方102是商人,则发起用户101可以试图利用支票为购买而付钱。发起方102可以生成确定它是否应该承兑支票的请求。交易请求可以包括发起用户101已书写并且提供给发起方102以用于支付的支票的金额和与账户相关联的标识符。发起方102可以接收关于支票是否将及时基于在那个时刻可用的资金清算的响应,并且能够拒绝或批准来自发起用户101的交易。
作为第二示例,由发起方102所生成的金融服务交易请求指示用来验证特定账户的所有权或存在的请求。在这个示例中发起用户101可以试图使在发起方102的账户和由发起用户101所拥有的金融机构账户(例如,银行账户)关联。发起用户101可以向发起方102提供金融机构账户细节(例如,账号)以便于建立发起方账户。发起方102可以生成用来验证金融机构账户的存在和/或所有权的请求。交易请求可以包括与金融机构账户相关联的实体。发起方102然后可以接收确认或否认金融机构账户存在和/或实际上由发起用户101拥有的响应。如果被确认,则这使得发起用户101能够使用在发起方102的账户发起交易。
作为第三示例,由发起方102所生成的金融服务交易请求指示用来向由发起用户101所引用的账户发送信用的请求。如果发起方102是汇款平台(例如,用于从一个人向另一人发送金钱的平台),则发起用户101可以请求特定数量的金钱存入所引用的账户或经由另一支付方法给第二用户提供。发起用户101可以将目的地账户的细节给予给发起方102,所述细节诸如RTN和账号、与第二用户相关联的用户名或地址或与目的地账户或其所有者相关联的其它信息。发起方102可以生成用来为由发起用户101所引用的账户提供信贷或给第二用户提供所请求的资金的请求。交易请求可以包括账户的身份和发起用户101希望将为账户提供信贷的金额。发起方102然后可以接收指示信贷是否是成功的响应。
作为第四示例,由发起方102所生成的金融服务交易请求指示将来自由发起用户101所引用的账户的资金记入借方的请求。在这个示例中发起用户101可以试图通过提供账户信息来支付由发起方102所发出的账单。发起用户101可以将源账户的细节给予给发起方102,所述细节诸如RTN和/或账号。发起方102可以生成记入由发起用户101所引用的借方账户的请求。交易请求可以包括账户的身份和发起用户101希望记入借方账户的金额。发起方102然后可以接收指示借记是否是成功的响应。
作为第五示例,由发起方102所生成的金融服务交易请求包括异常请求。在一些实施方式中,发起方102能够在确定在从支付网络105接收到的结算金额和发起方102相信它应该已接收到的金额之间存在偏差时生成异常请求。例如,发起方102能够发起调整异常请求(用来基于在该交易的结算日期的十个日历天内与特定交易相关联的误差来校正发起方102的金融状况的请求)、再提款异常请求(由接收方107所发起的拒付的争端)、诚信调整请求(用来基于与例如在交易的结算日期之后超过45天的特定交易相关联的误差来校正发起方102的余额的请求)、后调整异常请求(用来基于与例如在交易的结算日期之后超过10天但在45天内的特定交易相关联的误差来校正发起方102的余额的请求)等。
发起方102还可以与一个或更多个交易发起方点(TOP)相关联。TOP使得发起用户101能够向发起方102发送关于由发起用户101所拥有的账户的信息并且使用发起方102实现交易。所以,例如,如果发起方102提供移动钱包用于由用户使用,则所关联的TOP可能是接收到为在移动设备上的购买而付钱的指令的钱包提供方应用。作为另一示例,如果发起方102是无线服务提供方,所关联的TOP可能是账单支付网站或在网站上实现的账单支付应用。作为另一示例,如果发起方102是金融机构,则所关联的TOP可能是分支内账户访问终端(例如自动柜员机或ATM)或资金转移网站。此外,在一些实施方式中,在发起方102的发起方账户可以通过与发起方102相关联的TOP来访问(并且然后可以被称为“TOP用户账户”)。
在一些实施方式中,发起方102还可以存储与由发起用户101所引用的账户相关联的支付手段密钥(PIK)。在一些实施方式中,PIK可以由支付网络105或另一实体使用与发起方102相关联的密钥和与接收方107相关联的密钥来生成。发起方102能够在代表发起用户101生成金融服务交易请求时利用PIK。
处理器103可以被编程为从发起方102接收金融服务交易。处理器103可以作为具体地编程为接收金融服务交易请求、确定用于转发交易请求的适当支付网络并且向所确定的支付网络转发交易请求的设备被实现。处理器103可以代表发起方102接收结算请求,将去往和从支付网络接收到的消息重新格式化为能够由发起方102以其格式处理的消息,代表发起方102维护数据库(例如包含关于用户和/或关联的账户的数据),代表发起方102处理异常项等。在一些实施方式中,处理器103和发起方102可以与彼此和/或与支付网络105有契约关系。
在一些实施方式中,支付网络105是银行间网络,其使得各种设备(诸如自动柜员机(ATM)、移动钱包提供方、销售点(POS)设备、商人、TOP等)能够与彼此进行通信并且能够访问金融机构账户。支付网络105在范围上可以是例如地方的、国家的或国际的。支付网络105在一些实施方式中向接收方处理器106或接收方107发送金融服务交易以请求账户所有权、余额信息或与金融交易相关联的资金的持有、记入或转移及其相应的账户持有人的验证。
在一些实施方式中,支付网络105执行结算过程作为处理金融服务交易的一部分。在一些实施方式中,当支付网络105接收到交易请求时,支付网络105计算需要在各方之间转移的金额并且将“结算”那些金额的净额。作为示例,如果发起用户101发起向第二用户支付$100.00的交易而第二用户发起向发起用户101支付$80.00的交易,则支付网络105将组合两个交易金额以确定净额结算金额,该净额结算金额表示必须记入借方和记入贷方给代表各个用户的金融机构的金钱的金额。在这个示例中,各个金融机构将各个单独交易的全金额(即示例$100.00和$80.00)作为借记提供(或“记入”)到各个用户的相应账户,并且支付网络105将向一个金融机构发起$20.00的借方条目而向另一个金融机构发起$20.00的贷方条目以实现两方之间的适当的净额结算。支付网络105通过准备自动化清算所(ACH)文件来使资金在各方之间移动,所述自动化清算所(ACH)文件通过与支付网络105相关联的ACH银行向各个用户的相应金融机构、发行人处理器、商人/商人处理器、EFT网络、汇款平台等发起。这些ACH文件反映了待在交易流程中涉及的各方之间结算的净额结算金额。各个用户的金额余额作为批准的在线交易请求的结果被记入借方或记入贷方。在一些实施方式中,在这样的ACH文件里的结算条目在特定时间段(诸如例如,在一天的当地时间3:30PM与下一天的3:30PM之间的24小时时段)结束时创建。
在一些实施方式中,支付网络105执行转换过程以用于将金融服务交易请求路由到金融机构或其它接收方。基于在接收到的金融服务交易请求中的信息,支付网络105能够确定是否需要附加的或另选的信息来路由该请求。例如,如果金融服务交易请求包括与发起用户101相关联的AAT(账户访问令牌),并且交易请求指示“X-REF模式”的使用,则支付网络105可以使用数据库105A来基于金融服务交易请求中的AAT而确定与发起用户101相关联的RTN和账号。支付网络105还能够使用数据库105A来确定不包含账号但是与在金融服务请求中所引用的账户相关联的账户标识符。
如果所接收到的金融服务交易包括RTN和账号并且指示“本机模式”的使用,则支付网络105可以使用数据库105A来确定所接收到的RTN和账号是否与另选的RTN或账号相关联。支付网络105还可以确定金融服务交易请求在X-REF模式下未被生成而且它也不需要另选的RTN或账号,并且可以假设所接收到的RTN和账号是与发起用户101的账户相关联的实际号码。在这样的情形下,支付网络105能够将金融服务交易请求路由到另一支付网络(未图示)以用于处理。
支付网络105在一些实施方式中还生成用于处理金融服务交易请求的密钥。例如,支付网络105可以生成与发起方102或关联的交易起源点(TOP)对应的服务提供方主密钥(SPMK),可以利用SPMK来生成与金融机构(诸如接收方107)相关联的参与者认证密钥(PAK),并且可以利用PAK来生成与在金融账户的账户(诸如由发起用户101所拥有的账户)相关联的支付手段密钥(PIK)。在一些实施方式中,支付网络105可以包括硬件安全模块(HSM)以生成和存储这些密钥。HSM可以用硬件、软件、固件或其组合加以实现。
接收方处理器106是从支付网络105接收金融交易请求的实体。在一些实施方式中,接收方处理器可以作为编程为向接收方107转发金融服务交易的支付网关或电子资金转移网络被实现。接收方处理器106接收金融服务交易,确定适当的接收方(诸如持有账户信息的金融机构或实体、等),并且向该接收方发送金融交易请求。在一些实施方式中,接收方处理器106使得能够与和用于在线交易处理服务的接收方处理器106有契约的金融机构或其它账户持有人公司进行通信。
接收方107表示接收金融服务交易请求的实体。在一些实施方式中,接收方107是金融机构。金融机构例如包括银行、储蓄银行、信用合作社、经济公司或共同资金提供方。金融机构能够例如处理交易或在金融机构处的账户和/或在金融机构外的账户之间转移金钱。不像支付网络,金融机构例如通过在账户上维护存款和取款的记录并且在账户上维护余额的记录来代表用户管理账户。
在一些实施方式中,接收方107从支付网络105直接地接收金融服务交易请求。在其它实施方式中,接收方107从接收方处理器106接收金融服务交易请求,所述接收方处理器106从支付网络105接收它们。
在一些实施方式中,接收方107发起包括异常请求的金融服务交易请求。例如,接收方107能够生成和发送包括拒付异常请求(指示与借方或贷方对应的金融服务交易请求是弄错了的,并且应该整个地或部分地撤销或偿还)或拒付撤销异常请求(指示由发起方最初发起的拒付异常请求是弄错了的并且应该被撤销)的金融服务交易请求。
客户信息文件(CIF)107A例如包含关于由接收方107所持有的账户的信息。(如果账户和/或其资金由接收方107维护,则账户由接收方107“持有”)。CIF 107A包括诸如名字、地址、邮政编码、出生日期、社会安全号/纳税人标识号、电话号码、电子邮件地址、工作场所地址、驾照号码、令牌信息、用户名/密码等的账户所有者信息。在由诸如发起方102的实体请求时,接收方107使用CIF 107A来对由接收方107所持有的账户的所有权进行验证/认证。
外部接收方109表示位于与支付网络105所位于的国家不同的国家中。外部接收方109直接地或通过其外部接收方处理器108与支付网络105进行通信。支付网络105可以使得国际金融服务交易请求被处理(例如,对从发起用户101到在外部接收方109的账户的借记的请求)。可以位于除支付网络105的国家以外的国家里的外部接收方处理器108可以代表外部接收方109接收金融服务交易请求并且向外部接收方109转发它们以用于处理。外部接收方处理器108还可以表示向接受者直接地支付汇款而不是向外部接收方109转发请求的公司。
图2例示了与所公开的实施方式一致的支付网络105的实施方式。支付网络105包括交换机201、门户网站202、结算引擎203和集成引擎204。图2中所例示的各个块可以使用软件、硬件、固件或其组合来实现。
交换机201从例如发起方和处理器接收金融服务交易。可以使用软件、硬件、固件或其组合实现交换机201。在一些实施方式中,交换机201确定关于金融服务交易的信息,诸如例如金融服务交易的模式(例如,X-REF或本机模式)和应该基于该信息将请求路由到哪里。交换机201还可以向门户网站202、结算引擎203和集成引擎204中的任一个发送信息,并且从门户网站202、结算引擎203和集成引擎204中的任一个接收信息。交换机201还可以接收源自于诸如自动柜员机(ATM)或POS设备之类的设备的交易,与其它支付网络进行通信(例如,以用于转发金融服务交易或接收转发的金融服务交易)等。在一些实施方式中,可以在容错、自愈平台上使用电子资金转移支付软件实现交换机201。例如,可以使用在HPNONSTOP平台上实现的FIS CONNEX软件实现交换机201。
门户网站202是用于发起方、处理器、接收方处理器、接收方、外部接收方处理器或接收方的接入点,以发起和接收异常请求,检索由支付网络105所发送的文件,或访问由支付网络105所发布的支持性文档。门户网站202使得发起方和接收方能够检索关于使用支付网络105所进行的活动的报告。例如,发起方和接收方能够检索日常结算报告、异常交易报告和费用发票。发起方、接收方和处理器还能够查看交易历史,发送负面文件(指示例如应该被阻止通过支付网络105接收或发送通信的特定用户)等。可以使用软件、硬件、固件或其组合实现门户网站202。
结算引擎203使得交换机201能够结算从发起方和处理器接收到的交易请求。在一些实施方式中,结算引擎203执行周期性结算过程,其中结算引擎203基于批准的交易来计算需要在各方之间转移的净金额,并且生成具有与需要资金在结算账户之间移动的净金额对应的条目的ACH文件。结算引擎203然后生成ACH文件和有关报告。ACH文件被发送给与支付网络105相关联的ACH银行以得到结算。有关报告被做出可用于检索并且发送给适当的方或通过门户网站202成为可用的。
在一些实施方式中,结算引擎203在每日基础上对于在特定24小时时段期间所接收到的所有交易请求执行这样的结算过程。例如,在每天的东方标准时间3:30PM,结算引擎203可以对于当天自东方标准时间3:30PM以来之前所接收到的需要资金移动(包括异常交易)的所有交易请求执行结算过程。结算引擎203然后可以生成指示结算过程的净结果的ACH条目文件。
结算引擎203可以从交换机201接收交易消息。可以实时地、整天以批量方式周期性地或在24小时时段结束时接收这些交易消息。结算引擎203还可以对那些交易消息执行完整性检查并且准备与计算的“净额结算”值对应的ACH文件。净额结算意味着对于一个结算账户中的每个借方条目,在至少一个其它结算账户中存在对应的贷方条目。
可以使用软件、硬件、固件或其组合实现结算引擎203。在一些实施方式中,可以在主机平台上使用电子资金转移结算软件实现结算引擎203。例如,可以使用在IBM平台上实现的FIS CONNEX软件实现结算引擎203。
集成引擎204可以是用于集成和聚合来自各种源的信息的系统(诸如设备或软件)。集成引擎204可以使得交换机201能够与未必作为支付网络105的一部分实现的各种其它服务进行通信。例如,集成引擎204可以给通信提供欺诈和符合系统、第三方支付提供方、银行出纳系统、人对人支付系统等。集成引擎204可以使得能实现第三方应用、发布服务和支付网络105的互连性。集成引擎204还可以被编程为使得能实现与处理来自这些源、第三方应用和支付网络105的数据有关的审计、记录、监视、路由和安全过程。可以使用软件、硬件、固件或其组合实现集成引擎204。
图3例示了与所公开的实施方式一致的用于处理金融服务交易的示例过程300。过程300在步骤301处开始,其中发起方102从发起用户101接收交易请求。例如,发起方102能够从发起用户101接收用来为商品或服务而付钱的交易请求。发起用户101能够引用账户以用于交易。在一些实施方式中,发起用户101可以提供与账户相关联的RTN和账号、与用户/账户相关联的AAT(账户访问令牌)等。
发起方102可以生成包括由用户所提供的信息的金融服务交易请求。金融服务交易请求还可以包括关于金融服务交易请求的目的的信息。例如,交易请求能够包括以下各项中的任一个:对由发起用户101所拥有的账户的当前余额的请求、用来验证由发起用户101所引用的账户的所有权的请求、用来将资金存入由发起用户101所引用的账户的请求、用来撤销由发起用户101所引用的账户中的资金的请求等。
在步骤302中,发起方102向支付网络105发送所生成的金融服务交易请求。在一些实施方式中,发起方102向处理器(诸如图1中的处理器103)发送请求以用于转发到支付网络105,但是在其它实施方式中发起方102直接地向支付网络105发送请求。
在步骤303中,支付网络105确定金融服务交易请求是否使用X-REF模式或使用本机模式生成。支付网络105基于包含在金融服务交易请求中的信息进行这个确定。例如,如果请求包含RTN号、银行账号、银行账号的一部分、卡类号码或指示金融服务交易请求在本机模式下生成的其它号码,则支付网络105能够确定请求使用本机模式生成,并且能够继续到步骤304以用于进一步处理请求。否则,如果支付网络105确定金融服务交易请求包括AAT(账户访问令牌),诸如用户名、个人识别信息(例如,社会安全号、名字、地址、电子邮件地址、电话号码等)、代用账号(例如,类似有效账号但不是账户的实际账号的账号)等,则支付网络105能够确定请求使用X-REF模式生成,并且能够继续到步骤309以用于进一步处理交易。
如果支付网络105确定请求使用本机模式生成,则在步骤304中,支付网络105确定金融服务交易请求是否包括具有特定指示符值的RTA(路由转接和账号)。指示符值在一些实施方式中可以存储在请求内的PAN字段的开始处。在一些实施方式中,可以选择指示符值以便可与和支付卡相关联的初始值区分开,以避免与支付卡交易冲突。例如,VISA卡在它们的卡号的开始具有‘4’而美国运通(AMERICAN EXPRESS)卡在它们的卡号的开始具有‘3’。能够选择指示符值以避免与其它卡提供方冲突。在一些实施方式中,指示符值是‘59’。
如果所接收到的金融服务交易请求不包括具有指示符值的RTA,则过程300可以继续到步骤305,其中支付网络105向电子资金转移(EFT)或其它支付网络转发金融交易请求以用于转发到最终目的地(例如,接收方107)。然而,如果在步骤304中支付网络105确定金融交易请求中的RTA包括指示符值,则过程300继续到步骤306。
在步骤306中,支付网络105基于在金融服务交易请求中所接收到的信息来确定适当的金融机构。存在用来确定适当的金融机构的多个方式。例如,支付网络105可以基于包括在金融服务交易请求中的RTN来确定金融机构。作为另一示例,支付网络105可以查阅数据库(诸如图1中的数据库105A)以确定与请求中的数据对应的代用RTN。在支付网络105确定适当的RTN后,过程300继续到步骤307。
在步骤307中,支付网络105基于在金融服务交易请求中所接收到的信息来确定与发起用户相关联的账号。存在用来确定适当的账号的多个方式。例如,支付网络105可以确定整个账号被包含在请求中。作为另一示例,金融服务交易请求可以仅包括账号的一部分,诸如最左边的八个数字。在那种情况下,支付网络105可以查阅数据库(诸如图1中的数据库105A)以确定账号的剩余数字。作为另一示例,包含在请求中的账号可以包括非现存账号和/或实际账号的替代。在那些情形下,支付网络105可以查阅数据库105A以确定代用账号。
在一些实施方式中,步骤307表示支付网络105确定与ARN和账户相关联的账户标识符。在一些实施方式中,这个账户标识符不包含与账户相关联的账号。管理账户的接收方存储账户标识符与和账户相关联的实际账号之间的对应(例如与彼此相关联地存储在数据库中)。
在支付网络105确定适当的账号或账户标识符后,过程300进行到步骤308。在步骤308中,支付网络105生成新的金融服务交易请求。这个请求包括来自所接收到的金融服务交易请求和任何确定的代用RTN、账号或账户标识符的信息。支付网络105向与所确定的RTN相关联的接收方/接收方处理器发送所生成的金融服务交易请求。
如果在步骤303中,支付网络105确定金融服务交易请求使用X-REF模式生成,则过程300继续到步骤309。在步骤309中,支付网络105查阅转换文件以确定与金融服务交易相关联的账户信息。在X-REF模式下,金融服务交易请求包括与账号和/或RTN相关联的识别信息。然而,RTN和账号均不包括在金融服务交易中。替代地,识别信息可以形式为AAT(账户访问令牌)。AAT在没有由金融机构所关联的账号的情况下使得能够识别用户在金融机构的账户。AAT包括诸如用户名、个人识别信息(例如,社会安全号、名称、地址、电子邮件地址、电话号码等)等的识别信息。
支付网络105可以查阅转换文件以确定与金融服务交易中的AAT相关联的RTN和账号对。在一些实施方式中,转换文件可以被存储在可由支付网络105访问的数据库(诸如图1中的数据库105A)中。
在一些实施方式中,步骤309表示支付网络105确定与AAT和账户相关联的账户标识符。在一些实施方式中,这个账户标识符不包含与账户相关联的账号。管理账户的接收方存储账户标识符与和账户相关联的实际账号之间的对应(例如与彼此相关联地存储在数据库中)。
过程300然后可以进行到步骤310。在步骤310中,支付网络105生成金融服务交易。这个交易可以包括来自所接收到的金融服务交易的信息以及所确定的RTN和账号或确定的账户标识符。支付网络105然后向所确定的接收方发送所生成的金融服务交易。
不管在步骤302中所接收到的金融服务交易请求中的信息,在步骤S311中,支付网络105从接收方接收在步骤305、308或310之一中所确定的响应。响应可以包括涉及金融服务交易请求的信息并且可以表示来自涉及在请求中所引用的账户的接收方处理器、接收方、外部接收方或外部接收方处理器的“应答”。
响应包括关于账户的一个或更多个指示。各类型的可能指示可以包括:可用余额小于(或超过)交易请求中的金额的指示;总账余额小于(或超过)交易请求中的金额(总账余额与可用余额相差账户上的任何待决借记或贷款)的指示;实际当前总账或可用余额的指示;账户的健康的指示(例如,账户是否是开放的和/或信誉良好);账户已开放持续有多久的指示;与账户相关联的任何负面历史的指示;平均余额范围;由发起用户所提供的身份/帐户所有权信息的验证的指示;指示开账户的账号所有者的名字、地址或日期的数据;或关于所有者或账户的其它信息。
图4A例示了与所公开的实施方式一致的用于初始化用于交易起源点(TOP)402与支付网络105相结合地操作所必需的密钥的示例过程400。TOP 402表示出于处理由用户使用支付网络105所发起的交易的目的发起方(诸如图1中的发起方102)通过其接收关于用户的数据的设备或机制。
每个发起方可以具有用于处理由用户所发起的交易的与其相关联的TOP 402中的一个或更多个。所以,例如,如果发起方提供移动钱包以用于由用户使用,则TOP402可以是接收用来为购买而付钱的指令的钱包提供方系统。作为另一示例,如果发起方是无线服务提供方,则TOP 402可以是账单支付网站或移动账单支付应用。作为另一示例,如果发起方是金融机构,则TOP 402可以是出纳台、网亭、分支内账户访问终端(例如自动柜员机或ATM)或资金转移网站。
过程400使得TOP 402能够以安全方式与支付网络105建立认证关系。这个关系使得诸如用户、商人、汇款平台、EFT网络或金融机构之类的与TOP 402相关联的那些能够使用TOP 402安全地发起与支付网络105的金融交易。在步骤401中,TOP 402向支付网络105发送用来请求TOP 402与支付网络105之间的认证连接的初始化的请求。
在一些实施方式中,在步骤401中所发送的请求还包括用来建立密钥交换密钥(KEK)以用于在TOP 402与支付网络105之间交换信息的请求。TOP 402和支付网络105能够实现用于建立KEK的过程。例如,TOP 42和支付网络105能够实现已知的迪菲-赫尔曼(Diffie-Hellman)密钥交换算法。然而,在所有实施方式中不需要用于生成KEK的系统的特定方法。
过程400然后进行到步骤403。在步骤403中,支付网络105生成服务提供方主密钥(SPMK)。TOP 402具有由支付网络105所生成的SPMK。在一些实施方式中,可以使用随机或伪随机数发生器或密钥生成算法来生成SPMK。另外,在一些实施方式中,没有两个TOP将具有相同的SPMK。然而,在其它实施方式中,与相同的发起方相关联的TOP能够共享SPMK。
在步骤403中,支付网络105还可以生成KEK。KEK可以被利用来在TOP 402与支付网络105之间安全地交换信息,并且可以使用随机或伪随机数发生器或密钥生成算法生成。支付网络105还可以生成令牌密钥(TK)。TK使得TOP 402能够对金融服务交易请求中的特定元素进行加密。在一些实施方式中,TK能够用来对针对其应该限制分发的数据元素(诸如账号、账户标识符、PAN或其它敏感信息)进行加密。
在步骤405中,支付网络105对所生成的SPMK进行加密并且将其存储在硬件安全模块(HSM)中。在一些实施方式中,HSM生成加密密钥和解密密钥,存储加密密钥和解密密钥及其它数据,使用存储的密钥对数据进行加密和解密,并且生成“主文件密钥”(MFK)以用于对其它加密和解密密钥进行加密。HSM可以用硬件、软件、固件或其组合加以实现。在一些实施方式中,支付网络105可以使用与HSM相关联的MFK对SPMK进行加密。在步骤405中,支付网络105还可以将所生成的KEK(或其一部分)和TK存储在HSM中。支付网络105还可以向TOP 402发送KEK和TK,所述TOP 402在步骤406中接收它。在一些实施方式中,TOP 402将KEK和TK存储在它自己的HSM中。
图4B例示了根据所公开的实施方式的用于使金融机构账户与TOP用户账户相关联的示例过程408。在步骤407中,发起用户101操作设备,诸如计算机或移动设备,以使金融机构账户(例如,存款账户)与TOP用户账户相关联。在步骤409中,TOP402从发起用户101接收用来使金融机构账户与TOP用户账户相关联的请求,并且生成账户认证请求消息以使金融机构账户与TOP用户账户相关联,以用于发送到支付网络105。请求包括关于金融机构账户的信息。这例如包括RTN和账号对、RTA、诸如卡类号码的主账号(PAN)、账户访问令牌(AAT)等。TOP 402然后向支付网络105转发账户认证请求消息。
支付网络105可以操作图4C中所例示的可选过程,其在使金融机构账户与TOP用户账户相关联时针对用户101和TOP 402使得能实现更高级别的安全性。(这个过程可以作为可选服务或针对额外费用提供给TOP 402。)如果支付网络105代表TOP402操作该可选过程,则过程继续到图4C中的步骤425。然而,如果支付网络不操作图4C中所例示的可选过程,则过程替代地继续到步骤411。
在步骤411中,支付网络105接受并且处理账户认证请求消息。支付网络105使用硬件安全模块(HSM)来生成参与者认证密钥(PAK)。可以通过将存储在HSM中并且与TOP 402相关联的服务提供方主密钥(SPMK)用作密钥对关于如下的金融机构的信息进行加密来生成PAK,即,该金融机构管理发起用户101,希望与TOP用户账户相关联。在一些实施方式中,使用SPMK加密的这个信息包括RTN、银行标识号(BIN)或与金融机构有关的其它标识符。在一些实施方式中,用来对PAK这个信息进行加密并且生成PAK这个信息的算法是Triple-DES(3DES)。
在步骤413中,支付网络105使用HSM来生成支付指令密钥(PIK)。在一些实施方式中,能够通过使用在步骤411中所生成的PAK作为密钥来生成关于金融机构账户的信息的键控密码散列(也被称为“消息认证码”或“MAC”)而生成PIK。例如,能够通过把与账户相关联的银行账号、与账户相关联的PAN或与账户相关联的其它标识符弄乱(hash)来生成PIK。
在步骤415中,支付网络105使用密钥交换密钥(KEK)对PIK进行加密。KEK在一些实施方式中在早期过程期间(例如,在图4A中所例示的过程期间)在TOP 402与支付网络105之间时一致。
在步骤417中,支付网络105生成包括经加密的PIK的响应,并且将它发送到TOP402。在步骤419中,TOP 402接收并且处理包括PIK的响应消息。TOP 402然后使用KEK对PIK进行解密,并且将PIK存储在由TOP 402所操作的硬件安全模块(HSM)中。在步骤421中,TOP402向发起用户101发送指示用来使金融机构账户与TOP用户账户相关联的请求被批准的消息。TOP 402然后能够利用PIK来代表发起用户101发起金融服务交易请求。
图4C例示了用于使金融机构账户与发起用户101的用户账户相关联的示例可选过程424。如上面所说明的,如果支付网络105将图4C中的过程作为可选服务提供给TOP 402,则过程将在图4B中的步骤409之后继续。步骤425从图4B中的步骤409继续,在这期间TOP402接收用来使金融机构账户(例如,存款账户)与TOP(交易起源点)用户账户相关联的命令。作为响应,TOP 402生成请求并且向发起用户101发送请求。该请求包括针对既为发起用户101且为金融机构413所知的特定条信息(被称为“片段”)的提示。从发起用户101请求的示例片段包括账户中的当前余额、与发起用户101相关联的社会安全号/纳税人标识号的特定数字(诸如最后五个数字)、来自与账户相关联的支付卡的背面的卡验证值(CVV)、与发起用户101相关联的电话号码的特定数字(诸如在区域代码之后的前三个数字)、发起用户101与金融机构413之间的共享秘密(诸如密码)等。
在步骤427中,发起用户101接收片段请求并且在设备上输入片段以用于发送到TOP 402。在一些实施方式中,在步骤427中所发送的响应以明文形式发送到TOP 402。然而,在其它实施方式中,发起用户101在生成响应并且向TOP 402发送响应之前对信息进行加密、把信息弄乱或以其它方式使信息模糊。
在步骤429中,TOP 402接收响应,并且将所接收到的片段(以明文、散列、加密或其它形式)连同用来验证片段的请求一起插入在图4B的步骤409中所生成的认证请求消息。在一些实施方式中,认证请求消息包括利用所接收到的片段填充的数据元素。各个片段标记有指示它代表什么的“标签”。
例如,数据元素可以包括指示数据元素包括与发起用户101对应的片段的标签、数据元素的长度以及多个信息子集,各个子集对应于从用户101接收到的不同片段。各个子集(以明文或模糊形式)包括指示信息表示什么的子标签、片段的长度和与片段对应的值。所以,如果数据元素包括5个片段,则数据元素能够表示为:
Tag |
Len |
ST |
L |
V |
ST |
L |
V |
ST |
L |
V |
ST |
L |
V |
ST |
L |
V |
其中“Tag”指示数据元素包括与发起用户101对应的片段,“Len”表示数据元素的长度,各个“ST”指示片段表示的信息的类型,各个“L”表示片段的长度,并且各个“V”表示片段它本身。这个特定布局仅作为说明性示例被提供。
TOP 402然后向支付网络105发送认证请求消息。在一些实施方式中,认证请求消息以明文形式发送到支付网络105。然而,在其它实施方式中,TOP 402在向支付网络105发送认证请求消息中的信息之前对它进行加密、把它弄乱或以其它方式使它模糊。
在步骤431中,支付网络105接收认证请求消息,并且生成账户标识请求消息。账户标识请求消息包括从TOP 402接收到的数据,包括数据元素和对应的片段。这个账户标识请求消息被发送到金融机构413。
在步骤433中,金融机构413通过将它与在与金融机构413相关联的数据库中的信息相比较来验证账户标识请求消息中的信息。例如,金融机构413能够将接收到的信息与图1中的CIF(“客户信息文件”)(诸如CIF 107A)中的信息相比较。如果来自发起用户101的数据元素中的片段是明文的,则金融机构413将来自TOP 402的数据元素与存储在CIF中的信息相比较。
然而,如果数据元素中的片段具有模糊形式,诸如散列格式、加密格式等,则金融机构413确定数据元素中的子标签,从CIF收集与那些子标签对应的数据,并且以所收集到的数据被发起用户101或TOP 402(例如,通过加密或散列)模糊的相同方式使该数据模糊。然后金融机构413比较经模糊的片段以确定它们是否是相同的。
不管比较的类型,在步骤435中,金融机构413生成指示从发起用户101接收到的哪些片段和CIF中的数据匹配的响应。例如,如果从发起用户101接收到的第一、第三和第四片段和CIF中的数据匹配但是从发起用户101接收到的第二和第五片段和CIF中的数据不匹配,则金融机构413能够生成指示片段中的仅一些匹配的响应。在一些实施方式中,所对应的响应能够作为指示哪些片段和CIF中的信息匹配了的位图被实现。
金融机构413生成账户验证响应消息,包括所生成的指示匹配片段的数目的响应,并且向支付网络105发送它。在步骤437中,支付网络105从金融机构413接收响应消息,并且回到图4B进行到步骤410。
在图4B上的步骤410中,支付网络105确定是否使金融机构账户与TOP用户账户相关联并且生成对应的消息以用于发送到发起用户101。例如,支付网络105能够确定如果由用户101在步骤427中所提供的片段中的大多数(即,超过50%)和由金融机构413所存储的数据匹配则金融账户和TOP用户账户应该与彼此相关联。如果是这样的话,则过程继续到步骤411,其中支付网络105像上面所描述的那样生成PAK密钥。然而,如果支付网络105确定金融机构413和具有由用户101所提供的片段的充足信息不匹配,则过程可以继续到步骤422,其中响应(在一些实施方式包括和片段匹配的结果的位图或其它指示)可以转发到TOP402,指示用来使金融机构账户与TOP用户账户相关联的请求应该被否认。TOP 402然后在步骤423中向发起用户101转发指示用来使金融机构账户与TOP用户账户相关联的请求被否认的响应。
图4D例示了用于使用TOP 402来发起交易请求的示例过程438。过程438涉及发起用户101、发起方102、TOP 402、支付网络105与金融机构403之间的通信。过程438中的步骤使得发起用户101和发起方102能够使用与在TOP 402的TOP用户账户相关联的在金融机构413的账户(诸如存款账户)通过支付网络105实现金融交易。
向发起用户101提供的TOP应用在一些实施方式中包括编程为向商人或商人终端(诸如销售点(POS)设备)传送与发起用户101希望进行的购买或其它金融交易相关的信息的应用。例如,TOP应用可以无线地发送涉及移动钱包用户账户的信息。TOP应用可以作为移动钱包应用、账单支付网站等被实现。
在步骤439中,发起用户101利用TOP应用来发起有关购买的交易。例如,TOP应用可以生成包括用来发起购买的请求、关于TOP用户账户的信息、要支付的金钱的金额等的消息,并且向发起方102发送它。在步骤441中,发起方102生成金融服务交易并且向TOP 402发送金融服务交易。
在步骤443中,TOP 402从TOP 402接收金融服务交易请求,并且递增钱包交易计数器(WTC)。WTC可以由TOP 402和支付网络用来验证TOP应用和/或TOP 402的使用由发起用户101授权。
在步骤445中,TOP 402生成应用请求密文(ARQC)。在一些实施方式中,生成ARQC包括使用硬件安全模块(HSM)来利用与用户账户相关联的支付手段密钥(PIK)对各种数据进行加密。加密以生成ARQC的数据可以包括例如表示交易的货币的代码(例如,美元的“USD”或“840”)、与交易相关联的日期、交易的金额、与发起方102相关联的国家代码、在步骤407中递增的钱包交易计数器、随机数等。在一些实施方式中,ARQC被生成以遵照EMV规范(Europay、MasterCard和Visa的简称),其定义用于使用集成电路支付卡来实现“芯片和pin”交易的要求。在一些实施方式中,包括在ARQC中的特定数据元素可以在被放入ARQC之前加密。例如,针对其应该限制分发的数据元素(诸如账号、PAN或其它敏感信息)能够使用令牌密钥(TK)加密。(在一些实施方式中,TOP 402通过在诸如图4A中所描述的一个过程这样的过程中接收TK而获取它。)
在步骤447中,TOP 402生成金融服务交易请求,并且利用所生成的ARQC以及有关所请求的交易的数据元素填充它。这些数据元素例如包括关于TOP用户账户或金融机构账户的信息、在交易中涉及的金钱的金额等。在步骤447中,TOP 402向支付网络105转发消息。
在步骤449中,支付网络105得到PIK(参与者认证密钥)和PAK(支付手段密钥)。在一些实施方式中,PIK和PAK基于与TOP 402相关联的服务提供方主密钥(SPMK)。PAK涉及金融机构413并且使用SPMK来生成。PIK与在金融机构413的特定账户有关并且使用PAK来生成。因此,因为SPMK对于支付网络105而言是可访问的,所以支付网络105能够使用SPMK得到PAK并且能够使用所得到的PAK得到PIK。
在步骤451中,支付网络105使用PIK来验证所接收到的ARQC。例如,支付网络105使用所得到的PIK来确保ARQC实际上由TOP 402发送(例如,通过使用PIK对ARQC进行解密或通过生成复制ARQC并且将它与所接收到的ARQC相比较)。如果支付网络105验证ARQC,则过程400继续到步骤453。在步骤453中,支付网络105验证包括在金融服务交易请求中的钱包交易计数器(WTC)值。支付网络105确定WTC值是否在先前接收到的WTC值的可接受范围内。例如,支付网络105可以确定在当前金融服务交易请求中所接收到的WTC值是在先前的金融服务交易请求中所接收到的WTC值的三个数字内(例如,如果先前的金融服务交易请求中的WTC值是50,则确定这个请求中的WTC值是否在51与53之间)。如果支付网络105确定WTC值是在先前的WTC值的可接受范围内,则过程400继续到步骤455。
在步骤455中,支付网络105重新格式化金融服务交易请求并且向金融机构413转发它以用于处理。金融机构413可以作为接收方处理器(例如,图1中的接收方处理器)、接收方(例如,图1中的接收方107)、外部接收方处理器(例如,图1中的外部接收方处理器108)或外部接收方(例如,图1中的外部接收方109)被实现。在一些实施方式中,向金融机构413转发经重新格式化的消息能够包括以下各项中的至少一个:向接收方处理器转发请求以用于转发到接收方、向接收方直接地转发请求、向外部接收方处理器转发请求以用于转发到外部接收方等。(在一些实施方式中,步骤455中的过程能够像以上关于图3中的步骤303-310所描述的那样被实现。)
在步骤457中,金融机构413接收经重新格式化的金融服务交易请求并且确定如何响应。例如,如果经重新格式化的请求包括来自发起方以确定在账号中是否存在用于购买的充足资金的请求,则金融机构413确定是否存在充足资金并且生成适当的响应。金融机构413然后向支付网络105发送对金融服务交易请求的响应。
在步骤459中,支付网络105接收、转发并且记录在步骤457中向它路由的响应。支付网络105然后向TOP 402发送响应消息。在步骤461中,TOP 402接收、转发并且记录响应,以及向发起方102转发它。发起方102接受并且处理消息以及向发起用户101提供适当的响应。例如,如果发起用户101在步骤439中试图从发起方102购买物品并且在步骤461中所接收到的响应指示由发起用户101所引用的账户中的不足资金,则发起方102可以否认购买交易。
图5例示了用于实现所公开的实施方式的示例计算机系统500。图1中所描绘的各个组件(例如,用户101、发起方102、处理器103、支付网络105、数据库105A、接收方处理器106、接收方107、CIF107A、外部接收方处理器108、外部接收方109或CIF 109A)可以像在计算机系统500中所例示的那样实现。在一些实施方式中,可以复制、代用或省略图5中的组件。在一些实施方式中,系统500能够视需要作为蜂窝电话、移动设备、POS(销售点)设备、服务器、无线设备或包括图5的组件中的至少一些的任何其它系统被实现。
系统500包括电源单元501。电源单元501能够作为电池、电源等被实现。电源单元501提供给系统500中的其它组件供电所必需的电力。例如,CPU 502需要电力操作。电源单元501能够提供所必需的电流以给这个组件供电。
系统500包含中央处理单元(CPU)502,其使得数据能够在其它组件之间流动并且以其它方式管理计算机系统500中的其它组件的操作。CPU 502在一些实施方式中能够作为通用处理器(诸如因特尔或AMD品牌的处理器)、专用处理器(例如,图形卡处理器或移动处理器)或使得能实现数据的输入和输出的任何其它种类的处理器被实现。
系统500还包括输出设备503。输出设备503能够作为监视器、打印机、扬声器、绘图机或表示由计算机系统500所处理、接收或发送的数据的任何其它设备被实现。
系统500还包括网络适配器504。网络适配器504在一些实施方式中使得能够与以与计算机系统500相同的或相似的方式所实现的其它设备进行通信。网络适配器504在一些实施方式中可以允许到和/或来自诸如因特网的网络的通信。网络适配器504可以使用已知的或仍然未知的有线或无线技术(诸如以太网802.11a/b/g/n(也称为Wi-Fi)、蜂窝(例如GSM、CDMA、LTE等)中的任一个或全部来实现。
系统500还包括输入设备505。在一些实施方式中,输入设备505可以是使得用户或其它实体能够输入数据的任何设备。例如,输入设备505可以是键盘、鼠标、触摸屏上的小键盘等。输入设备505能够用来控制图5中所例示的其它组件的操作。
系统500还包括存储设备506。存储设备506存储可由系统500中的其它组件使用的数据。存储设备506可以在一些实施方式中作为硬盘、暂时存储器、永久性存储器、光学存储器或任何其它类型的永久性或暂时存储设备被实现。存储设备506可以存储为所述的计算机程序创建执行环境的计算机程序指令和/或代码的一个或更多个模块,诸如例如处理器固件、协议栈、数据库管理系统、操作系统或其组合。
如本文所用的术语“处理器系统”指的是一个或更多个处理器(诸如CPU 502)。所公开的系统可以部分地或完全地实现在各种计算机、电子设备、计算机可读介质(诸如CD、DVD、闪速驱动器、硬盘或其它存储部)或其它电子设备或存储设备上。本说明书中所描述的方法和逻辑流程能够由执行一个或更多个计算机程序的一个或更多个可编程处理器执行以通过对输入数据进行操作并且生成输出来执行功能。过程和逻辑流程还能够由专用逻辑电路执行,并且装置还能够作为专用逻辑电路被实现,所述专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。虽然公开的过程包括特定过程流程,但是另选的流程或顺序在另选的实施方式中也是可能的。
还可以在单个实施方式中相结合地提供为了清楚在本说明书中在单独的实施方式背景下所描述的特定特征。相反地,还可以分别地在多个实施方式中或在任何适合的子组合中提供为了清楚在单个实施方式背景下所描述的各种特征。而且,尽管特征可以以上描述为在特定组合中作用并且同样地甚至最初要求保护,但是来自要求保护的组合的一个或更多个特征能够在一些情况下从组合中删除,并且所要求保护的组合可以针对子组合或子组合的变化。
已经对特定实施方式进行了描述。其它实施方式在随附权利要求的范围内。