CN110023979A - 提供装置和系统不可知的电子支付令牌 - Google Patents

提供装置和系统不可知的电子支付令牌 Download PDF

Info

Publication number
CN110023979A
CN110023979A CN201680091286.6A CN201680091286A CN110023979A CN 110023979 A CN110023979 A CN 110023979A CN 201680091286 A CN201680091286 A CN 201680091286A CN 110023979 A CN110023979 A CN 110023979A
Authority
CN
China
Prior art keywords
payment
user
token
client device
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680091286.6A
Other languages
English (en)
Inventor
阿南德·苏巴拉扬
叶格纳尚卡尔·帕拉苏拉姆
宋硕
阿克沙伊·米塔尔
刘西烁
凯文·帕特里克·赫尔利
弗拉迪斯拉夫·佩雷尔曼
阿蒂拉·因采
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Facebook Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Facebook Inc filed Critical Facebook Inc
Publication of CN110023979A publication Critical patent/CN110023979A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/102Bill distribution or payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/383Anonymous user system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography

Abstract

本公开涉及用于处理支付交易的装置和系统不可知的支付令牌化的系统、方法和装置。特别地,消息系统允许用户发起与商户的支付交易。例如,一个或多个实现涉及响应于用户客户端装置的请求,识别与用户账户相关联的支付授权号码,并向与该支付授权号码相关联的支付网络发送对支付令牌的请求。一个或多个实施例接收表示支付授权号码的支付令牌。另外,一个或多个实施例加密支付令牌并将加密的支付令牌发送到用户客户端装置以提供给与商户相关联的商户系统。

Description

提供装置和系统不可知的电子支付令牌
技术领域
电子支付系统允许用户通过在一种或多种类型的装置(例如,台式机装置和移动装置)上的软件应用程序与其他人执行支付交易。一些电子支付系统允许用户与金融机构或商户进行支付交易(即对等商务支付交易)。例如,一些电子支付系统允许用户通过电子支付应用程序或计算装置上的web浏览器与商户进行商品或服务的支付交易。
背景技术
一些传统的电子支付系统通过实现支付凭证的令牌化来提供安全的支付交易,以防止敏感信息暴露给其他方。例如,一些传统系统与支付网关系统(例如BrainTree)集成,以获得网关支付令牌,用于通过特定网关系统处理支付交易。支付令牌允许用户发起与商户的支付交易,而不允许商户或其他人获得和查看支付凭证(例如,信用卡号码)。虽然网关支付令牌在用户和商户之间提供了一层安全性,但是用户仍然需要向网关系统提供支付凭证。特别地,使用网关令牌化的传统电子支付系统将支付凭证存储在与用户的支付凭证相关联地支付网关处。通过在网关系统存储用户的支付凭证,传统的电子支付系统通过增加具有支付凭证的位置和实体的数量而引入安全风险。特别地,商户选择支付网关系统,并且如果消费者想要从商户进行电子购买,则通常被迫使用商户选择的支付网关。因为网关支付令牌仅限于特定网关系统,所以这些令牌对于与其他支付网关的使用是无效的。因此,在多个不同商户购物的消费者可能最终将其支付凭证存储在多个不同的支付网关,或者甚至多次存储在同一支付网关。
此外,网关支付令牌通常仅对特定商户使用和特定支付网关组合有效。这样,商户建立与支付网关的关系并控制何时使用网关支付令牌(商户通常这样做以避免存储信用卡信息和处理PCI遵从性规则)。因此,个人消费者没有能力设置和使用传统网关支付令牌作为最小化他们的信用卡信息向商户暴露的方式。
与传统支付网关不同,消费者-友好型支付网关(例如PayPal和亚马逊支付)为个人消费者提供了在不向商户提供信用卡信息的情况下通过使用支付令牌进行支付的选项。例如,这种消费者-友好型的支付网关通常允许商户在其网站上或在其本地应用程序中包括支付选项,该支付选项允许消费者使用消费者-友好型的支付网关的账户而不是向商户提供信用卡信息来支付。不幸的是,为了让商户提供这样的选择,商户必须与消费者-友好型的支付网关集成。换句话说,商户必须使用消费者-友好型支付网关作为他们的支付网关或者除了与消费者-友好型支付网关集成之外还与传统支付网关集成。对于商户来说,集成多个支付网关并处理不同的费率、合同、API和支付方式的接收可能是一个麻烦。事实上,许多规模较小、技术水平较低的商户根本就没有专门知识或资源来集成多个支付网关。因此,与消费者-友好型的支付网关集成的商户的数量是有限的。因此,个别消费者可能不能选择使用他们的帐户与消费者-友好型的支付网关来与许多商户进行安全支付。
移动支付(例如苹果支付)是另一种使用支付令牌的支付方式。移动支付允许个人消费者选择是否使用移动支付执行安全交易。不幸的是,移动支付也有一些缺点。首先,移动支付是特定于移动装置和操作系统的。因此,消费者具有很小灵活性。如果用户没有兼容的装置,则他们无法执行移动支付。此外,移动支付只适用于销售点装置,并且不适用于网站或本地应用程序。因此,即使当使用兼容的装置时,消费者也不能使用移动支付令牌来通过本地应用程序或web浏览器完成交易。
总之,许多传统系统使用令牌化、加密或商户集成来实现安全的电子支付交易。然而,这样的传统系统限制了消费者和商户。因此,传统的电子支付系统和方法存在许多缺点。
发明内容
本文描述的一个或多个实施例提供了益处和/或解决了本领域中的前述或其他问题中的一个或多个,其中系统和方法使得能够进行不需要商户与支付系统集成的装置和系统不可知的电子支付交易。例如,系统和方法允许用户客户端装置从支付系统请求令牌以发起与商户的支付交易。支付系统获取支付令牌并将支付令牌发送给用户客户端装置以传递给商户。系统和方法以允许任何客户端装置或操作系统的方式,生成并传递支付令牌。一旦商户接收到支付令牌,然后商户就使用支付令牌发起支付交易,因为他们将处理正常的信用卡交易。因此,商户不需要与支付系统集成。通过将令牌提供给用户客户端装置以传递给商户,系统和方法提供支付交易过程,而无需支付系统和商户之间的直接通信,从而增加安全性。
根据本发明的实施例在针对方法、存储介质、系统和计算机程序产品的所附权利要求中特别公开,其中在一个权利要求类别中提及的任何特征,例如方法,也可以在另一个权利要求类别中要求保护,例如系统。所附权利要求中的从属关系或参考资料的选择仅出于形式上的原因。然而,也可以要求保护由对任何先前权利要求的特意引用而产生的任何主题(特别是多个依赖项),从而公开了权利要求及其特征的任何组合,并且可以要求保护而不管所附权利要求中选择的依赖项。可要求保护的主题不仅包括如所附权利要求所述的特征的组合,而且包括权利要求中的特征的任何其他组合,其中权利要求中提及的每个特征可与权利要求中的任何其他特征或其他特征的组合而组合。此外,本文描述或描绘的任何实施例和特征可在单独的权利要求中和/或与本文描述或描绘的任何实施例或特征的任何组合中或与所附权利要求的任何特征的任何组合中要求保护。
在根据本发明的实施例中,一种方法包括:由一个或多个服务器并从与用户相关联的用户客户端装置接收请求,以发起用户与商户之间的支付交易;由一个或多个服务器识别与用户的用户账户相关联的支付授权号码;由一个或多个服务器获得表示与支付交易相对应的支付授权号码的支付令牌;由一个或多个服务器加密表示支付授权号码的支付令牌;以及由一个或多个服务器向用户客户端装置发送经加密的支付令牌,以供用户客户端装置将经加密的支付令牌提供给与和支付交易相关联的商户相关联的商户系统。
接收请求以启动用户和商户之间的支付交易可以包括经由与商户相关联的应用接口从用户客户端装置接收JavaScript请求。
在根据本发明的实施例中,一种方法可包括:识别与支付授权号码相关联的用户信息;以及向用户客户端装置发送具有经加密的支付令牌的用户信息。
在根据本发明的实施例中,一种方法可包括:生成包括经加密的支付令牌和用户信息的支付消息;以及发送用于自动完成与商户相关联的支付表单的支付消息。
对支付令牌进行加密可包括在不管用户客户端装置的操作系统的情况下加密支付令牌以在用户与商户之间发起支付交易。
对支付令牌进行加密可包括使用与用户客户端装置相关联的、用于在用户客户端装置处解密支付令牌的密钥来加密支付令牌。
在根据本发明的实施例中,一种方法可以包括使用与用户客户端装置的一个或多个服务器相关联的私钥来签名支付令牌。
获取表示支付授权号码的支付令牌可以包括:识别与用户的支付凭证相关联的支付授权号码;向与用户的支付凭证相关联的卡片网络系统发送对表示支付授权号码的支付令牌的请求消息;以及从卡片网络系统接收表示支付授权号码的支付令牌。
对支付令牌进行加密可包括根据支付授权号码的格式加密支付令牌。
识别与用户的用户账户相关联的支付授权号码可包括从用户客户端装置接收模糊的用户识别符,并使用模糊的用户识别符来检索支付授权号码。用户帐户可以是社交网络帐户。
在根据本发明的实施例中,一种系统包括:至少一个处理器;以及包括指令的非瞬时性计算机可读存储介质,当指令由至少一个处理器执行时,使得系统:从与用户相关联的用户客户端装置接收请求,以启动用户与商户之间的支付交易;识别与用户的用户账户相关联的支付授权号码;获取表示与支付交易对应的支付授权号码的支付令牌;加密表示支付授权号码的支付令牌;以及将加密支付令牌发送到用户客户端装置,以供用户客户端装置将加密支付令牌提供给与支付交易相关联的商户系统。
在根据本发明的实施例中,系统可以包括指令,当指令由至少一个处理器执行时,通过经由与商户相关联的应用程序从用户客户端装置接收JavaScript请求,使得系统接收请求以启动用户与商户之间的支付交易。
在根据本发明的实施例中,系统可包括指令,当指令由至少一个处理器执行时,使得系统:识别与支付授权号码相关联的用户信息;并将用户信息与加密的支付令牌一起发送给用户客户端装置。
在根据本发明的实施例中,系统可包括指令,当指令由至少一个处理器执行时,通过加密支付令牌以发起用户与商户之间的支付交易,使得系统加密支付令牌,而不管所述用户客户端装置的操作系统如何。
在根据本发明的实施例中,系统可以包括指令,当指令由至少一个处理器执行时,使得系统:获得对应于支付交易的一次性密码;对支付交易对应的一次性密码进行加密;并将加密的一次性密码与加密的支付令牌一起发送给用户客户端装置。
在根据本发明的实施例中,系统可以包括指令,当指令由至少一个处理器执行时,使得所述系统使用与用户客户端装置相关联的、用于在用户客户端装置处解密支付令牌的密钥来加密支付令牌。
在根据本发明的实施例中,系统可以包括指令,当指令由至少一个处理器执行时,使得系统根据支付授权号码的格式来加密支付令牌。
在根据本发明的实施例中,非瞬时性计算机可读存储介质包括指令,当指令由至少一个处理器执行时,指令使得计算机系统:从与用户相关联的用户客户端装置接收请求以启动用户与商户之间的支付交易;识别与用户的用户账户相关联的支付授权号码;获取表示与支付交易对应的支付授权号码的支付令牌;加密表示支付授权号码的支付令牌;以及将加密支付令牌发送到用户客户端装置,以供用户客户端装置将加密支付令牌提供给与和支付交易相关联的商户相关联的商户系统。
在根据本发明的实施例中,非瞬时性计算机可读存储介质可以包括指令,当指令由至少一个处理器执行时,指令使得计算机系统:通过经由与商户相关联的应用从用户客户端装置接收JavaScript请求,来接收请求以发起用户与商户之间的支付交易;识别与支付授权号码相关联的用户信息;以及向用户客户端装置发送具有加密支付令牌的用户信息,用于在与商户相关联的应用中自动完成支付表单。
在根据本发明的另一实施例中,一个或多个计算机可读非瞬时性存储介质体现了当执行时可操作以执行根据本发明或任何上述实施例的方法的软件。
在根据本发明的另一实施例中,一种系统包括:一个或多个处理器;以及至少一个存储器,该存储器耦合到处理器并包括可由处理器执行的指令,处理器在执行指令时可操作以执行根据本发明或任何上述实施例的方法。
实施例的附加特征和优点将在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过这种示例性实施例的实践来学习。这些实施例的特征和优点可以通过所附权利要求中特别指出的仪器和组合来实现和获得。从以下描述和所附权利要求中,这些和其它特征将变得更加清楚,或者可以通过下文阐述的示例性实施例的实践来学习这些和其它特征。
附图说明
将通过使用附图以附加的具体性和细节描述和解释各种实施例,其中:
图1示出了根据一个或多个实施例的促进电子支付的示例系统的示意图;
图2A-图2B示出了根据一个或多个实施例的顺序流程图,其示出了作为用户和商户之间的支付过程的一部分的交互;
图3A-图3D示出了根据一个或多个实施例的用于启动如参考图2A-图2B所描述的支付交易的用户界面;
图4示出了根据一个或多个实施例的处理具有令牌化支付凭证的支付交易的方法中的一系列动作的流程图;
图5示出了根据一个或多个实施例的图1的示例系统的详细示意图;
图6示出了根据一个或多个实施例的示例计算装置的框图;
图7示出了根据一个或多个实施例的社交网络系统的示例网络环境;以及
图8示出了根据一个或多个实施例的社交网络系统的示例社交图谱。
具体实施方式
本公开的实施例提供了一种支付系统,其向用户提供参与装置和系统不可知且不需要商户集成支付系统的安全交易的能力。例如,支付系统通过将支付令牌发送到与用户相关联的用户客户端装置来使用支付令牌发起支付交易,然后用户客户端装置将支付令牌发送到商户(例如,商户系统)。通过将支付令牌发送到用户客户端装置而不是商户系统,支付系统使得用户和商户能够进行支付交易,而不管用户客户端装置和商户系统的装置或操作系统如何。
如前所述,支付系统允许用户启动与商户的电子支付交易。具体地说,支付系统从与用户账户相关联的用户客户端装置接收支付令牌的请求。例如,当用户在支付系统的帮助下选择发起支付交易的请求时,客户端装置向支付系统发送请求以获得支付令牌。具体地,商户系统可以在应用程序接口内实现使客户装置向支付系统发送用于支付令牌的请求以发起支付交易的代码。例如,支付系统可以提供应用程序接口(API)标准,该标准允许第三方实体在应用程序接口中嵌入使用户客户端装置与支付系统通信的代码。为了说明,用户客户端装置可以使用对支付系统的调用来请求将支付令牌发送到用户客户端装置。因此,商户系统可以为用户提供使用支付系统进行支付的选项,而不需要商户系统提供与支付系统的深度API集成,这使得商户系统直接与支付系统通信。
在一个或多个实施例中,支付系统从支付网络获得用于发起支付交易的支付令牌。特别地,支付系统响应于从用户客户端装置接收到经由调用发起支付交易的请求而请求支付令牌。为了说明,支付系统使用诸如与用户的用户账户相关联的支付授权号码(例如,信用卡/借记卡号码)之类的支付凭证来获得支付令牌。例如,支付系统识别与用户账户相关联的支付授权号码,并从与支付授权号码相关联的卡片网络系统请求支付令牌。与支付授权号码相关联的卡片网络系统返回表示与用户账户相关联的支付授权号码的支付令牌。支付系统加密支付令牌并将加密的支付令牌发送到用户客户端装置以发起支付交易,而不是使用相应的支付授权号码。通过使用支付令牌来发起和处理支付交易,支付系统提供减少包括支付授权号码的实体和/或通信的数量的安全电子支付过程。
在支付系统将支付令牌发送到用户客户端装置之后,支付系统不会再次接收与支付交易相关联的支付令牌。具体地,客户端装置将支付令牌转发到商户系统。然后,商户系统处理支付令牌,就像它处理正常的支付凭证一样。例如,商户系统可以将支付令牌转发到支付网络以处理支付交易。因此,在支付交易期间,商户系统可能不与支付系统通信。
除了将支付令牌返回到支付系统之外,可选地,与支付授权号码相关联的卡片网络系统返回一次性密码。在替代实施例中,支付系统生成一次性密码并将一次性密码发送到卡片网络系统。支付系统通过支付网络将带有支付令牌的密码发送给商户以处理当前支付交易。具体地说,支付系统向商户提供支付令牌和一次性密码。然后,商户可以通过将支付令牌和一次性密码发送到网关系统或支付网络中的其它实体来启动支付交易,以处理支付交易。
此外,因为密码是一次性的,所以支付系统不存储密码以用于将来的支付交易。相反,支付系统为与用户账户相关联的每个附加支付交易请求新的一次性密码。与支付授权号码相关联的卡片网络系统将用于特定支付交易的新的一次性密码返回给支付系统。因此,对于特定支付交易,支付系统在发起与商户的特定支付交易时使用存储的支付令牌和相应的一次性密码。
在一个或多个实施例中,支付系统存储支付令牌以用于将来的支付交易。特别地,支付系统将支付令牌存储在与用户帐户相关联地一个或多个服务器上。例如,支付系统可以将支付令牌存储在一个或多个服务器上,而不是存储相应的支付授权号码。存储支付令牌以与支付交易一起使用而不是存储和使用支付授权号码,减少了在支付系统处或在支付交易期间暴露用户的支付信息的风险。
如上所述,本文描述的支付系统提供了优于传统电子支付系统的优点。具体地说,为用户客户端装置配置支付令牌以发送到商户系统允许支付系统发起与尚未与支付系统集成的商户系统的支付交易。例如,本文描述的支付系统为商户提供了与用户(即,消费者)进行支付交易的方式,而无需商户与支付系统缔结合同或其它正式关系。通过减少服务器装置存储和处理的与支付交易相关联的数据量,启用与未与支付系统集成或注册的商户的支付交易减少了与支付系统相关联的服务器装置的负担。
此外,这样的支付交易过程允许用户客户端装置和商户系统使用任何类型的装置和/或操作系统来与支付系统执行支付交易。特别地,支付系统实现对支付令牌的请求,并请求在JavaScript(或类似的编码语言)层与支付系统发起支付交易。因为当从许多不同的客户端装置或操作系统调用代码时,代码可以正常工作,所以支付系统允许商户系统和用户参与支付交易,而不需要特定的设备/装置和操作系统软件。这为商户系统和用户提供了支付交易过程中的灵活性。
图1是示出根据一个或多个实施例的包括支付系统110的环境100的示意图。参考图1描述了环境的概述。此后,结合其余附图,提供了对支付系统的组成和流程以及环境中的其他组成的更详细的说明。
如图1所示,环境100可以包括用户、用户客户端装置104、商户系统106、托管支付系统110的(一个或多个)服务器装置108以及支付网络112。客户端装置的示例包括移动装置(例如,智能电话、桌上型)、膝上型计算机、台式机或任何其他类型的计算装置。图6以及相应的描述提供了关于计算装置的附加信息。此外,环境100的装置可以通过一个或多个网络彼此通信。在一个或多个实施例中,网络包括因特网或万维网。然而,该网络可以包括使用各种通信技术和协议的一个或多个专用和/或公共网络,如下面参考图7进一步描述的。
用户102可以与商户系统106交互以进行购买。具体地说,用户102使用用户客户端装置104与商户系统106进行支付交易。如图1中进一步所示,用户客户端装置104可以与托管支付系统110的服务器装置(一个或多个)108通信。如下文将更详细地说明的,支付系统110可与支付网络112的各种组件通信以协调便于用户102与商户系统106之间的支付的交易。支付网络112可以包括支付网关系统114、卡片网络系统118和发行商120。然而,在其它实施例中,支付网络112包括更多或更少的参与者。尽管图1示出了用户102、用户客户端装置104、商户系统106、支付系统110和支付网络112的特定布置,但是各种附加布置是可行的。
如前所述,并且如图1所示,用户102可以使用用户客户端装置104来与商户系统106接口。在一个或多个实施例中,用户102可以访问商户的客户端应用程序。客户端应用可以包括网络应用程序,诸如与商户系统106接口的web应用或本地应用。客户端应用可以向用户102提供商品和/或服务的销售。在一个或多个实施例中,如下面更详细地解释的,服务器装置(一个或多个)可以包括注册用户的网络系统(例如,社交网络系统)。为了说明,客户端应用可以包括在社交网络系统中提供的商户页面和/或界面,其允许用户查看商户提供的产品和服务。此外,商户系统可以提供从商户页面和/或界面内使用支付系统支付产品和服务的选项。
用户102可以通过选择通过客户端应用提供的一个或多个项目或服务来开始订单。为了完成订单,用户102传统上需要输入高达20个不同的支付字段,诸如用户的名字,中间名,姓氏,支付卡(信用卡,借记卡等)号码,支付卡的到期日(年和/或月),与支付卡相关联的账单地址(包括街道名称,房屋号码,城市,州或省,邮政编码,国家等),与支付卡相关联的电话号码,以及一个或多个运送地址(包括与账单地址类似的字段)。支付系统110可以存储用于用户102的支付信息,并且可以向商户系统106提供该信息的至少一部分,以简化用户102的结账体验并增加安全性。更具体地,客户端应用可以显示或以其他方式提供使用由支付系统110维护的支付信息的可选择选项。如果用户102选择可选择的选项,则支付系统110可以通过提供用户客户端装置104可以提供给商户系统106的支付令牌来促进支付交易。
如图1所示,支付网络112包括支付网关系统114、卡片网络系统118和支付授权号码的发行商(例如,发行商120)。如本文所使用的,术语“支付网关系统”指的是将交易信息发送到收单银行并从发卡银行响应的软件和服务器(例如,交易是被批准还是被拒绝)。因此,支付网关系统便于银行之间的通信。此外,支付网关实现了支付卡行业数据安全标准(PCI-DSS或PCI)。支付网关系统帮助桥接通信协议并代表商户提供安全性。支付网关系统通常收取每笔交易的费用。支付网关系统的一些示例包括Braintree,Dwolla,Paypal,Authorize.net。
如本文所使用的,术语“卡片网络系统”指的是促进信用卡用户、商户和发行商之间的支付过程的实体。卡片网络系统还可以指示在何处可以使用信用卡,授权信用卡交易,处理交易,以及设置交易条款。卡片网络系统的一些示例包括Visa、MasterCard、AmericanExpress和Discover。
如本文所使用的,术语“发行商”指的是向消费者发行信用卡并为其账户提供服务的金融机构(例如银行)。发行商也可以是卡片网络系统或支付网关系统。卡片网络系统的一些示例包括Chase,Bank of America,Wells Fargo,U.S.Bank和Citibank。
如本文所使用的,术语“支付授权号码”指的是授权访问对应支付账户的号码。例如,支付授权号可以是信用卡号或借记卡号。
在一个或多个实施例中,支付系统110与与消费者的支付授权号码相关联的卡片网络系统118通信,以获得支付令牌。如本文所使用的,术语“支付令牌”指代支付授权号码的令牌化版本。具体地说,网络支付令牌可以包括支付授权号码的散列或以其它方式混合的版本,该支付授权号码包括卡片网络系统118映射到特定支付授权号码的多个字符。
一旦支付网络112在服务器装置108(一个或多个)处向支付系统110提供支付令牌,然后服务器装置108(一个或多个)加密支付令牌并将其发送到用户客户端装置104,以验证支付令牌并将其传递到商户系统106,以启动支付交易并处理用户的购买。服务器装置108(一个或多个)还可以收集用户的用户信息并将其发送到与支付令牌相关联的用户客户端装置104。用户信息可以包括关于用户的识别信息,诸如如上所述的计费信息或地址信息。
在至少一些实现中,卡片网络系统118还将与支付交易相关联的密码发送到具有支付令牌的用户客户端装置104。如本文中所使用的,术语“密码”是指分配给支付交易以用于授权使用支付令牌用于支付交易的代码。为了说明,密码可以是允许卡片网络系统118验证支付令牌用于对应支付交易的使用的数字代码或其它值。
在用户客户端装置104接收到支付令牌之后,用户客户端装置104向商户系统106发送支付令牌。然后商户系统106将支付令牌连同其它支付信息一起发送到支付网关系统114以处理支付交易。在一个或多个实施例中,支付网关系统114还与卡片网络系统118通信以发送支付信息。支付网关系统114或卡片网络系统118是否使用支付令牌来确定对应的支付授权号码取决于支付令牌是网关支付令牌还是网络支付令牌。在任一情况下,支付网络112识别对应的支付授权号码,并授权支付交易将资金从用户102的支付账户转移到商户系统106的支付账户。
如所讨论的,参考图1上述的系统和组成可以允许用户(即,消费者)容易地、有效地和安全地与商户进行支付交易。图2A-图2B示出了由上面讨论的支付系统110实现的过程的一个或多个示例性实施例的示例过程图。与图1所示的环境100一致,图2A-图2B(根据操作顺序流程)示出了用户客户端装置104、商户系统106、在服务器装置108(一个或多个)上实现的支付系统110和支付网络112。
在一个或多个实施例中,用户发起与商户的支付交易的过程可以从商户系统106向用户客户端装置104提供应用程序200(例如,如上所述的客户端应用)内的内容开始。特别地,商户系统106在应用程序内,提供用户可以通过其浏览与商户相关联的商品或服务的界面。应用程序可以包括浏览器应用程序、移动应用程序、桌面应用程序或在用户客户端装置104上运行的其他计算应用程序。
根据一个或多个实施例,用户客户端装置104允许用户与来自商户系统106的内容交互。例如,用户客户端装置104可允许用户通过打开应用或以其他方式导航到界面来查看用于浏览与商户相关联的商品或服务的界面。为了说明,应用程序可以是由商户创建的和/或以其他方式与商户相关联的专有应用程序。可替换地,应用程序可以是允许用户查看与不同实体相关联的一个或多个不同界面的应用程序,诸如提供对因特网的访问的web浏览器。
此外,用户可以导航内容的一个或多个页面或界面以查看与商户相关联的商品和服务。为了说明,用户可以通过与用户客户端装置104交互来导航与商户相关联的内容。与用户客户端装置104交互还可以使得用户客户端装置104与商户系统106通信以检索内容。在用户识别出用户想要购买的商品或服务之后,用户可以与用户客户端装置104交互,以选择在服务器装置108(一个或多个)托管的支付系统110的帮助下,购买所识别的商品或服务的选项(例如,使用Facebook支付)。选择购买所识别的商品或服务的选项使得用户客户端装置104生成支付消息202。
在一个或多个实施例中,应用程序200包括使用户客户端装置104响应于选项的部分而与支付系统110通信的代码,以在支付系统110的帮助下购买所识别的商品或服务。具体地说,应用程序200的代码可以使得用户客户端装置104基于商户系统106可用的发布的API协议来对服务器装置108(一个或多个)进行调用。例如,代码可以包括JavaScript命令,以向服务器装置108(一个或多个)发送对支付令牌和可选的一个或多个信息项的请求。为了说明,在JavaScript(或其它语言)层实现代码使得用户客户端装置104生成发起支付交易的请求。如下面更详细地描述的,在JavaScript层实现请求还允许支付系统110促进用户的支付交易,而不需要服务器装置108(一个或多个)直接与商户系统106通信。
生成支付消息可包括识别用户与商户之间的支付交易的支付信息。例如,支付消息可以包括用户识别符,商户识别符,支付金额,支付授权号码(或具有对应支付授权号码的支付方法的指示),和/或允许支付系统110开始支付交易过程的其他信息。根据各种示例,用户客户端装置104可以从用户与商户、用户客户端装置104上的数据管理器之间的交互和/或从用户输入获得用于支付消息的支付信息。然后,用户客户端装置104将支付消息204发送到支付系统110。
响应于从用户客户端装置104接收到支付消息,支付系统110识别用户的个人授权号码206。特别地,支付系统110可以从支付消息中识别个人授权号码。例如,支付消息可以包括支付系统110分配给先前提供给支付系统110的支付授权号码的识别符。或者,如果用户没有将与支付授权号码相关联的信息存储在支付系统110中,则支付消息可以包括支付授权号码。在其他实施例中,支付系统110可提示用户提供支付授权号码或允许用户修改或添加新的支付授权号码。如上所述,个人授权号码可以是信用卡号码或与用户的支付账户相关联的其他账户号码。支付系统110还识别包括在支付消息中的附加支付信息。
支付系统110还访问与用户和/或支付授权号码相关联的用户信息208。具体地,支付系统110可以访问与来自支付消息的用户识别符相关联的用户帐户(例如,社交网络帐户),以访问关于用户的识别信息,用于处理支付交易。例如,用户信息可以包括用户的帐单地址信息,例如用户的地址,电话号码,和联系信息。此外,用户信息还可以包括关于用户的附加识别信息,该附加识别信息可以允许用户参与与商户的支付交易。
支付系统110使用包括在来自用户客户端装置104的支付消息中的支付信息来生成210令牌请求消息。具体地说,支付系统110生成令牌请求消息以请求与所识别的支付授权号码相关联的支付令牌。令牌请求消息包括支付授权号码和允许卡片网络系统118验证消费者和/或令牌请求者(即,支付系统110)的身份的识别信息。支付系统110请求卡片网络系统118提供用于为消费者处理支付交易的支付令牌,而不是使用支付授权号码。
在一个或多个实施例中,包括在令牌请求消息中的识别信息包括令牌请求者识别符。例如,令牌请求者识别符可以是卡片网络系统118先前分配给支付系统110的唯一识别符。为了说明,令牌请求者识别符可以是12个字符的固定长度值。令牌请求者识别符是允许卡片网络系统118从令牌请求消息确定令牌请求者的身份的识别符。
在一个或多个实施例中,支付系统110还可以确定特定支付授权号码的网络令牌化是否可用。具体地,支付系统110可以基于支付授权号码中的一个或多个数字(例如,基于银行识别号)来识别支付授权号码的至少一个属性,诸如卡类型或消费者登记。然后,支付系统110可以基于支付授权号码的所识别的属性来确定与支付授权号码相关联的卡片网络系统118是否为支付授权号码提供支付令牌。例如,支付系统110可以确定某些卡片网络系统118提供支付令牌,而其它卡片网络系统118不提供支付令牌。类似地,来自卡片网络系统118的某些卡类型或支付授权令牌可以被令牌化,而与同一卡片网络系统118相关联的其它卡类型或支付授权令牌可以不被令牌化。
如果特定支付授权号码不能由卡片网络系统118令牌化,则支付系统110从第三方支付处理器获得令牌。例如,支付系统110可以从第三方支付处理器请求用于当前支付交易的一次性支付授权号码。
然后支付系统110将令牌请求消息212发送到卡片网络系统118。在接收到令牌请求消息时,卡片网络系统118从令牌请求消息中识别支付授权号码,并验证支付授权号码的真实性。例如,卡片网络系统118在与卡片网络系统118相关联的支付授权号码的数据库中识别支付授权号码。此外,卡片网络系统118可以识别与支付授权号码相关联的附加信息,诸如消费者的身份、与消费者相关联的安全信息以及来自令牌请求消息的支付交易信息,如由服务器装置(一个或多个)提供的。
在一个或多个实施例中,卡片网络系统118使用令牌请求消息中的令牌请求者识别符来验证令牌请求者214。令牌请求者的身份允许卡片网络系统118识别在卡片网络系统118和支付系统110之间建立的信任级别。具体地,卡片网络系统118可以与一个或多个令牌请求者建立信任关系。例如,每个可信令牌请求者可以从卡片网络系统118请求支付令牌,而不需要额外的安全信息。
如果卡片网络系统118不信任的另一实体试图从卡片网络系统118请求支付令牌,则卡片网络系统118可以拒绝该请求。通过建立与令牌请求者的信任关系并且仅向可信的请求者提供令牌,卡片网络系统118可以减少支付令牌的欺诈请求的风险。此外,可信请求者的使用允许卡片网络系统118减少消费者必须提供以授权支付交易的识别信息量。在替代实施例中,卡片网络系统118请求附加安全信息以验证来自不可信请求者的请求的真实性。
一旦支付系统110的身份被验证,然后卡片网络系统118就生成用于支付交易的支付授权号码的支付令牌216,并且在一些情况下生成密码。特别地,卡片网络系统118生成支付令牌,该支付令牌表示到与支付交易过程相关联的实体的支付授权号码。例如,支付令牌可以是具有在预定位数内的可变位数的数字值(例如,可变字段高达19位)。
在一个或多个实施例中,支付令牌具有与支付授权号相同的位数,使得与支付交易过程相关联的每个实体将支付令牌视为有效的支付授权号码。具体地,支付令牌可以具有与原始支付授权号码类似或相同的银行识别号和类似的编号逻辑。可替换地,位数可以不基于支付授权号码,使得支付令牌可以具有与支付授权号码不同的位数。
如所提及的,卡片网络系统118可生成密码以与当前支付交易一起使用。具体地,密码是将支付令牌与当前支付交易绑定或限定范围的一次性代码或值。在一个或多个实施例中,密码使用诸如支付金额、域和/或具体识别支付交易的其他信息的交易信息,将支付令牌限定到当前支付交易。密码允许卡片网络系统118验证支付令牌已经被授权用于当前支付交易。因此,卡片网络系统118拒绝来自商户的在没有密码的情况下处理支付交易的请求,使得卡片网络系统118拒绝支付令牌的未经授权的使用。此外,因为密码与特定支付交易相关联,所以密码是一次性的密码,并且不能与其他支付交易一起使用。在一个或多个可选实施例中,支付系统110被允许不止一次地使用密码用于订阅或其他经常性支付。虽然附图将卡片网络系统118示为单个实体,但是根据本文的公开内容,人们将理解,本公开不限于此。特别地,与支付系统110一样,卡片网络系统118可以跨多个不同的装置来实现。例如,卡片网络系统118可以包括令牌供应服务,该令牌供应服务由与卡片网络系统118的处理支付的部分不同的系统托管。在一个或多个实施例中,卡片网络系统118的令牌供应服务可以生成支付令牌和密码。
在一个或多个实施例中,支付系统110而不是卡片网络系统118生成密码。在这种情况下,令牌请求消息212可以包括密码。在任何情况下,卡片网络系统118可以向发行商120发送支付令牌和可选的密码。
然后,卡片网络系统118向支付系统110发送218支付令牌和可选的密码。根据一个或多个实施例,支付系统110将支付令牌与消费者的用户资料或用户账户相关联并存储支付令牌。如下面更详细地描述的,一旦支付系统110已经接收到用于消费者的支付令牌,涉及消费者的未来支付交易可以使用存储的支付令牌而不是相应的支付授权号码。
在从支付网络112接收到支付令牌之后,支付系统110加密支付令牌220。例如,支付系统110加密支付令牌以提供给用户客户端装置104。具体地,支付系统110可以使用加密密钥来加密支付令牌。另外,支付系统110可以加密包含支付令牌和可选的密码和/或用户信息(或其它支付信息)的数据包,以提供给用户客户端装置104。支付系统110还可以用与支付系统110相关联的密钥对加密数据包进行签名,以允许用户客户端装置104验证该包来自支付系统110。
根据一个或多个实施例,支付系统110使用只有用户客户端装置104能够解密的加密密钥来加密支付令牌和用户信息。例如,支付系统110可以使用公钥/私钥对。因此,然后用户客户端装置104将解密支付令牌和用户信息,并使用该信息来发起与商户系统106的支付交易。
或者,支付系统110可以使用商户系统106也可以解密的加密密钥来加密支付令牌。例如,支付系统110可以使用与传递到商户系统106的私有密钥相关联的加密密钥来加密数据包。
在任一场景中,支付系统110向用户客户端装置104发送加密支付令牌(以及可选地用户信息和密码)218。例如,支付系统110在数据包或支付交易消息中向用户客户端装置104发送加密的支付令牌和用户信息。支付系统110可以以对用户不可见或不透明的方式发送数据包(即,使得用户在加密时不能访问数据包的内容)。
在接收到加密数据包时,用户客户端装置104解密支付令牌224(以及用户信息和密码,如果适用的话)。特别地,用户客户端装置104可以使用与支付系统110用于加密数据包的加密密钥相关联的解密密钥。用户客户端装置104可以使用解密密钥从数据包中提取信息以用于允许用户发起与商户系统106的支付交易。
此外,用户客户端装置104可以在显示装置上呈现一个或多个支付信息项以验证支付信息226。例如,用户客户端装置104可以在与商户系统106相关联的界面中显示用户信息以及所选择的支付授权号码的支付方法。为了说明,用户客户端装置104可以将支付信息自动填写到界面中(例如,填写到由商户提供的计费表单中)。因此,用户客户端装置104利用与商户系统106相关联的界面来向用户呈现支付信息以用于验证,而不需要服务器装置108(一个或多个)将信息直接发送到商户系统106或者不需要用户客户端装置104重定向到与支付系统110相关联的表单。
为了验证与支付交易相关联的信息,用户可以查看界面内的信息并确定该信息是否正确。如上所述,用户客户端装置104可以利用商户系统106在客户端应用内提供给用户客户端装置104的界面。在界面内以可填写的形式显示信息可以允许用户查看和/或编辑信息。为了说明,用户可以查看和验证支付方法,例如通过查看支付授权号码的缩写版本(例如,仅显示支付授权号码的最后4位)或用户的识别信息(例如,姓名、地址、安全问题等)。
根据各种示例,用户可以确定支付方法和/或用户的识别信息是正确的,并且选择使用所输入的信息的选项。可替换地,用户可以确定信息项中的一个或多个是不正确的,并且可以编辑信息。编辑该信息可以使得用户客户端装置104将编辑后的信息发送到支付系统110,然后支付系统110可以使用用户的用户账户来存储编辑。
一旦用户已经验证了支付令牌和相关信息,用户客户端装置104就根据商户系统106用于处理信用卡或借记卡交易的支付处理过程向商户系统106发送支付令牌和用户信息228。
在一个或多个实施例中,支付令牌包括呈现为有效支付授权号码的支付授权号码的模糊值。然而,即使在解密数据包之后,商户系统106也只能查看模糊值,使得商户系统106永远不能访问实际支付授权号码。因为模糊的值可能看起来是有效的支付授权号码,所以商户系统106仍然可以处理支付交易,就好像用实际支付授权号码操作一样。另外,密码可以类似于安全代码,例如代码验证值(“CVV号码”),使得商户系统106将支付信息识别为有效。
然后,商户系统106使用从用户客户端装置104提供的信息来发起支付交易230。具体地,如果适用,则商户系统106从来自用户客户端装置104的数据包中识别支付令牌以及密码。此外,商户系统106可以识别支付金额、购买信息(例如,产品或服务)、用户识别信息(例如,姓名、地址、运输信息)以及用于处理支付交易的其他信息。通过从用户客户端装置104接收支付令牌,商户系统106从未接收或看到与用户的支付账户相关联的支付授权号码。此外,不要求商户系统106与支付系统110集成,因为支付令牌在JavaScript层被请求和传递。
商户系统106将支付令牌和用户信息232发送到支付网络112。支付网络112可以包括支付网关系统,该支付网关系统从商户系统106接收支付令牌和支付信息,并将支付令牌和支付信息发送到卡片网络系统以完成支付交易。在其它实施例中,支付网关系统可以使用支付令牌来获得用于提交到卡片网络系统的支付授权号码。
在任一情况下,支付网络112确定支付授权号码234和附加支付信息(例如,密码)以确定支付交易是否有效。例如,支付网络112可以将支付令牌映射到数据库中的支付授权号码。支付网络112可以在数据库中搜索支付令牌以在与支付令牌相关联的条目中找到支付授权号码。或者,支付令牌可以是支付授权号码的加密版本(例如,散列版本),并且支付网络112可以解密支付令牌以获得支付授权号码。
在识别支付授权号码之后,支付网络112可以处理支付交易236。具体地,处理支付交易涉及使用支付授权号码来授权将资金从与支付授权号码相关联的支付账户转移到与商户相关联的支付账户。例如,支付网络112可以通过与与商户相关联的银行系统通信,将资金从用户的支付账户转移到商户的支付账户。
更具体地,商户系统106将支付令牌和密码连同必要的支付交易信息发送到支付网关系统114。然后支付网关系统114将支付令牌、密码和支付交易信息发送到卡片网络系统118。卡片网络系统118验证密码以确定支付交易是否有效。有效密码向卡片网络系统118表示支付交易是有效的,并且是经由可信令牌请求者发起的,并且可选地是针对来自验证商户的验证金额。
卡片网络系统118还基于支付令牌确定支付授权号码。例如,卡片网络系统118可以将网络支付令牌映射到数据库中的支付授权号码。卡片网络系统118可以在数据库中搜索支付令牌以在与支付令牌相关联的条目中找到支付授权号码。
在识别支付授权号码之后,卡片网络系统118可以处理支付交易。具体地,处理支付交易涉及将支付授权号码发送到发行商120,使得发行商能够授权将资金从与支付授权号码相关联的支付账户转移到商户的支付账户。例如,发行商120可以通过与与商户相关联的银行系统(收购方)通信,将资金从消费者的支付账户转移到商户的支付账户。
可选地,卡片网络系统118可以向发行商120发送支付令牌。然后发行商120基于支付令牌确定支付授权号码。例如,发行商120可以将支付令牌映射到数据库中的支付授权号码。发行商120可以在数据库中搜索网络支付令牌,以在与网络支付令牌相关联的条目中找到支付授权号码。发行商120可以授权将资金从与支付授权号码相关联的支付账户转移到商户的支付账户。例如,发行商120可以通过与与商户相关联的银行系统(收购方)通信,将资金从消费者的支付账户转移到商户的支付账户。
如将在下面更详细地描述的,如参考图1所描述的支付系统110的组件可以和/或与其它组件结合一起提供一个或多个图形用户界面。特别地,组件可以允许用户为了各种目的与显示元件的集合交互。特别地,图3A-图3D和下面的描述示出了允许用户与商户进行支付交易的客户端应用的用户界面和特征的各种示例实施例。
图3A-图3D示出了具有由客户端应用提供GUI的各种视图的用户客户端装置300,以促进用户和商户之间的电子支付。具体地说,客户应用允许用户查看与商户系统提供的商品和服务相关联的信息,并与商户进行支付交易。如下面更详细地描述的,用户可以查看包含商户系统在客户端应用内提供的内容的界面。此外,用户可以使用客户端应用进行购买,并与商户进行电子支付交易。
如图所示,用户客户端装置300包括手持装置。如本文所使用的,术语“手持装置”指的是尺寸和配置成在用户的单手中握持/操作的装置。然而,在附加的或替代的示例中,任何其他合适的计算装置,诸如但不限于平板装置,手持装置,更大的无线装置,膝上型或台式计算机,个人数字助理装置,和/或任何其他合适的计算装置可以执行本文描述的过程和/或操作中的一个或多个。
在一个或多个实施例中,用户可以与客户端应用的一个或多个用户界面中的显示元件交互,以发起与商户的支付交易,以购买商品或服务。如上所述,客户端应用提供与商户系统相关联的一个或多个界面。在一个或多个实施例中,客户端应用是由商户提供的应用程序,诸如通过移动应用程序商店可用的移动应用程序。可替换地,客户端应用可以是允许用户访问各种内容的第三方应用程序,诸如提供对来自多个不同商户的内容的访问的web浏览器。
如图3A所示,客户端应用可以包括商户界面302。如本文所述,商户界面302可以显示由商户提供的产品(例如,商品或服务),用户可以使用支付系统购买该产品。根据一个或多个实施例,商户界面302包括可从商户获得的多个产品或服务。例如,商户界面302可以包括产品列表,每个产品可以是可选择的和/或具有其自己的商户页面。选择特定项目的商户页面将显示相应产品的详细信息。例如,给定产品的商户页面可以显示价格304、产品规格306、产品的图像308以及可从商户获得的相关项目。
在一个或多个实施例中,客户端应用还允许用户与商户就所显示的项目进行通信。例如,商户界面302可以呈现与商户通信的通信选项310。为了说明,选择通信选项310可以使得客户端应用打开允许用户与商户通信(例如,通过电子邮件或通过集成的消息服务)的消息界面。在一个或多个实施例中,与支付系统110相关联的网络应用程序提供消息界面并促进通信。用户可以讨论定价、购买选项、交付选项、可用性、定制和/或关于所显示的产品的其他信息。
商户产品界面还可以在产品的商户页面上显示产品的添加到购物车选项312。选择添加到购物车选项312可以使客户端应用程序将产品添加到虚拟购物车和/或显示购买界面。图3B示出了用于购买图3A所示的产品的结帐或虚拟购物车界面314。当用户选择添加到购物车选项312时,客户端应用程序将所选择的产品添加到虚拟购物车,并显示具有购物车内容的结账界面314。用户可以在购买产品之前选择要添加到购物车中的多个产品。
购买界面包括包括支付信息的购买信息。特别地,购买信息包括产品细节316(包括产品的数量)和购买价格318。虽然图3B示出了与购物车相关联的一组细节,结账界面314可以包括允许用户验证和输入购买信息的附加或替代细节。
用户可以选择放置订单选项324,在该选项上,客户端应用将打开支付信息界面,用户可以向该支付信息界面中输入支付信息,诸如账单地址、运送地址、信用卡信息等。不幸的是,选择放置订单选项324可能需要用户提供详细的支付信息。在许多情况下,用户可能需要填写高达二十个信息字段。对于潜在的消费者来说,输入支付信息有困难、时间耗尽或对结账过程中的其他问题变得沮丧是很常见的。这种挫折感往往导致潜在的消费者放弃他们的商业交易。在使用移动装置时,由于屏幕较小且难以键入大量信息,商业结账过程中的挫折感往往会加剧。此外,选择放置订单选项324可要求用户输入并与商户或商户的支付网关网络共享他们的支付授权号码。
如上所述,一个或多个实施例通过提供用于完成与支付系统110的交易的可选择选项322来避免前述问题。用于完成与支付系统110的交易的可选择选项322可包括指示用户可利用支付系统110来完成虚拟购物车中的物品的购买的字形(即,标记、图标、图形、文本的一部分等)。可选择选项322可以包括在结账用户界面314中呈现的按钮、在结账用户界面314上出现的可选择覆盖、插件、弹出窗口或其他可选择选项。例如,在一个或多个实施例中,例如当客户端应用包括web应用程序时,iframe可以被添加到定义web页面的代码中。附加地或替代地,客户端应用可以调用呈现可选择选项322的SDK函数。
根据本文的公开内容,人们将理解使用SDK函数或iframe是呈现或调用可选择选项322的方式的两个示例。然而,本公开的实施例不限于使用SDK函数或iframe。更具体地,与在浏览器(例如,web浏览器)或消费结构化文档的其他应用程序客户端的前后关系操作或执行的插件软件应用程序不同,本文描述的功能可以直接结合到浏览器客户端应用中,而不是作为插件。例如,开放图形协议使得任何网页都可以集成到社交图谱中。在特定实施例中,结构化文档内基本元数据的存在允许结构化文档内的对象成为图形对象或节点。为了将网页转换成图形对象,在网页中包括开放图形协议<元>标签和可选择选项322。开放图形协议定义了四个属性:题目、类型、图像、URL。
在其他实施例中,XFBML或HTML5可用于实现、呈现或调用可选择选项322(和/或支付信息)。XFBML和HTML5可能要求页面调用JavaScript SDK,也可能将其添加到代码中。在特定实施例中,JavaScript SDK使得网页能够访问支付信息的部分或全部,和/或可选择选项322。此外,客户端应用可以使用JavaScript SDK来监听事件,使得客户端应用实时知道某人何时点击或以其他方式选择可选择选项322。
因此,可以理解,可以使用任何数量的方法或协议来实现、呈现或调用可选择选项322。在美国专利申请系列第13/116945号,2011年5月26日提交,标题为“社会数据输入”,内容为“类似按钮”中更详细地描述了这种方法和协议的示例。通过引用将前述申请的全部内容结合于此。
在用户选择可选择选项322时,用户客户端装置300向支付系统110发送请求支付令牌的支付消息204。具体地,对支付令牌的请求可以是响应于用户选择可选择选项322以完成与支付系统110的交易的来自用户客户端装置300的JavaScript调用。例如,可选择选项322可以与JavaScript代码或其它代码相关联,所述JavaScript代码或其它代码使得用户客户端装置300向支付系统110发送请求,以请求用于用户和商户之间的支付交易的支付令牌。为了说明,JavaScript调用可以包括允许支付系统启动支付交易的信息。例如,JavaScript调用可以包括用户识别符、用于用户客户端装置300的装置识别符和商户识别符,尽管JavaScript调用可以包括用于用户客户端装置300发送到支付系统的附加的或不同的信息。
例如,客户端应用可以获得,识别,或以其他方式发现网络应用程序504的用户的用户识别符(参见图5)。例如,客户端应用可以访问存在于用户的用户客户端装置300上的用户的模糊的(例如,散列的,加密的,或其他算法变换的)用户识别符。该用户识别符可以识别网络应用程序504(例如,社交网络应用程序)的该用户的用户资料/账户。在一个或多个实施例中,用户识别符从由网络应用程序504访问或保留的共享存储器的一部分访问,并且仅在用户当前“登录”到网络应用程序504时才存在。在一个或多个其它实施例中,从用户客户端装置300上的cookie(例如,超文本传输协议(HTTP)cookie)或从应用程序高速缓存(例如,超文本标记语言版本5(HTML5)应用程序高速缓存)访问用户识别符。
该过程可以用作对用户的认证,因为在用户客户端装置300上存在用于网络应用程序504的适当模糊的用户识别符指示用户已经被网络应用程序504认证,并且因此客户端应用程序可以依赖于该先前的认证。此外,在结帐过程的这一点上,用户的详细信息的安全或隐私没有泄漏给客户端应用程序或商户,商户只有模糊的用户识别符。
响应于支付消息204请求支付令牌,支付系统110可以使用ID来识别由支付系统110存储的用户102的支付信息。当用户ID包括模糊的用户识别符时,网络应用程序504可以使用变换函数将用户ID变换为非模糊的用户识别符,该变换函数包括但不限于对模糊的用户识别符应用对称密钥加密函数、对模糊的用户识别符应用公钥(非对称密钥)加密函数、或将模糊的用户识别符与映射到非模糊的用户识别符的模糊的用户识别符列表进行比较。
响应于JavaScript调用,支付系统110可以获得支付令牌,加密支付令牌,并将支付令牌发送到用户客户端装置300。在一个或多个实施例中,用户客户端装置300可以解密支付令牌以允许用户验证与支付令牌相关联的信息。例如,用户客户端装置300可以解密从支付系统接收的数据,并将支付信息和支付令牌的支付卡标签自动填写到如图3C所示的支付信息界面328中。
支付信息可以包括以下的任何可用信息:姓名330(例如,第一、中间、最后)、支付卡的到期日(年和/或月)、与支付卡相关联的账单地址332(包括街道名称、房屋号码、城市、州或省、邮政编码、国家等)、与支付卡相关联的电话号码、以及一个或多个运送地址(包括与账单地址类似的字段)。如前所述,支付系统110将不向客户端应用提供用户的支付卡号码。相反,支付系统110将提供表示支付的支付卡标签334。
如前所述,支付令牌可以特定于客户端应用程序、用户、金额和/或购物车特定(即,仅对特定应用程序、用户、金额和/或购物车有效)。在其他实施例中,支付令牌可以是特定于用户/商业应用组合。支付系统110或卡片网络系统118还可以关联任何数量的不同使用参数。例如,支付令牌可以是一次性令牌。因此,一旦使用一次,支付令牌可能变得无效。此外,支付系统110或卡片网络系统118可以为支付令牌分配有效窗口(例如,10分钟、1小时、1天),在该有效窗口之后支付令牌变为无效。此外,电子支付系统110或卡片网络系统118可以可选地为支付令牌分配生存时间。支付系统110或卡片网络系统118可以将详细购物车信息绑定到支付令牌。这有助于确保支付令牌仅对购物车的购买有效。
在一个或多个实施例中,支付信息界面328允许用户改变与支付令牌相关联的信息。例如,用户可以选择支付信息界面328中的字段并修改信息或输入新信息。为了说明,如果与特定支付凭证相关联的账单地址改变,则用户可以将新的账单地址输入到支付信息界面328中。然后,用户客户端装置300可以将改变的信息发送到支付系统以在支付系统侧(例如,在用户的用户账户中)进行修改。下一次用户选择支付交易的支付方法时,支付系统110可以获得所选择的支付凭证的支付令牌,并且将更新的用户信息包括在支付令牌中。
在客户端应用呈现具有支付字段中的支付信息的支付信息界面328时,用户可以确认订单的购买或者以其他方式在与放置订单选项338相关的小到单点击或者用户输入中完成交易。例如,当e支付系统110提供每个所需支付字段的信息时,用户可以选择“支付”或“订购”按钮或其它可选择选项来完成交易。在替代实施例中,可能要求用户完成一个或多个未提供数据的支付字段,或者以其他方式执行附加操作以完成交易。
在用户确认订单时,用户客户端装置300将支付令牌传递到商户系统。特别地,如果用户客户端装置300解密了支付令牌和与支付令牌相关联的用户信息,则用户客户端装置300可以重新加密支付令牌和用户信息以发送到商户系统。如果用户客户端装置300没有解密支付令牌和与支付令牌相关联的用户信息,则用户客户端装置300可以将加密的令牌从支付系统传递到商户系统。这样,支付系统根据允许用户客户端装置300将支付令牌和其他相关支付信息传递到商户系统而无需支付系统直接与商户系统通信的配置来提供支付令牌。此外,用户每次与商户进行支付交易时,支付系统向用户客户端装置提供最新的支付信息。
在用户客户端装置300向商户系统提供支付令牌和其他相关信息之后,商户系统通过将支付令牌发送到支付网络来处理支付交易。支付网络基于支付令牌是网关支付令牌还是网络支付令牌(例如,是支付网关系统还是生成支付令牌的卡片网络系统)使用支付令牌来确定支付授权号码。此外,支付令牌通过将资金从用户的支付凭证转移到商户系统的支付凭证来处理支付交易。
响应于成功完成支付交易,用户客户端装置300可以从支付系统接收支付交易完成的通知,并且使得客户端应用显示成功支付消息340。成功支付消息340,如图3D所示,可以指示用户的支付帐户成功地对支付金额进行了计费。完成的支付交易还可以使客户端应用更新用户的交易历史,用户可以访问该历史以查看关于先前发起/完成/取消的支付交易的详细信息。或者,如果支付交易未成功完成,则客户端应用可以在客户端应用内显示失败的支付消息。
另外,在接收到支付交易完成的指示之后,用户客户端装置300可以向支付系统发送指示支付交易成功完成的消息。支付系统可以将信息存储在用户的用户帐户中。如果用户请求,则存储支付信息允许支付系统向用户提供购买历史。
参考图1-图3D,相应的文本和示例提供了用于使用支付系统处理电子支付交易的多个不同的系统和装置。除了以上所述,还可以根据流程图来描述实施例,所述流程图包括用于实现特定结果的方法中的动作和步骤。例如,图4示出了根据一个或多个实施例的示例性方法的流程图。
图4示出了处理具有令牌化支付凭证的支付交易的方法400的流程图。方法400包括接收启动用户和商户之间的支付交易的请求的动作402。例如,动作402涉及从与用户相关联的用户客户端装置104接收发起用户与商户之间的支付交易的请求。为了说明,动作402可涉及接收请求以启动支付交易,该支付交易与针对由商户经由商户特定网站或应用程序提供的产品或服务的购买订单相关联。
动作402可以涉及经由包括与商户相关联的内容的应用程序界面,从用户客户端装置104接收应用程序界面调用。为了说明,动作402可涉及经由包括与商户相关联的内容的应用程序界面,从用户客户端装置104接收JavaScript请求。例如,动作402可涉及接收JavaScript请求,该JavaScript请求包括用于获得与用户相关联的支付授权号码的支付令牌并将支付令牌发送到用户客户端装置104的指令。JavaScript请求可以包括支付信息,该支付信息包括用户识别符、商户识别符和支付交易的支付授权号码。
方法400还包括识别支付授权号码的动作404。例如,动作404涉及识别与用户的用户账户相关联的支付授权号码。动作404可涉及识别使用请求中的支付授权号码来发起支付交易的请求。例如,动作404可以涉及从来自用户客户端装置104的JavaScript请求中识别支付授权号码。此外,用户账户可以是包括用户的支付凭证的支付授权号码的社交网络账户。
作为动作404的一部分,或者作为附加动作,方法400包括识别与支付授权号码相关联的用户信息,并且向用户客户端装置104发送具有加密支付令牌的用户信息。例如,识别用户信息可以涉及识别与支付授权号码相关联的账单信息。账单信息可以包括用户的姓名、用户的账单地址和用户的电话号码。
方法400还包括获得支付授权号码的支付令牌的动作406。例如,动作406涉及获得表示对应于支付交易的支付授权号码的支付令牌。动作406可以涉及识别与用户的支付凭证相关联的支付授权号码,向与用户的支付凭证相关联的支付网络112发送对表示支付授权号码的支付令牌的请求,并且从支付网络112接收表示支付授权号码的支付令牌。例如,支付令牌可以是来自支付网络112中的支付网关系统114的网关支付令牌。或者,支付令牌可以是来自支付网络112中的卡片网络系统118的网络支付令牌。
另外,方法400包括加密支付令牌的动作408。例如,动作408可以涉及由一个或多个服务器加密表示支付授权号码的支付令牌。动作408可涉及加密支付令牌以启动用户与商户之间的支付交易,而不管用户客户端装置104的操作系统如何。动作408还可以包括根据支付授权号码的格式加密支付令牌。例如,根据支付授权号码的格式加密支付令牌,可以包括根据与支付授权号码相关联的编号方案将支付令牌加密为具有一组数目的数值。
另外,动作408可以涉及使用与用户客户端装置104相关联的密钥来加密支付令牌,以在用户客户端装置处解密支付令牌。例如,加密密钥可以是只有一个或多个服务器和用户客户端装置104能够访问的密钥。动作408还可以涉及使用与用户客户端装置104的一个或多个服务器相关联的私钥来签名支付令牌。
作为动作408的一部分,或者作为附加动作,方法400可以包括生成包括加密支付令牌和用户信息的支付消息,以及发送用于在包括与商户相关联的内容的应用程序中自动完成支付表单的支付消息。例如,支付消息可以包括加密的支付令牌和用户信息,其格式是用户客户端装置104可以解释用于自动完成支付表单的格式。此外,支付表单可以是由商户生成的用于在应用程序界面内显示的支付表单。
方法400还包括向用户客户端装置发送加密支付令牌以提供给商户系统的动作410。例如,动作410涉及发送用于用户客户端装置104的加密支付令牌,以提供给与支付交易有关的商户相关联的商户系统。动作410还可以涉及发送具有加密支付令牌的加密用户信息,以供用户客户端装置104结合加密支付令牌进行验证。
作为动作410的一部分,或者作为附加动作,方法400还可以包括在向用户客户端装置104发送加密支付令牌之后,在一个或多个服务器没有从商户接收支付令牌的情况下处理支付交易。例如,方法400可包括配置包括加密支付令牌的数据包,以供用户客户端装置104发送到商户,并供商户发送到支付网络112以处理支付交易,而在支付交易期间一个或多个服务器不与商户通信。
图5示出了图1的环境的附加细节的示意图,其包括支付系统110。如图所示,环境100可以包括用户客户端装置104、商户系统106、包括支付系统110的服务器装置108(一个或多个)以及支付网络112。此外,如上文结合图1所述,支付网络112包括支付网关系统114、与支付授权号码相关联的卡片网络系统118以及发行商120。通常,支付系统110允许与用户客户端装置104相关联的用户向与商户系统106相关联的商户发送支付。
图5示出了用户客户端装置104包括具有各种组件的客户端应用502(电子客户端应用程序或web浏览器),并且服务器装置108(一个或多个)包括具有各种组件的网络应用程序程序504和支付系统110。如下面更详细地描述的,客户端应用502、网络应用程序504和支付系统110的组件可以一起工作以允许用户向商户发送支付。
图5的客户端应用502包括用户界面管理器508、用户输入检测器510、消息处理器512、安全管理器514、位置检测器516、支付请求生成器518和数据管理器520。图5示出了网络应用程序504包括通信管理器530、消息数据库534、用户资料数据库536和风险计算器538。如下所述,网络应用程序504还可以可选地包括社交图谱550,社交图谱550包括节点信息552和边界信息554。图5进一步示出支付系统110包括支付管理器540、交易数据库542和令牌管理器546。用户客户端装置104、商户系统106和服务器装置108(一个或多个)的组件中的每一个可以使用任何合适的通信技术彼此通信或与组件通信。将认识到,尽管客户端装置104和支付系统110的组件在图5中示出为分开的,但是任一组件可组合成较少的组件,例如单个设施或模块,或划分成可用于特定实施例的更多组件。尽管图5描述了作为客户端应用502的一部分的某些组件以及作为网络应用程序504或支付系统110的一部分的其他组件,但是本公开不限于此。在替代实施例中,示出为客户端应用502的一部分的一个或多个组件可以是网络应用程序504或支付系统110的一部分,或者反之亦然。类似地,示出为网络应用程序504的一部分的一个或多个组件可以是支付系统110的一部分,或者反之亦然。
这些组件可以包括软件、硬件或两者。例如,组件可以包括存储在非瞬时性计算机可读存储介质上并且可由客户端装置或服务器装置(一个或多个)的至少一个处理器执行的计算机指令。当由至少一个处理器执行时,计算机可执行指令可使(一个或多个)客户端装置(一个或多个)或(多个)服务器装置执行本文所述的方法和过程。可替换地,组件可以包括硬件,例如用于执行特定功能或功能组的专用处理装置。附加地或替代地,组件可以包括计算机可执行指令和硬件的组合。
在一个或多个实施例中,客户端应用502是安装在客户端装置上的本地应用。例如,客户端应用502可以是安装并在诸如智能电话或平板电脑的移动装置上运行的移动应用。在另一个示例中,客户端应用502可以是桌面应用程序,小部件,或其他形式的本地计算机程序。可替换地,客户端应用502可以是客户端装置访问的远程应用。例如,客户端应用502可以是在客户端装置的web浏览器内执行的web应用程序。
如上所述,以及如图5所示,客户端应用502可以包括用户界面管理器508。用户界面管理器508提供、管理和/或控制图形用户界面(或简称为“用户界面”),该图形用户界面允许用户查看与商户相关联的内容和/或与商户进行支付交易。例如,用户界面管理器508可以提供用于从商户浏览和购买商品或服务的用户界面。用户界面管理器508还可以允许用户基于客户端应用502提供的通信能力或客户端应用502内的界面与商户通信。
更具体地,用户界面管理器508可以促进用户界面的显示(例如,通过与对应客户端装置相关联的显示装置的方式)。例如,用户界面可以由允许用户撰写,发送和接收消息或支付的多个图形组件,对象和/或元素组成。更具体地,用户界面管理器508可以指示客户端装置显示使用户能够查看与商户相关联的产品的一组图形组件、对象和/或元素。另外,用户界面管理器508可以允许用户经由一个或多个通信媒体与商户通信,例如通过允许用户经由电子邮件或即时消息与商户通信。
此外,用户界面管理器508可以指导客户端装置显示一个或多个图形对象或元素,该图形对象或元素便于用户输入以从商户购买产品。为了说明,用户界面管理器508可以提供允许用户向客户端应用502提供用户输入的用户界面。例如,用户界面管理器508可以提供允许用户浏览与商户相关联的内容的一个或多个用户界面。
用户界面管理器508可以促进与支付交易相关的文本或其他数据的输入。例如,用户界面管理器508可以提供包括键盘的用户界面。用户可以使用一个或多个触摸手势与键盘交互以选择文本以提供用于支付交易的信息。例如,用户可以使用键盘以键入与支付凭证相关联的用户信息或支付信息,以完成从商户的购买。除了文本之外,包括键盘界面的用户界面可以促进各种其他字符、符号、图标或其他字符信息的输入。
如图5中进一步所示,客户端应用502可以包括用户输入检测器510。在一个或多个实施例中,用户输入检测器510可以以任何合适的方式检测、接收和/或促进用户输入。在一些示例中,用户输入检测器510可以检测关于用户界面的一个或多个用户交互。如本文所提及,“用户交互”意指通过一个或多个输入设备的方式从用户接收的单个交互或交互的组合。
例如,用户输入检测器510可以检测来自键盘,鼠标,触摸板,触摸屏,和/或任何其他输入装置的用户交互。在客户端装置包括触摸屏的情况下,用户输入检测器510可以检测来自形成用户交互的用户的一个或多个触摸手势(例如,滑动手势、轻击手势、捏手势或反向捏手势)。在一些示例中,用户可以提供与用户界面的一个或多个图形对象或图形元素相关和/或指向该一个或多个图形对象或图形元素的触摸手势。
用户输入检测器510可以附加地,或可选地,接收表示用户交互的数据。例如,用户输入检测器510可以从用户接收一个或多个用户可配置参数,从用户接收一个或多个用户命令,和/或任何其他合适的用户输入。用户输入检测器510可从客户端应用502的一个或多个组件、从用户客户端装置104上的存储器、或从一个或多个远程位置(例如,网络应用程序)接收输入数据。
响应于用户输入检测器510检测到用户输入和/或接收其他数据,客户端应用502可以执行一个或多个功能。通常,用户可以通过提供用户输入检测器510可以检测到的一个或多个用户输入来控制、在客户端应用程序502内导航以及以其他方式使用客户端应用502。例如,响应于用户输入检测器510检测到用户输入,客户端应用502的一个或多个组件允许用户经由支付系统110发送对商户提供的产品进行支付的请求。此外,响应于用户输入检测器510检测到用户输入,客户端应用502的一个或多个组件允许用户通过一个或多个用户界面导航以查看所接收的消息、联系人、交易历史等。
在一个或多个实施例中,响应于用户输入检测器510检测到一个或多个用户输入,客户端应用502可以允许用户与商户进行支付交易。例如,用户可以与用户界面中提供的支付元素交互。在检测到与支付元素的用户交互时,用户输入检测器510可以使用户界面管理器508提供用于发起与商户的支付交易的用户界面。因此,响应于用户输入检测器510检测到一个或多个用户输入,客户端应用502可以允许用户发起用户和商户之间的支付交易。
如图5中进一步所示,客户端应用502包括消息处理器512,该消息处理器512管理提供给客户端应用502或从客户端应用502发送的消息。如本文所使用的,术语“消息”包括由装置生成以向另一装置发送信息的任何通信。因此,消息或支付消息可以包括进入支付交易的请求。例如,消息处理器512可以与用户界面管理器508和用户输入检测器510交互,以使用客户端应用502协调消息的发送和接收。消息处理器512可以在多个参与者之间的电子消息会话的过程中,指导向网络应用程序发送消息和从网络应用程序接收消息。消息处理器512可以组织传入和传出消息,并指导用户界面管理器508显示消息。
在一个或多个实施例中,消息处理器512可便于经由客户端应用程序502接收和发送数据。特别地,消息处理器512可以便于发送和接收消息。例如,如本文所述,消息处理器512可以打包要包括在消息中的内容,并以能够通过一个或多个通信信道并使用适当的通信协议来发送的任何必要形式,格式化消息。为了说明,消息处理器512可在支付交易过程的各个阶段,将支付交易信息发送到服务器装置(多个)。类似地,消息处理器512可以处理客户端装置从其他用户接收的消息。
此外,消息处理器512可以促进与支付交易相关联的支付的发送。特别地,图5示出了客户端应用502可以包括支付请求生成器518,该支付请求生成器518可以生成支付请求,消息处理器512可以将该支付请求发送到网络应用程序或支付系统110以启动支付过程/交易。例如,在发送者在用户界面上选择支付元素时,支付请求生成器518可以创建包括从用户接收的支付信息的数据包。支付请求可以包括要作为支付交易的一部分发送的金额的指示,以及允许网络应用程序和支付系统110执行支付交易的任何必要信息。
在一个或多个实施例中,支付请求生成器518可以创建数据包,该数据包包括支付金额、一个或多个用户识别符、一个或多个商户识别符、一个或多个支付方法或发送者账户信息(例如,支付授权号码)、授权信息、货币信息、消息或支付描述、和/或有助于促进从发送者到接收者的支付的任何其他数据。支付请求生成器518可以基于由商户系统106提供的界面中的JavaScript调用中的指令,来确定要在数据包中提供的信息。支付请求生成器518可以将支付请求(例如,包括支付信息的数据包)传递到消息处理器512以发送到支付系统110。
支付请求生成器518还可以从各种来源获得支付信息。例如,支付请求生成器518可以经由用户输入检测器510直接从发送者获得支付信息。附加地或替代地,支付请求生成器518可以获得对由数据管理器520维护在客户端装置上的支付信息的访问。例如,客户端应用502可以允许用户输入和保存各种支付方法和/或识别默认支付方法,默认货币,以及其他方式指定与发送和/或接收支付相关的其他用户偏好。
支付请求生成器518还可基于经由客户端应用502来自用户的输入,来促进消息的格式化。具体地,支付请求生成器518可以便于根据相应的支付方法格式化支付请求。例如,支付请求生成器518可以确定用户已经在支付交易(例如,信贷交易或借记交易)中输入了支付商户的请求,并且相应地向商户格式化支付请求。
在一个或多个实施例中,支付请求生成器518可以访问支付请求内的令牌并提供支付请求内的令牌。令牌可以是来自服务器装置108(一个或多个)的令牌,以参考由支付系统110存储的支付凭证。例如,支付请求生成器518可以检索令牌以包括在支付请求中或与支付请求一起包括,该支付请求验证发送者和/或发送者客户端装置是否被授权使用由支付系统110存储的支付凭证进行支付。可替换地,令牌可以参考存储在服务器装置108(一个或多个)处的支付令牌。
如上所述,客户端应用502还可以包括安全管理器514。安全管理器514可以加密或解密与安全支付交易相关的信息。具体地,安全管理器514可以访问与支付系统110相关联的安全密钥,以加密或解密与支付交易相关联的信息(例如,支付令牌、支付信息)。例如,安全管理器514可以从支付系统110接收加密的数据包,并解密数据包以允许用户验证数据包中的信息,诸如支付令牌和与支付凭证相关联的用户信息。
客户端应用502还可以包括位置检测器516。位置检测器516可以基于来自客户端装置的GPS信息、小区塔三角测量、WiFi接收信号强度指示、WiFi无线指纹、射频识别、近场通信、通过分析消息或基于来自其他源的数据,来访问或识别客户端装置的位置。然后,位置检测器516可以将客户端装置的位置提供给网络应用程序504或支付系统110。
如上所述,客户端装置可包含数据管理器520,如图5中所示。数据管理器520可以维护表示与和商户进行支付交易相关联地使用的数据的消息数据。例如,消息数据可以包括支付交易日志,购买历史,内容,过去的通信,以及客户端应用502可以结合向用户提供使用客户端应用502与商户进行支付交易的能力来使用的其他类似类型的数据。
数据管理器520还可以维护表示用于生成支付请求的信息的支付数据。例如,支付数据可以包括支付方法数据(即,凭证)和/或账户数据(例如,银行或信用卡账户数据)。此外,支付数据可以包括支付偏好(例如,默认支付方法)。通常,支付数据可以包括支付请求生成器518可以结合生成支付而使用的任何数据。
如上简单所述,环境100还可以包括全部或部分地在服务器装置108(一个或多个)上实现的网络应用程序504。在本公开的一个或多个实施例中,网络应用程序504包括社交网络系统(诸如但不限于Facebook(TM)),但是在其他实施例中,网络应用程序504可以包括另一类型的应用,包括但不限于电子邮件应用、搜索引擎应用、银行应用或利用用户账户的任何数目的其他应用类型。
在网络应用程序504包括社交网络系统的一个或多个实施例中,网络应用程序可以包括用于表示和分析多个用户和概念的社交图谱550。社交图谱550的节点存储可以存储节点信息552,节点信息552包括用于用户的节点、用于概念的节点、用于交易的节点和用于项目的节点。社交图谱的边存储可以存储包括在社交网络系统内发生的节点之间的关系和/或动作的边界信息554。关于社交网络系统、社交图谱、边和节点的进一步细节在下面参照图8中呈现。
通信管理器530可以处理从客户端应用502接收的消息。例如,通信管理器530可以与客户端应用502的消息处理器512交互。通信管理器530可以接收和管理来自用户的支付请求。通信管理器530可从客户端应用502接收支付请求,检测与支付请求相关联的支付信息,并将该信息传递到支付系统110。
网络应用程序还可以包括消息数据库534。消息数据库534可以维护与支付交易相关联的消息数据,该支付交易涉及参与支付交易的用户或商户的身份。具体地,消息数据库534可以维护用户与一个或多个商户的约定的历史,以用于识别用户的兴趣或偏好。例如,消息数据库534可以基于用户从其购买产品的商户的类型,来维护表示用户兴趣的信息,社交图谱550可以访问这些商户以影响节点信息552或用户的边界信息554。消息数据库534还可以编辑支付系统110与网络应用程序504分开维护的敏感信息(例如,支付信息)。另外,或者可替换地,如下所述,可以在交易数据库542中维护这样的信息。
如前所述,服务器装置(一个或多个)可以包括具有支付管理器540的支付系统110。图5的支付管理器540可以集成支付请求的发送和接收,并发起支付交易,并且可以使用一个或多个应用程序编程接口(API)。例如,在通信管理器530接收到支付请求时,通信管理器530可以向支付管理器540发送任何支付细节。然后,支付管理器540可以使用从支付请求中检索到的支付细节来启动使用支付网络112的支付交易。
根据一个或多个实施例,服务器装置108(一个或多个)可以将支付系统110与网络应用程序504分开地维护。例如,服务器装置108(一个或多个)可以实现与支付系统110相关联的支付过程,该支付过程与网络应用程序的至少一些功能分开(例如,使用用于恢复的消息数据库)。为了说明,服务器装置108(一个或多个)可以在一个或多个服务器的第一组上实现支付系统110的功能,并且在一个或多个服务器的第二组上实现网络应用程序504的功能。在分开的服务器上实现支付系统110和网络应用程序504的功能可以允许支付系统确保与用户相关联的金融信息中的至少一些与网络应用程序504分开被维护,以符合支付卡行业(PCI)标准。本文描述的服务器和/或软件的替代配置也可以允许服务器装置108(一个或多个)遵守PCI标准。
支付管理器540可以协调与支付请求中定义的支付相对应的交易。通常如上所述,支付管理器540可以经由支付网络112协调与支付请求相对应的交易,监视交易的状态,并提供关于交易的状态信息。更具体地,支付网络112可以授权交易、为交易提供资金和/或结算单个交易或一批交易。在一个或多个实施例中,支付管理器540可以使用一个或多个应用程序编程接口(API)来与支付网络112通信相关信息。
在附加或替代实施例中,用户客户端装置104上的客户端应用502可以使用户客户端装置104并行地向网络应用程序504和支付系统110发送支付请求。特别地,当客户端应用502接收到用户选择向商户支付金额时,客户端应用502可以使用户客户端装置104向网络应用程序504和支付系统110发送支付请求。因此,网络应用程序504可以在支付系统110也在处理与支付请求相关联的支付交易的同时处理支付请求。在替代实施例中,用户客户端装置104可以将消息发送到与网络应用程序504相关联的一个或多个服务器,然后该服务器可以将消息转发到支付系统110,或者反之亦然。
为了完成交易,支付管理器540可以访问或获得用户的支付凭证。具体地,支付管理器540识别与用户的支付账户相关联的用户的支付凭证(例如,支付授权号码或支付令牌)。支付管理器540可以向网络应用程序504注册用户的一个或多个支付账户或其他支付凭证。在额外的实施例中,支付系统110还能够直接与与支付系统110集成的商户系统处理支付交易。因此,支付系统110还可以直接与那些商户系统管理支付交易。
在用户注册存款账户或其他支付凭证时,用户资料数据库536可以为用户维护支付凭证或与支付凭证相关联的用户信息。如上所述,用户资料数据库536为用户存储用户资料信息。在一个或多个实施例中,用户资料信息包括信用卡、借记卡、存款账户或其他银行账户、礼品卡账户、商店信用账户等的支付凭证(即,表示支付授权号码的支付令牌,如前面所述)。用户资料数据库536还可以存储与支付凭证相关联的附加信息,例如到期日期、安全代码、地址信息和/或其他信息。用户资料信息还可以包括用于一个或多个商户或共同用户的支付交易的一个或多个默认支付方法。用户资料信息还可以包括用户的识别信息,例如姓名、地址等,以允许支付管理器540结合支付交易向用户客户端装置104提供信息。
在一个或多个附加实施例中,支付管理器540可与风险计算器538通信以确定与发送者、接收者和/或特定支付交易相关联的风险。具体地,风险计算器538可以基于与发送者/接收者相关联的信息来确定发送者/接收者是否是欺诈者,以防止欺诈性支付交易。例如,风险计算器538可以基于与与网络应用程序相关联的发送者/接收者相关联的活动或信息来确定欺诈活动的可能性。确定与支付交易中所涉及的用户相关联的风险对于确定是否处理特定支付交易也是有用的。
例如,在一个或多个实施例中,网络应用程序可以确定与特定用户相关联的风险是否满足预定阈值。具体地,网络应用程序可以基于“真实性”分数来确定用户是否是欺诈者(例如,欺诈账户或冒充真人的软件)。例如,如果与发送者相关联的风险低于预定阈值(即,高风险水平),则网络应用程序程序可以确定用户可能是欺诈者,并通知支付系统110该用户是欺诈者。如果用户具有高风险级别,则支付系统110可以停止用户和商户之间的支付交易。
在附加实施例中,在确定与用户相关联的风险之后,网络应用程序504可以执行与该风险相关联的一个或多个动作。具体地,网络应用程序504可以执行允许网络应用程序504验证用户的身份的动作。例如,网络应用程序504可以识别与用户相关联的信息,该信息指示该用户是用户所声称的用户。为了说明,网络应用程序504可访问用户的购买历史或消息数据库534或用户资料数据库536中的其它存储信息,其可影响用户的风险水平或真实性分数。
在附加或替代实施例中,响应于确定用户的风险水平,网络应用程序504可以自动执行关于支付请求或支付交易的一个或多个动作。具体地,网络应用程序504可以执行影响支付请求或用户与商户之间的对应支付交易的动作,而无需向用户请求附加信息。例如,网络应用程序504可以允许支付交易(例如,通过获得支付令牌并将其发送到用户客户端装置104),或者阻止支付交易(例如,通过拒绝将支付令牌发送到用户客户端装置104),或者禁用用户在网络应用程序504中的账户。
在任何情况下,在接收到来自用户的支付请求时,支付管理器540可以检测用户的用户(或组)ID,并检索该用户(或实体)的支付资料。支付管理器540然后可以获得表示与用户的支付账户相关联的支付授权号码的支付令牌。具体地,支付管理器540可以响应于向支付网络112发送支付授权号码而与支付网络112通信以获得支付令牌。在接收到支付令牌之后,支付管理器540可以将支付令牌作为支付交易的一部分发送到用户客户端装置104。
支付管理器540可以执行各种其它附加步骤和方法,以便有效地管理支付过程。在一个或多个实施例中,例如,在接收到支付请求时,支付管理器540可以生成交易识别符(或简称为“交易ID”),并将该交易识别符与支付请求和/或支付请求内的支付信息相关联。例如,在生成交易ID时,支付管理器540可以将交易ID和支付信息发送到交易数据库542。交易数据库542可以包括根据交易ID存储交易信息的数据表或类似数据矩阵。
图5的交易数据库542可以为每个交易(例如,以图形对象的形式)、尝试的或完成的、交易ID、日期、交易的金额、所使用的支付方法以及在交易上收集的任何其他信息提供存储。交易数据库542还可以存储交易信息,诸如与用户相关联的请求和特定交易的条款。利用该信息,支付管理器540可以根据请求向用户提供一个或多个交易的内容,作为所请求的支付、拒绝的支付和完成的支付的历史。
在一个或多个实施例中,在交易ID与特定支付请求相关联之后,交易ID可以包括在或嵌入在与特定支付相关的支付系统内的基本上所有通信中。这样,交易ID允许支付管理器540以有组织的方式管理和处理大量支付。例如,支付管理器540可以包括将交易ID包括在发送到客户端装置的任何信息中的指令。相反,消息处理器512还可以将交易ID包括在从客户端装置发送的任何信息中,以允许支付管理器540高效且可靠地识别该信息对应的特定交易。
在一个或多个实施例中,交易ID可以与一个或多个用户识别符、商户识别符、支付金额、支付方法(例如,用户账户)、存款方法(例如,商户账户)、交易历史、当前交易状态以及其他交易信息相关联。在一个或多个实施例中,交易数据库542以关于交易的任何更新或动作来更新的一个或多个图形对象的形式来维护交易信息。
如上所述,支付系统110还可以包括令牌管理器546。令牌管理器546可以管理与支付系统的用户相关联的支付令牌。例如,在支付管理器540从支付网络112请求并获得用于用户的支付授权号码的支付令牌之后,令牌管理器546可以将支付令牌与用户的用户账户相关联。令牌管理器546可以通过存储信息将网络支付令牌与用户的用户资料相关联,该信息将支付令牌链接到用户的用户资料,例如在用户资料数据库536处。
当支付管理器540接收到新的支付请求时,令牌管理器546可以与支付管理器540和用户资料数据库536通信。具体地,令牌管理器546基于识别用户的用户资料的支付信息,来识别发送支付请求的用户的网络支付令牌。令牌管理器546还可以识别与用户相关联的其他令牌,诸如允许用户发起支付交易的任何安全/认证令牌,这可以服务于各种实施例。
令牌管理器546还可以管理与支付交易相关的支付令牌的加密。特别地,向用户客户端装置提供支付令牌和用户信息以使用户客户端装置传递到用于支付交易的商户系统,可以包括加密支付令牌和用户信息。例如,令牌管理器546可以使用加密密钥加密数据包中的支付令牌和用户信息以发送到用户客户端装置。在一个或多个实施例中,令牌管理器546使用只有支付系统110和用户客户端装置104可以访问的加密密钥。或者,令牌管理器546可以使用商户系统106可以访问的加密密钥。令牌管理器546可以根据PCI标准,以允许用户客户端装置104将数据包传递到商户系统106而商户系统106不获得对支付授权号码的访问的方式,来加密数据包。
本公开的实施例可包括或利用专用或通用计算机,如下面更详细描述的,该计算机包括计算机硬件,例如,一个或多个处理器和系统存储器。本公开范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其它计算机可读介质。特别地,本文描述的一个或多个处理可以至少部分地实现为包含在非瞬时计算机可读介质中并且可由一个或多个计算装置(例如,本文描述的任何媒体内容访问装置)执行的指令。通常,处理器(例如,微处理器)从非瞬时计算机可读介质(例如,存储器等)接收指令,并且执行这些指令,从而执行一个或多个过程,包括本文描述的一个或多个处理。
计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非瞬时的计算机可读存储介质(装置)。承载计算机可执行指令的计算机可读介质是传输介质。因此,通过示例而非限制,本公开的实施例可包括至少两种明显不同类型的计算机可读介质:非瞬时性计算机可读存储介质(装置)和传输介质。
非瞬时性计算机可读存储介质(装置)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如,基于RAM)、闪存、相变存储器(“PCM”)、其它类型的存储器、其它光盘存储器、磁盘存储器或其它磁存储装置、或可用于以计算机可执行指令或数据结构的形式存储期望的程序代码设备并且可由通用或专用计算机访问的任何其它介质。
“网络”定义为一个或多个数据链路,用于在计算机系统和/或模块和/或其他电子装置之间传输电子数据。当信息通过网络或另一通信连接(或硬连线,无线或硬连线或无线的组合)传输或提供给计算机,则计算机正确地将连接视为传输介质。传输介质可包括网络和/或数据链路,其可用于以计算机可执行指令或数据结构的形式承载期望的程序代码设备,且其可由通用或专用计算机访问。上述组合也应包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件时,以计算机可执行指令或数据结构形式的程序代码设备可以自动地从传输介质传输到非瞬时性计算机可读存储介质(装置)(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓冲在网络接口模块(例如,“NIC”)内的RAM中,以及然后最终传送到计算机系统RAM和/或计算机系统处的较低易失性计算机存储介质(装置)。因此,应当理解,非瞬时性计算机可读存储介质(装置)可以包括在也(或甚至主要)使用传输介质的计算机系统组件中。
计算机可执行指令包括,例如,指令和数据,当在处理器上执行时,导致通用计算机,专用计算机,或专用处理装置来执行某些功能或功能组。在一个或多个实施例中,计算机可执行指令在通用计算机上执行,以将通用计算机转变为实现本公开元件的专用计算机。计算机可执行指令可以为,例如,二进制,中间格式指令,例如汇编语言,或者甚至源代码。虽然已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中定义的主题没必要限于上述描述的特征或动作。相反,所描述的特征和动作被公开为实现权利要求的示例形式。
本领域技术人员将理解,本公开可以在具有多种类型的计算机系统配置的网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持装置、多处理器系统、基于微处理器的或可编程的消费者电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板电脑、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实施,其中本地和远程计算机系统通过网络链接(或者通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合),两者都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器装置中。
本公开的实施例还可以在云计算环境中实现。在本说明书中,“云计算”被定义为用于使能对共享的可配置计算资源池的按需网络访问的模型。例如,云计算可以在市场中被采用以提供对共享的可配置计算资源池的普遍且方便的按需访问。共享的可配置计算资源池可以通过虚拟化快速地提供,并且以低管理成本或服务提供商交互来释放,以及然后相应地缩放。
云计算模型可以由各种特性组成,例如,按需自助服务,广泛的网络访问,资源池,快速弹性,可测量的服务等等。云计算模型还可以公开各种服务模型,例如,软件即服务(“SaaS”),平台即服务(“PaaS”),以及基础设施即服务(“IaaS”)。云计算模型还可以使用不同的部署模型进行部署,例如私有云,社区云,公共云,混合云等等。在本说明书和权利要求中,“云计算环境”是云计算被采用的环境。
图6示出了示例性计算装置600的框图,其可被配置为执行上述处理中的一个或多个。应当理解,诸如计算装置600的一个或多个计算装置可以实现支付系统110。如图6所示,计算装置600可包括处理器602、存储器604、存储装置606、I/O接口608和通信接口610,通信接口610可通过通信基础设施612通信地耦合。虽然示例性计算装置600在图6中示出,但是图6中所示的组件并不旨在是限制性。在其它实施例中可以使用附加的或可替换的组件。此外,在某些实施例中,计算装置600可以包括比图6所示的组件更少的组件。现在将以附加的细节描述图6中所示的计算装置600的组件。
在一个或多个实施例中,处理器602包括用于执行指令的硬件,诸如构成计算机程序的那些指令。作为示例而不是作为限制,为了执行指令,处理器602可以从内部寄存器,内部高速缓存,存储器604,或存储装置606检索(或获取)指令,并解码和执行它们。在一个或多个实施例中,处理器602可包括用于数据、指令或地址的一个或多个内部高速缓存。作为示例而不是作为限制,处理器602可以包括一个或多个指令高速缓存,一个或多个数据高速缓存,以及一个或多个翻译旁视缓冲器(TLB)。指令高速缓存中的指令可以是存储器604或存储装置606中的指令的副本。
存储器604可用于存储数据、元数据和程序,以供处理器执行(多个)。存储器604可以包括易失性和非易失性存储器中的一个或多个,诸如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据存储。存储器604可以是内部存储器或分布式存储器。
存储装置606包括用于存储数据或指令的存储器。作为示例而不是作为限制,存储装置606可以包括上述的非瞬时性存储介质。存储装置606可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带、或通用串行总线(USB)驱动器或它们中的两个或多个的组合。存储装置606可在适当的情况下包括可移动或不可移动(或固定)介质。存储装置606可以在计算装置600的内部或外部。在一个或多个实施例中,存储装置606是非易失性固态存储器。在其它实施例中,存储装置606包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改变ROM(EAROM)或闪存,或它们中的两个或多个的组合。
I/O接口608允许用户向计算装置600提供输入、从计算装置600接收输出以及以其他方式向计算装置600传送数据和从计算装置600接收数据。I/O接口608可包括鼠标、小键盘或键盘、触摸屏、照相机、光学扫描器、网络接口、调制解调器、其它已知I/O装置或这些I/O接口的组合。I/O接口608可以包括用于向用户呈现输出的一个或多个装置,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器以及一个或多个音频驱动器。在某些实施例中,I/O接口608被配置为向显示器提供图形数据以呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可以服务于特定实现的任何其他图形内容。
通信接口610可以包括硬件、软件或两者。在任何情况下,通信接口610可以提供用于计算装置600与一个或多个其他计算装置或网络之间的通信(例如,基于分组的通信)的一个或多个接口。作为示例而不是作为限制,通信接口610可包括用于与以太网或其它基于有线的网络通信的网络接口控制器(NIC)或网络适配器,或用于与诸如Wi-Fi的无线网络通信的无线NIC(WNIC0或无线适配器。
附加地或可替换地,通信接口610可以促进与自组织网络、个人区域网络(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或因特网的一个或多个部分或它们中的两个或多个的组合的通信。这些网络中的一个或多个的一个或多个部分可以是有线的或无线的。例如,通信接口610可促进与无线PAN(WPAN)(例如,例如,蓝牙WPAN)、Wi-Fi网络、Wi-Max网络、蜂窝电话网络(例如,对于全球移动通信系统(GSM)网络)、或其他合适的无线网络或其组合的通信。
此外,通信接口610可以促进各种通信协议的通信。可以使用的通信协议的示例包括:但不限于此,数据传输介质,通信装置,传输控制协议(“TCP”),因特网协议(“IP”),文件传输协议(“FTP”),Telnet,超文本传输协议(“HTTP”),安全超文本传输协议(“HTTPS”)、会话发起协议(“SIP”)、简单对象访问协议(“SOAP”)、可扩展标记语言(“XML”)及其变体、简单邮件传输协议(“SMTP”)、实时传输协议(“RTP”)、用户数据报协议(“UDP”)、全球移动通信系统(“GSM”)技术、码分多址(“CDMA”)技术、时分多址(“TDMA”)技术、短消息服务(“SMS”)、多媒体消息服务(“MMS”)、射频(“RF”)信令技术、长期演进(“LTE”)技术、无线通信技术、带内和带外信令技术以及其他合适的通信网络和技术。
通信基础设施612可包括将计算装置600的组件彼此耦合的硬件、软件或两者。作为示例而不是作为限制,通信基础设施612可以包括加速图形端口(AGP)或其它图形总线,增强型工业标准体系结构(EISA)总线,前端总线(FSB),超传输(HT)互连,工业标准体系结构(ISA)总线,InfiniBand互连,低引脚计数(LPC)总线,存储器总线,微通道体系结构(MCA)总线,外围组件互连(PCI)总线,PCI-Express(PCIe)总线,串行高级技术附件(SATA)总线,视频电子标准协会本地(VLB)总线,或其它合适的总线或其组合。
如上所述,支付系统110可以包括社交网络系统。社交网络系统可使其用户(例如个人或组织)能够与系统交互并彼此交互。社交网络系统可以利用来自用户的输入,在社交网络系统中创建并存储与用户相关联的用户资料。用户资料可以包括人口统计信息、通信信道信息和关于用户的个人兴趣的信息。社交网络系统还可以利用来自用户的输入,创建并存储用户与社交网络系统的其他用户的关系的记录,以及提供服务(例如,贴墙帖子、照片共享、在线日历和事件组织、消息传递、游戏或广告)以促进用户之间的社交交互。此外,社交网络系统可允许用户将照片和其他多媒体内容项张贴到用户的资料页面(通常称为“墙贴”或“时间线贴”)或相册中,这两者都可由社交网络系统的其他用户根据用户配置的隐私设置来访问。
图7示出了社交网络系统的示例网络环境700。网络环境700包括通过网络704彼此连接的客户端系统706、社交网络系统702和第三方系统708。虽然图7示出了客户端系统706、社交网络系统702、第三方系统708和网络704的特定布置,但是本公开考虑了客户端系统706、社交网络系统702、第三方系统708和网络704的任何合适布置。作为示例而不是作为限制,客户端系统706、社交网络系统702和第三方系统708中的两个或更多个可以绕过网络704彼此直接连接。作为另一示例,客户端系统706、社交网络系统702和第三方系统708中的两个或更多个可以在物理上或逻辑上完全或部分地彼此同处一处。此外,尽管图7示出了特定数量的客户端系统706、社交网络系统702、第三方系统708和网络704,但是本公开考虑了任何合适数量的客户端系统706、社交网络系统702、第三方系统708和网络704。作为示例而不是作为限制,网络环境700可以包括多个客户端系统706、社交网络系统702、第三方系统708和网络704。
本公开考虑了任何合适的网络704。作为示例而不是作为限制,网络704的一个或多个部分可以包括自组织网络,内联网,外联网,虚拟专用网络(VPN),局域网(LAN),无线LAN(WLAN),广域网(WAN),无线WAN(WWAN),城域网(MAN),因特网的一部分,公共交换电话网络(PSTN)的一部分,蜂窝电话网络,或这些的两个或多个的组合。网络704可以包括一个或多个网络704。
链路可以将客户端系统706、社交网络系统702和第三方系统708连接到通信网络704或者彼此连接。本公开考虑了任何合适的链路。在特定实施例中,一个或多个链路包括一个或多个有线链路(诸如示例数字用户线(DSL)或有线数据服务接口规范(DOCSIS)、无线链路(诸如Wi-Fi或微波接入全球互操作性(WiMAX)))或光链路(诸如同步光网络(SONET)或同步数字分层链路(SDH))。在特定实施例中,一个或多个链路各自包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、因特网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路或两个或多个这样的链路的组合。在整个网络环境700中,链路没必要是相同的。一个或多个第一链接可以在一个或多个方面不同于一个或多个第二链路。
在特定实施例中,客户端系统706可以是包括硬件、软件或嵌入式逻辑组件或两个或更多这样的组件的组合的电子装置,并且能够执行由客户端系统706实现或支持的适当功能。作为示例而不是作为限制,客户端系统706可以包括上面结合图7讨论的任何计算装置。客户端系统706可使客户端系统706处网络用户能够访问网络704。客户端系统706可使其用户能够与其它客户端系统706处的其它用户通信。
在特定实施例中,客户端系统706可包括web浏览器932,诸如Microsoft InternetExplorer、Google Chrome或Mozilla Firefox,并且可具有一个或多个附件、插件或其它扩展,诸如工具栏或雅虎工具栏。客户端系统706处的用户可输入将web浏览器引导到特定服务器(诸如服务器或与第三方系统708相关联的服务器)的统一资源定位符(URL)或其它地址,并且web浏览器可生成超文本传输协议(HTTP)请求并将HTTP请求通信到服务器。服务器可接受HTTP请求并响应于HTTP请求将一个或多个超文本标记语言(HTML)文件通信到客户端系统706。客户端系统706可基于来自服务器的HTML文件呈现网页以呈现给用户。本公开考虑了任何合适的网页文件。作为示例而不是作为限制,网页可以根据特定需要从HTML文件,可扩展超文本标记语言(XHTML)文件,或可扩展标记语言(XML)文件呈现。这样的页面还可以执行脚本,例如,但不限于,用JavaScript、Java、Microsoft Silverlight编写的脚本,标记语言和脚本的组合,例如Ajax(异步JavaScript和XML)等。这里,在适当的情况下,对网页的引用包括一个或多个对应的网页文件(浏览器可以使用该网页文件来呈现网页),并且反之亦然。
在特定实施例中,社交网络系统702可以是可承载在线社交网络的可网络寻址计算系统。社交网络系统702可以生成,存储,接收和发送社交网络数据,例如,用户资料数据,概念资料数据,社交图谱信息,或与在线社交网络相关的其他合适的数据。社交网络系统702可由网络环境700的其它组件直接访问或经由网络704访问。在特定实施例中,社交网络系统702可以包括一个或多个服务器。每个服务器可以是一个单一的服务器,或者可以是跨越多台计算机或多个数据中心的分布式服务器。服务器可以是各种类型的,例如,但不限于,web服务器,新闻服务器,邮件服务器,消息服务器,广告服务器,文件服务器,应用服务器,交换服务器,数据库服务器,代理服务器,适于执行本文描述的功能或过程的另一服务器,或其任意组合。在特定实施例中,每个服务器可以包括硬件、软件或嵌入式逻辑组件,或者两个或多个这样的组件的组合,用于执行由服务器实现或支持的适当功能。在特定实施例中,社交网络系统702可以包括一个或多个数据存储。数据存储可用于存储各种类型的信息。在特定实施例中,存储在数据存储中的信息可根据特定数据结构来组织。在特定实施例中,每个数据存储可以是关系数据库、列数据库、相关数据库或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开考虑了任何合适类型的数据库。特定实施例可提供使客户端系统706、社交网络系统702或第三方系统708能够管理、检索、修改、添加或删除存储在数据存储中的信息的接口。
在特定实施例中,社交网络系统702可以在一个或多个数据存储中存储一个或多个社交图谱。在特定实施例中,社交图谱可以包括多个节点——其可以包括多个用户节点(每个对应于特定用户)或多个概念节点(每个对应于特定概念)——以及连接这些节点的多条边。社交网络系统702可以向在线社交网络的用户提供与其他用户通信和交互的能力。在特定实施例中,用户可以经由社交网络系统702加入在线社交网络,以及然后将连接(例如,关系)添加到他们希望连接到的社交网络系统702的多个其他用户。这里,术语“朋友”可以指社交网络系统702的任何其他用户,用户已经通过社交网络系统702与该用户形成了连接、关联或关系。
在特定实施例中,社交网络系统702可向用户提供对社交网络系统702支持的各种类型的项目或对象采取动作的能力。作为示例而不是作为限制,项目和对象可以包括社交网络系统702的用户可以所属的组或社交网络,用户可能感兴趣的事件或日历条目,用户可以使用的基于计算机的应用,允许用户通过服务购买或销售项目的交易,与用户可以执行的广告的交互,或其他合适的项目或对象。用户可以与能够在社交网络系统702中或由第三方系统708的外部系统表示的任何事物交互,第三方系统708与社交网络系统702分离并且经由网络704耦合到社交网络系统702。
在特定实施例中,社交网络系统702能够链接各种实体。作为示例而不是作为限制,社交网络系统702可以使用户能够彼此交互以及从第三方系统708或其他实体接收内容,或者允许用户通过应用程序编程接口(API)或其他通信信道与这些实体交互。
在特定实施例中,第三方系统708可包括一个或多个类型的服务器、一个或多个数据存储、一个或多个接口(包括但不限于API)、一个或多个Web服务、一个或多个内容源、一个或多个网络、或例如服务器可与之通信的任何其他合适组件。第三方系统708可以由与操作社交网络系统702的实体不同的实体操作。然而,在特定实施例中,社交网络系统702和第三方系统708可彼此协同操作以向社交网络系统702或第三方系统708的用户提供社交网络服务。在这个意义上,社交网络系统702可以提供平台或骨干,诸如第三方系统708的其他系统可以使用该平台或骨干来通过因特网向用户提供社交网络服务和功能。
在特定实施例中,第三方系统708可包括第三方内容对象提供商。第三方内容对象提供商可包括一个或多个内容对象源,其可被通信到客户端系统706。作为示例而不是作为限制,内容对象可以包括关于用户感兴趣的事物或活动的信息,例如,电影放映时间,电影评论,餐馆评论,餐馆菜单,产品信息和评论,或者其他合适的信息。作为另一示例而不是作为限制,内容对象可以包括奖励内容对象,例如优惠券,折扣票,礼品券,或其他合适的奖励对象。
在特定实施例中,社交网络系统702还包括用户生成的内容对象,其可以增强用户与社交网络系统702的交互。用户生成的内容可包括用户可添加、上传、发送或“张贴”到社交网络系统702的任何内容。作为示例而不是作为限制,用户将帖子从客户端系统706通信到社交网络系统702。帖子可包括诸如状态更新或其它文本数据、位置信息、照片、视频、链接、音乐或其它类似数据或媒体的数据。内容还可由第三方通过诸如新闻馈送或流的“通信信道”添加到社交网络系统702。
在特定实施例中,社交网络系统702可包括各种服务器、子系统、程序、模块、日志和数据存储。在特定实施例中,社交网络系统702可包括以下一个或多个:web服务器、动作记录器、API请求服务器、相关性和排序引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推断模块、授权/隐私服务器、搜索模块、广告定位模块、用户界面模块、用户资料存储、连接存储、第三方内容存储或位置存储。社交网络系统702还可以包括合适的组件,例如网络接口、安全机制、负载均衡器、故障转移服务器、管理和网络操作控制台、其它合适的组件或其任何合适的组合。在特定实施例中,社交网络系统702可包括用于存储用户资料的一个或多个用户资料存储。例如,用户资料可以包括传记信息,人口统计信息,行为信息,社交信息,或其他类型的描述性信息,例如工作经验,教育历史,爱好或偏好,兴趣,亲缘关系,或位置。兴趣信息可以包括与一个或多个类别相关的兴趣。类别可以是一般的或具体的。作为示例而不是作为限制,如果用户“喜欢”关于鞋的品牌的文章,则类别可以是品牌,或者是“鞋”或“服装”的一般类别。连接商店可以用于存储关于用户的连接信息。连接信息可以指示具有相似或共同的工作经验、组成员资格、爱好、教育历史或以任何方式相关或共享共同属性的用户。连接信息还可以包括不同用户和内容(内部和外部)之间的用户定义的连接。web服务器可用于经由网络704将社交网络系统702链接到一个或多个客户端系统706或一个或多个第三方系统708。web服务器可以包括用于在社交网络系统702和一个或多个客户端系统706之间接收和路由消息的邮件服务器或其他消息传递功能。API请求服务器可允许第三方系统708通过调用一个或多个API来访问来自社交网络系统702的信息。动作记录器可用于从web服务器接收关于用户在社交网络系统702上或社交网络系统702外的动作的通信。结合动作日志,可以维护对第三方内容对象的用户暴露的第三方内容对象日志。通知控制器可以向客户端系统706提供关于内容对象的信息。可以将信息作为通知推送到客户端系统706,或者可以响应于从客户端系统706接收的请求从客户端系统706拉出信息。授权服务器可用于强制社交网络系统702的用户的一个或多个隐私设置。用户的隐私设置确定如何共享与用户相关联的特定信息。授权服务器例如可通过设置适当的隐私设置,来允许用户选择加入或选择不让社交网络系统702记录他们的动作或与其他系统(例如,第三方系统708)共享他们的动作。第三方内容对象存储可用于存储从第三方接收的内容对象,例如第三方系统708。位置存储器可用于存储从与用户相关联的客户端系统706接收的位置信息。广告定价模块可组合社交信息、当前时间、位置信息或其它合适的信息以通知的形式向用户提供相关广告。
图8示出了示例社交图谱800。在特定实施例中,社交网络系统702可以将一个或多个社交图谱800存储在一个或多个数据存储中。在特定实施例中,社交图谱800可包括多个节点,这些节点可包括多个用户节点802或多个概念节点804,和连接这些节点的多个边806。图8中所示的示例社交图谱800,是出于教学目的,以二维可视图表示。在特定实施例中,社交网络系统702、客户端系统706或第三方系统708可以访问社交图谱800和用于适当应用的相关社交图谱信息。社交图谱800的节点和边可以作为数据对象存储在例如数据存储(诸如社交图谱数据库)中。这样的数据存储可以包括社交图谱800的节点或边的一个或多个可搜索或可查询索引。
在特定实施例中,用户节点802可对应于社交网络系统702的用户。作为示例而不是作为限制,用户可以是与社交网络系统702交互或通过社交网络系统702通信的个人(人类用户),实体(例如,企业,商业,或第三方应用),或组(例如,个人或实体)。在特定实施例中,当用户用社交网络系统702注册账户时,社交网络系统702可以创建与用户相对应的用户节点802,并将用户节点802存储在一个或多个数据存储中。本文描述的用户和用户节点802可以在适当的情况下指代注册用户和与注册用户相关联的用户节点802。此外,或者作为替代,本文描述的用户和用户节点802可以在适当的情况下指代尚未用社交网络系统702注册的用户。在特定实施例中,用户节点802可与用户提供的信息或包括社交网络系统702在内的各种系统收集的信息相关联。作为示例而不是作为限制,用户可以提供他或她的姓名,资料图片,联系信息,出生日期,性别,婚姻状况,家庭状况,就业,教育背景,偏好,兴趣,或其他人口统计信息。社交图谱的每个用户节点可以具有对应的网页(通常称为资料页)。响应于包括用户名的请求,社交网络系统可以访问与用户名相对应的用户节点,并且构造包括名称、资料图片和与用户相关联的其他信息的资料页面。第一用户的资料页面可以基于第一用户的一个或多个隐私设置以及第一用户和第二用户之间的关系,向第二用户显示第一用户的信息的全部或一部分。
在特定实施例中,概念节点804可对应于概念。作为示例而不是作为限制,一个概念可以对应于一个地方(例如,电影院,餐馆,地标,或城市);网站(例如,与社交网络系统702相关联的网站或与web应用服务器相关联的第三方网站);一个实体(例如,个人,企业,团体,运动队或名人);可位于社交网络系统702内或外部服务器(例如,web应用服务器)上的资源(例如,音频文件,视频文件,数码影像,文本文件,结构化文件,或应用);不动产或知识产权(例如,雕塑,绘画,电影,游戏,歌曲,思想,照片或书面作品);游戏;活动;思想或理论;另一个适当的概念;或者两个或更多这样的概念。概念节点804可以与用户提供的概念的信息或包括社交网络系统702在内的各种系统收集的信息相关联。作为示例而不是作为限制,概念的信息可以包括名称或头衔;一个或多个图像(例如,书的封面的图像);位置(例如,地址或地理位置);网站(可与URL相关联);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或这类信息的任何适当组合。在特定实施例中,概念节点804可与对应于与概念节点804相关联的信息的一个或多个数据对象相关联。在特定实施例中,概念节点804可对应于一个或多个网页。
在特定实施例中,社交图谱800中的节点可以表示或由网页(其可以被称为“资料页”)表示。资料页面可由社交网络系统702托管或可访问。资料页面还可以托管在与第三方服务器708相关联的第三方网站上。作为示例而不是作为限制,对应于特定外部网页的资料页可以是特定外部网页,并且资料页可以对应于特定概念节点804。资料页面可以由所有用户或其他用户的选定子集查看。作为示例而不是作为限制,用户节点802可具有对应的用户资料页面,其中对应的用户可添加内容,作出声明,或以其他方式表达自己。作为另一示例而不是作为限制,概念节点804可以具有对应的概念资料页面,其中一个或多个用户可以添加内容,作出声明,或表达他们自己,特别是关于对应于概念节点804的概念。
在特定实施例中,概念节点804可表示由第三方系统708托管的第三方网页或资源。除了其他元素之外,第三方网页或资源可以包括表示动作或活动的内容、可选择或其他图标、或其他可交互对象(例如,其可以以JavaScript、Ajax或PHP代码实现)。作为示例而不是作为限制,第三方网页可以包括诸如“喜欢”,“登记”,“吃”,“推荐”或其他合适的动作或活动的可选择图标。查看第三方网页的用户可以通过选择图标之一(例如,“吃”)来执行动作,使得客户端系统706向社交网络系统702发送指示用户的动作的消息。响应于该消息,社交网络系统702可以在对应于用户的用户节点802和对应于第三方网页或资源的概念节点804之间创建边(例如,“吃”边),并将边806存储在一个或多个数据存储中。
在特定实施例中,社交图谱800中的一对节点可以通过一条或多条边806而彼此连接。连接一对节点的边806可以表示该对节点之间的关系。在特定实施例中,边806可包括或表示对应于一对节点之间的关系的一个或多个数据对象或属性。作为示例而不是作为限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,社交网络系统702可以向第二用户发送“朋友请求”。如果第二用户确认“朋友请求”,则社交网络系统702可创建边806,该边将社交图谱800中的第一用户的用户节点802连接到第二用户的用户节点802,并将边806作为社交图谱信息存储在一个或多个数据存储中。在图8的示例中,社交图谱800包括边806,该边指示用户“A”和用户“B”的用户节点802之间的朋友关系,以及指示用户“C”和用户“B”的用户节点802之间的朋友关系的边。虽然本公开描述或示出了具有连接特定用户节点802的特定属性的特定边806,但是本公开考虑了具有连接用户节点802的任何适当属性的任何适当的边806。作为示例而不是作为限制,边806可以表示友谊,家庭关系,商业或雇佣关系,粉丝关系,追随者关系,访问者关系,订户关系,上级/下级关系,互惠关系,非互惠关系,另一合适类型的关系,或两个或更多这样的关系。此外,尽管本公开通常将节点描述为连接的,但是本公开还将用户或概念描述为连接的。这里,对连接的用户或概念的引用,可以在适当的情况下,指代与社交图谱800中通过一个或多个边806连接的那些用户或概念相对应的节点。
在特定实施例中,用户节点802与概念节点804之间的边806可表示由与用户节点802相关联的用户朝向与概念节点804相关联的概念执行的特定动作或活动。作为示例而不是作为限制,如图8所示,用户可以“喜欢”、“参与”、“播放”、“聆听”、“烹调”、“工作”或“观看”概念,其每一个可以对应于边类型或子类型。例如,对应于概念节点804的概念资料页面可包括可选择的“登记”图标(例如,可点击的“登记”图标)或可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统702可响应于对应于相应动作的用户动作,来创建“喜爱”边或“登记”边。作为另一示例而不是作为限制,用户(用户“C”)可以使用特定应用(SPOTIFY,其是在线音乐应用)来收听特定歌曲(“漫游”)。在这种情况下,社交网络系统702可以在对应于用户的用户节点802和对应于歌曲和应用的概念节点804之间创建“收听”边806和“使用”边(如图8所示),以指示用户收听了歌曲并使用了应用。此外,社交网络系统702可以在与歌曲相对应的概念节点804和应用之间创建“播放”边806(如图8所示),以指示特定应用播放了特定歌曲。在这种情况下,“播放”边806对应于外部应用程序(SPOTIFY)在外部音频文件(歌曲“Imagine”)上执行的动作。尽管本公开描述了具有连接用户节点802和概念节点804的特定属性的特定边806,但是本公开考虑了具有连接用户节点802和概念节点804的任何适当属性的任何适当边806。此外,尽管本公开描述了表示单个关系的用户节点802和概念节点804之间的边,但是本公开考虑了表示一个或多个关系的用户节点802和概念节点804之间的边。作为示例而不是作为限制,边806可以表示用户喜欢并且已经在特定概念处使用的两者。可替换地,另一条边806可以表示用户节点802和概念节点804之间的每种类型的关系(或单个关系的倍数)(如图8中针对用户“E”的用户节点802和针对“SPOTIFY”的概念节点804之间所示)。
在特定实施例中,社交网络系统702可以在社交图谱800中在用户节点802和概念节点804之间创建边806。作为示例而不是作为限制,查看概念资料页面的用户(例如,通过使用由用户的客户端系统706托管的web浏览器或专用应用程序)可以通过点击或选择“喜欢”图标,来指示他或她喜欢由概念节点804表示的概念,这可以使得用户的客户端系统706向社交网络系统702发送指示用户喜欢与概念资料页面相关联的概念的消息。响应于该消息,社交网络系统702可以在与用户相关联的用户节点802和概念节点804之间创建边806,如用户和概念节点804之间的“喜欢”边806所示。在特定实施例中,社交网络系统702可以将边806存储在一个或多个数据存储中。在特定实施例中,社交网络系统702可响应于特定用户动作而自动形成边806。作为示例而不是作为限制,如果第一用户上传图片,观看电影,或收听歌曲,则可以在对应于第一用户的用户节点802和对应于那些概念的概念节点804之间形成边806。尽管本公开描述了以特定方式形成特定边806,但是本公开考虑了以任何合适的方式形成任何合适的边806。
在特定实施例中,广告可以是文本(其可以是HTML链接的)、一个或多个图像(其可以是HTML链接的)、一个或多个视频、音频、一个或多个Adobe Flash文件、这些的适当组合、或以任何适当数字格式呈现在一个或多个网页上、在一个或多个电子邮件中、或与用户请求的搜索结果相关联的任何其他适当广告。附加地或可替换地,广告可以是一个或多个赞助故事(例如,社交网络系统702上的新闻馈送或报价器项目)。赞助故事可以是用户的社交动作(例如“喜欢”页面,“喜欢”或评论页面上的帖子,回复与页面相关联的事件,对页面上张贴的问题进行投票,登记到某个地方,使用应用程序或玩游戏,或“喜欢”或共享网站),例如广告商通过在用户或其他页面的资料页面的预定区域内呈现社交行为,呈现与广告商相关联的附加信息,在其他用户的新闻馈送或报价器内加亮或突出显示社交行为,或以其他方式进行促销。广告商可以付费让社交行为得到促进。作为示例而不是作为限制,广告可以包括在搜索结果页面的搜索结果中,其中对比非赞助内容,赞助内容被促销。
在特定实施例中,可以请求在社交网络系统网页、第三方网页或其他页面内显示广告。广告可以显示在页面的专用部分中,例如页面顶部的横幅区域中、页面侧面的列中、页面的GUI中、弹出窗口中、下拉菜单中、页面的输入字段中、页面内容的顶部上或关于页面的其它地方。附加地或可替换地,广告可以在应用程序内显示。广告可以显示在专用页面内,在用户访问页面或利用应用程序之前要求用户与广告交互或观看广告。例如,用户可以通过web浏览器观看广告。
用户可以以任何合适的方式与广告交互。用户可以点击或以其他方式选择广告。通过选择广告,用户可以被引导到(或浏览器或用户正在使用的其他应用程序)与广告相关联的页面。在与广告相关联的页面处,用户可以采取附加动作,诸如购买与广告相关联的产品或服务、接收与广告相关联的信息或订阅与广告相关联的时事通讯。可以通过选择广告的组件(如“播放按钮”)来播放具有音频或视频的广告。可替换地,通过选择广告,社交网络系统702可以执行或修改用户的特定动作。
广告还可以包括用户可以与之交互的社交网络系统功能。作为示例而不是作为限制,广告可使用户能够通过选择与代言相关联的图标或链接来“喜欢”或以其他方式代言广告。作为另一示例而不是作为限制,广告可使用户能够搜索(例如,通过执行查询)与广告商相关的内容。类似地,对于与广告相关联的事件,用户可以与另一用户(例如,通过社交网络系统702)或RSVP(例如,通过社交网络系统702)共享广告。附加地或可替换地,广告可以包括指向用户的社交网络系统上下文。作为示例而不是作为限制,广告可以显示关于在社交网络系统702内的用户的朋友的信息,该用户的朋友已经采取了与广告的主题相关联的动作。
在特定实施例中,社交网络系统702可确定各种社交图谱实体彼此的社交图谱亲和力(在本文中可称为“亲和力”)。亲和力可以表示与在线社交网络相关联的特定对象之间的关系的强度或兴趣水平,诸如用户,概念,内容,动作,广告,与在线社交网络相关联的其他对象,或其任何合适的组合。还可以相对于与第三方系统708或其他适当系统相关联的对象来确定亲和力。可以建立针对每个用户、主题或内容类型的社交图谱实体的总体亲和力。总体亲和力可以基于对与社交图谱实体相关联的动作或关系的持续监视而改变。尽管本公开描述了以特定方式确定特定的亲和力,但是本公开考虑了以任何合适的方式确定任何合适的亲和力。
在特定实施例中,社交网络系统702可使用亲和力系数(其在本文中可称为“系数”)来测量或量化社交图谱亲和力。该系数可以表示或量化与在线社交网络相关联的特定对象之间的关系的强度。该系数还可以表示概率或函数,该概率或函数基于用户对动作的兴趣,来测量用户将执行特定动作的预测概率。以这种方式,可以基于用户的先前动作来预测用户的未来动作,其中至少可以部分地计算用户的动作的历史的系数。系数可用于预测可在在线社交网络内或外的任何数量的动作。作为示例而不是作为限制,这些动作可以包括各种类型的通信,诸如发送消息,张贴内容,或对内容进行评论;各种类型的观察动作,例如访问或查看资料页面、媒体或其他合适的内容;关于两个或多个社交图谱实体的各种类型的重合信息,例如在相同组中、在相同照片中添加标签、在相同位置等级或参加相同活动;或其他适当的动作。尽管本公开描述了以特定方式测量亲和力,但是本公开考虑了以任何合适的方式测量亲和力。
在特定实施例中,社交网络系统702可以使用多种因子来计算系数。例如,这些因子可以包括用户动作,对象之间的关系类型,位置信息,其他合适的因子,或者它们的任何组合。在特定实施例中,当计算系数时,可以不同地加权不同的因子。每个因子的权重可以是静态的,或者例如,权重可以根据用户,关系的类型,动作的类型,用户的位置等等而改变。可以根据因子的权重,组合因子的评级,以确定用户的总体系数。作为示例而不是作为限制,特定用户动作可以被分配评级和权重两者,同时与特定用户动作相关联的关系被分配评级和相关权重(例如,因此权重总计为100%)。为了计算用户对特定对象的系数,例如,分配给用户动作的评级可以包括总系数的60%,而用户和对象之间的关系可以包括总系数的40%。在特定实施例中,社交网络系统702在确定用于计算系数的各种因子的权重时,可以考虑各种变量,例如,自从信息被访问以来的时间,衰减因子,访问频率,与信息的关系或与关于信息被访问的对象的关系,与连接到对象的社交图谱实体的关系,用户动作的短期或长期平均值,用户反馈,其他合适的变量,或其任何组合。作为示例而不是作为限制,系数可以包括衰减因子,该衰减因子使得由特定动作提供的信号的强度随时间衰减,使得更近期的动作在计算系数时更相关。评级和权重可以基于对系数所基于的动作的连续跟踪而连续地更新。可以采用任何类型的过程或算法来分配、组合、平均等每个因子的评级和分配给因子的权重。在特定实施例中,社交网络系统702可使用在历史动作和过去用户响应上训练的机器学习算法,或通过将用户暴露于各种选项并测量响应而从用户处获得的数据来确定系数。尽管本公开描述了以特定方式计算系数,但是本公开考虑了以任何合适的方式计算系数。
在特定实施例中,社交网络系统702可基于用户的动作来计算系数。社交网络系统702可以监视在线社交网络、第三方系统708、其他适当系统或其任意组合上的这种动作。可以跟踪或监视任何合适类型的用户动作。典型的用户动作包括查看资料页面、创建或发布内容、与内容交互、加入组、列表出并确认活动出席情况、在位置登记、喜欢特定页面、创建页面以及执行其他有助于社交活动的任务。在特定实施例中,社交网络系统702可基于具有特定类型内容的用户动作来计算系数。内容可以与在线社交网络、第三方系统708或另一合适的系统相关联。内容可以包括用户、资料页面、帖子、新闻故事、标题、即时消息、聊天室对话、电子邮件、广告、图片、视频、音乐、其他合适的对象、或其任何组合。社交网络系统702可以分析用户的动作以确定一个或多个动作是否指示对主题、内容、其他用户等的亲和力。作为示例而不是作为限制,如果用户可以频繁地发布与“咖啡”或其变体相关的内容,则社交网络系统702可以确定用户相对于“咖啡”概念具有高系数。特定动作或动作类型可被分配比其它动作更高的权重和/或评级,这可影响总体计算系数。作为示例而不是作为限制,如果第一用户向第二用户发送电子邮件,则动作的权重或评级可以高于第一用户简单地查看第二用户的用户资料页面时的权重或评级。
在特定实施例中,社交网络系统702可基于特定对象之间的关系的类型来计算系数。参考社交图谱800,社交网络系统702可以在计算系数时分析连接特定用户节点802和概念节点804的边806的数量和/或类型。作为示例而不是作为限制,可以为通过配偶类型的边连接的用户节点802(表示两个用户结婚)分配比通过朋友类型的边连接的用户节点802更高的系数。换句话说,取决于分配给特定用户的动作和关系的权重,可以确定关于用户的配偶的内容的总体亲和力高于关于用户的朋友的内容的总体亲和力。在特定实施例中,用户与另一对象的关系可影响关于计算该对象的系数的用户的动作的权重和/或评级。作为示例而不是作为限制,如果用户在第一照片中被标记,但仅仅喜欢第二照片,则社交网络系统702可以确定用户相对于第一照片具有比第二照片更高的系数,因为与具有内容标记类型关系的用户可以被分配比具有内容类型喜欢关系的用户更高的权重和/或评级。在特定实施例中,社交网络系统702可以基于一个或多个第二用户与特定对象的关系来计算第一用户的系数。换句话说,其他用户与对象的连接和系数可能影响该对象的第一用户的系数。作为示例而不是作为限制,如果第一用户连接到一个或多个第二用户或者对于一个或多个第二用户具有高系数,并且那些第二用户连接到特定对象或者对于特定对象具有高系数,则社交网络系统702可以确定第一用户还应当对于特定对象具有相对高的系数。在特定实施例中,系数可以基于特定对象之间的分离程度。任何两个节点之间的分离程度被定义为将社交图谱从一个节点遍历到另一个节点所需的最小跳数。两个节点之间的分离度可以被认为是社交图谱中用户之间或由两个节点表示的概念之间的相关性的量度。例如,具有通过边直接连接的用户节点(即,第一级节点)的两个用户可以被描述为“连接的用户”或“朋友”。类似地,具有仅通过另一用户节点连接的用户节点(即,第二级节点)的两个用户可以被描述为“朋友的朋友”。较低的系数可以表示第一用户将共享间接连接到社交图谱800中的第一用户的用户的内容对象的兴趣的降低的可能性。作为示例而不是作为限制,社交图谱800中较近的社交图谱实体(即,较少的分离程度)可以具有比社交图谱800中进一步分开的实体更高的系数。
在特定实施例中,社交网络系统702可基于位置信息计算系数。在地理上彼此较近的对象可以被认为比更远的物体彼此更相关或更感兴趣。在特定实施例中,用户对特定对象的系数可基于对象的位置与和用户相关联的当前位置(或用户的客户端系统706的位置)的接近程度。第一用户可能对更接近第一用户的其他用户或概念更感兴趣。作为示例而不是作为限制,如果用户距机场1英里且距加油站2英里,则社交网络系统702可基于机场与用户的接近程度来确定用户对于机场具有比加油站更高的系数。
在特定实施例中,社交网络系统702可基于系数信息针对用户执行特定动作。系数可用于基于用户对动作的兴趣,来预测用户是否将执行特定动作。当生成或向用户呈现任何类型的对象时,例如广告、搜索结果、新闻故事、媒体、消息、通知或其他合适的对象时,可以使用系数。该系数还可用于适当地对这些对象进行分级和排序。以这种方式,社交网络系统702可以提供与用户的兴趣和当前情况相关的信息,增加他们将找到这种感兴趣的信息的可能性。在特定实施例中,社交网络系统702可基于系数信息生成内容。可以基于特定于用户的系数来提供或选择内容对象。作为示例而不是作为限制,该系数可以用于为用户生成媒体,其中可以向用户呈现用户相对于媒体对象具有高总体系数的媒体。作为另一示例而不是作为限制,该系数可用于为用户生成广告,其中可向用户呈现用户相对于广告对象具有高总体系数的广告。在特定实施例中,社交网络系统702可基于系数信息生成搜索结果。可以基于与关于查询用户的搜索结果相关联的系数,来对特定用户的搜索结果进行评分或排序。作为示例而不是作为限制,与具有较高系数的对象相对应的搜索结果可以在搜索结果页面上比与具有较低系数的对象相对应的结果排序更高。
在特定实施例中,社交网络系统702可响应于来自特定系统或过程的对系数的请求来计算系数。为了预测用户在给定情况下可能采取的动作(或者可能是动作的主体),任何过程都可以为用户请求计算出的系数。该请求还可以包括用于计算系数的各种因子的一组权重。该请求可以来自在线社交网络上运行的进程、来自第三方系统708(例如,经由API或其他通信信道)或来自另一合适的系统。响应于该请求,社交网络系统702可以计算系数(或者访问系数信息,如果它先前已经被计算和存储的话)。在特定实施例中,社交网络系统702可以测量相对于特定过程的亲和力。不同的进程(在线社交网络的内部和外部)可以请求特定对象或对象集的系数。社交网络系统702可以提供与请求亲和力测量的特定进程相关的亲和力测量。以这种方式,每个进程接收亲和力测量,该亲和力测量为进程将使用亲和力测量的不同环境量身定制。
结合社交图谱亲和力和亲和力系数,特定实施例可利用公开在2006年8月11日提交的美国专利申请第11/503093号、2010年12月22日提交的美国专利申请第12/977027号、2010年12月23日提交的美国专利申请第12/978265号和2012年10月1日提交的美国专利申请第13/642869号中的一个或多个系统、组件、元件、功能、方法、操作或步骤,其中的每一个通过引用结合。
在特定实施例中,在线社交网络的一个或多个内容对象可以与隐私设置相关联。对象的隐私设置(或“访问设置”)可以以任何合适的方式存储,例如,与对象相关联,以授权服务器上的索引,以另一合适的方式,或其任意组合。对象的隐私设置可以指定如何使用在线社交网络来访问(例如,查看或共享)对象(或与对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的情况下,可以将该对象描述为相对于该用户是“可见的”。作为示例而不是作为限制,在线社交网络的用户可以指定用户资料页面的隐私设置,识别可以访问用户资料页面上的工作经历信息的一组用户,从而排除其他用户访问该信息。在特定实施例中,隐私设置可指定不应被允许访问与对象相关联的某些信息的用户的“阻止列表”。换句话说,阻止列表可以指定对象不可见的一个或多个用户或实体。作为示例而不是作为限制,用户可以指定一组不能访问与用户相关联的相册的用户,从而将那些用户排除在访问相册之外(同时还可能允许不在该组用户内的某些用户访问相册)。在特定实施例中,隐私设置可以与特定社交图谱元素相关联。社交图谱元素的隐私设置,例如节点或边,可以指定如何使用在线社交网络来访问社交图谱元素、与社交图谱元素相关联的信息或与社交图谱元素相关联的内容对象。作为示例而不是作为限制,对应于特定照片的特定概念节点804可以具有隐私设置,该隐私设置指定照片可以仅由照片中标记的用户及其朋友访问。在特定实施例中,隐私设置可允许用户选择加入或选择不让社交网络系统702记录他们的动作或与其他系统(例如,第三方系统708)共享他们的动作。在特定实施例中,与对象相关联的隐私设置可以指定允许访问或拒绝访问的任何合适粒度。作为示例而不是通过限制的方式,可以为特定用户(例如,仅我,我的室友,和我的老板),特定分离程度内的用户(例如,朋友,或朋友的朋友),用户组(例如,游戏俱乐部,我的家庭),用户网络(例如,特定雇主的雇员,学生或特定大学的校友),所有用户(“公共”),无用户(“私有”),第三方系统708的用户,特定应用程序(例如,第三方应用程序,外部网站),其他合适的用户或实体,或其任意组合指定访问或拒绝访问。尽管本公开描述了以特定方式使用特定隐私设置,但是本公开考虑以任何合适的方式使用任何合适的隐私设置。
在特定实施例中,一个或多个服务器可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)对存储在数据存储中的特定对象的请求,社交网络系统702可以向数据存储发送对该对象的请求。该请求可以识别与该请求相关联的用户,并且只有在授权服务器基于与对象相关联的隐私设置确定用户被授权访问该对象时,才可以将该请求发送到用户(或用户的客户端系统706)。如果请求用户未被授权访问该对象,则授权服务器可以阻止从数据存储检索所请求的对象,或者可以阻止将所请求的对象发送给用户。在搜索查询环境中,仅当查询用户被授权访问对象时,才可以生成对象作为搜索结果。换句话说,对象必须具有查询用户可见的可见性。如果对象具有对用户不可见的可见性,则可以从搜索结果中排除该对象。尽管本公开描述了以特定方式实施隐私设置,但是本公开考虑了以任何合适的方式实施隐私设置。
参考其特定示例性实施例来描述前述说明。参照本文讨论的细节描述本公开的各种实施例和方面,并且附图示出了各种实施例。上面的描述和附图是说明性的,并且不应被解释为限制性的。描述了许多具体细节以提供对各种实施例的详细理解。
在不背离其精神或本质特征的情况下,附加或替代实施例可以以其它特定形式体现。所描述的实施例在所有方面仅被认为是说明性的而不是限制性的。因此,本公开的范围由所附权利要求而不是由前面的描述来指示。在权利要求的等同物的含义和范围内出现的所有变化都将被包括在它们的范围内。

Claims (34)

1.一种方法,包括:
由一个或多个服务器从与用户相关联的用户客户端装置接收在所述用户与商户之间发起支付交易的请求;
由所述一个或多个服务器识别与所述用户的用户账户相关联的支付授权号码;
由所述一个或多个服务器获得表示与所述支付交易相对应的所述支付授权号码的支付令牌;
由所述一个或多个服务器对表示所述支付授权号码的所述支付令牌进行加密;并且
由所述一个或多个服务器向所述用户客户端装置发送经加密的支付令牌,用于所述用户客户端装置向与和所述支付交易相关的所述商户相关联的商户系统提供所述经加密的支付令牌。
2.根据权利要求1所述的方法,其中,接收在所述用户和所述商户之间发起所述支付交易的请求包括:经由与所述商户相关联的应用接口从所述用户客户端装置接收JavaScript请求。
3.根据权利要求2所述的方法,还包括:
识别与所述支付授权号码相关联的用户信息;并且
将所述用户信息与所述经加密的支付令牌发送到所述用户客户端装置。
4.根据权利要求3所述的方法,还包括:
生成包括所述经加密的支付令牌和所述用户信息的支付消息;并且
发送所述支付消息用于自动完成与所述商户相关联的支付表单。
5.根据权利要求2所述的方法,其中,对所述支付令牌进行加密包括:在不考虑所述用户客户端装置的操作系统的情况下对所述支付令牌进行加密以在所述用户与所述商户之间发起支付交易。
6.根据权利要求1所述的方法,其中,对所述支付令牌进行加密包括:使用与所述用户客户端装置相关联的、用于在所述用户客户端装置处对所述支付令牌进行解密的密钥来对所述支付令牌进行加密。
7.根据权利要求6所述的方法,还包括使用与所述用户客户端装置的所述一个或多个服务器相关联的私钥对所述支付令牌进行签名。
8.根据权利要求1所述的方法,其中,获得表示所述支付授权号码的支付令牌包括:
识别与所述用户的支付凭证相关的所述支付授权号码;
将表示所述支付授权号码的所述支付令牌的请求消息发送到与所述用户的支付凭证相关联的卡片网络系统;并且
从所述卡片网络系统接收表示所述支付授权号码的所述支付令牌。
9.根据权利要求1所述的方法,其中,对所述支付令牌进行加密包括根据所述支付授权号码的格式对所述支付令牌进行加密。
10.根据权利要求1所述的方法,其中,识别与所述用户的用户账户相关联的所述支付授权号码包括:从所述用户客户端装置接收模糊的用户识别符,并且使用所述模糊的用户识别符来检索所述支付授权号码。
11.根据权利要求1所述的方法,其中,所述用户账户是社交网络账户。
12.一种系统,包括:
至少一个处理器;以及
一种包括指令的非瞬时性计算机可读存储介质,当由所述至少一个处理器执行时,所述指令使得所述系统:
从与用户相关联的用户客户端装置接收在所述用户与商户之间发起支付交易的请求;
识别与所述用户的用户账户相关联的支付授权号码;
获取表示与所述支付交易对应的所述支付授权号码的支付令牌;
对表示所述支付授权号码的所述支付令牌进行加密;以及
将经加密的支付令牌发送到所述用户客户端装置,用于所述用户客户端装置向与和所述支付交易相关的所述商户相关联的商户系统提供所述经加密的支付令牌。
13.根据权利要求12所述的系统,还包括指令,在由所述至少一个处理器执行时,所述指令使得所述系统通过经由与所述商户相关联的应用程序而从所述用户客户端装置接收JavaScript请求来接收在所述用户与所述商户之间发起支付交易的请求。
14.根据权利要求13所述的系统,还包括指令,当由所述至少一个处理器执行时,所述指令使得所述系统:
识别与所述支付授权号码相关联的用户信息;并且
将具有经加密的支付令牌的所述用户信息发送到所述用户客户端装置。
15.根据权利要求13所述的系统,还包括指令,当由所述至少一个处理器执行时,所述指令使得所述系统通过在不考虑所述用户客户端装置的操作系统的情况下对所述支付令牌进行加密而对所述支付令牌进行加密,从而在所述用户与所述商户之间发起支付交易。
16.根据权利要求12所述的系统,还包括指令,当由所述至少一个处理器执行时,所述指令使得所述系统:
获得与所述支付交易对应的一次性密码;
对与所述支付交易对应的所述一次性密码进行加密;并且
向所述用户客户端装置发送经加密的一次性密码和经加密的支付令牌。
17.根据权利要求12所述的系统,还包括指令,当由所述至少一个处理器执行时,所述指令使得所述系统使用与所述用户客户端装置相关联的、用于在所述用户客户端装置处对所述支付令牌进行解密的密钥来对所述支付令牌进行加密。
18.根据权利要求12所述的系统,还包括指令,当由所述至少一个处理器执行时,所述指令使得所述系统根据所述支付授权号码的格式来对所述支付令牌进行加密。
19.一种包括指令的非瞬时性计算机可读存储介质,当由至少一个处理器执行时,所述指令使得计算机系统:
从与用户相关联的用户客户端装置接收在所述用户与商户之间发起支付交易的请求;
识别与所述用户的用户账户相关联的支付授权号码;
获得表示与所述支付交易对应的所述支付授权号码的支付令牌;
对表示所述支付授权号码的所述支付令牌进行加密;并且
将经加密的支付令牌发送到所述用户客户端装置,用于所述用户客户端装置向与和所述支付交易相关的所述商户相关联的商户系统提供所述经加密的支付令牌。
20.根据权利要求19所述的非瞬时性计算机可读存储介质,还包括指令,当由所述至少一个处理器执行时,所述指令使得所述计算机系统:
通过经由与所述商户相关联的应用程序从所述用户客户端装置接收JavaScript请求,而接收在所述用户与所述商户之间发起所述支付交易的请求;
识别与所述支付授权号码相关联的用户信息;并且
将所述用户信息和所述经加密的支付令牌发送到所述用户客户端装置,用于在与所述商户相关联的应用程序中自动完成支付表单。
21.一种方法,包括:
由一个或多个服务器从与用户相关联的用户客户端装置接收在所述用户与商户之间发起支付交易的请求;
由所述一个或多个服务器识别与所述用户的用户账户相关联的支付授权号码;
由所述一个或多个服务器获得表示与所述支付交易相对应的所述支付授权号码的支付令牌;
由所述一个或多个服务器对表示所述支付授权号码的所述支付令牌进行加密;以及
由所述一个或多个服务器将经加密的支付令牌发送到所述用户客户端装置,用于所述用户客户端装置向与和所述支付交易相关的所述商户相关联的商户系统提供经加密的支付令牌。
22.根据权利要求21所述的方法,其中,接收在所述用户和所述商户之间发起所述支付交易的请求包括:经由与所述商户相关联的应用接口从所述用户客户端装置接收JavaScript请求。
23.根据权利要求22所述的方法,还包括:
识别与所述支付授权号码相关联的用户信息;并且
将所述用户信息与所述经加密的支付令牌发送到所述用户客户端装置。
24.根据权利要求23所述的方法,还包括:
生成包括所述经加密的支付令牌和所述用户信息的支付消息;并且
发送所述支付消息用于自动完成与所述商户相关联的支付表单。
25.根据权利要求22至24中任一项所述的方法,其中,对所述支付令牌进行加密包括在不考虑所述用户客户端装置的操作系统的情况下对所述支付令牌进行加密以在所述用户与所述商户之间发起所述支付交易。
26.根据权利要求21至25中任一项所述的方法,其中,对所述支付令牌进行加密包括使用与所述用户客户端装置相关联的、用于在所述用户客户端装置处对所述支付令牌进行解密的密钥来对所述支付令牌进行加密。
27.根据权利要求21至26中任一项所述的方法,还包括使用与所述用户客户端装置的所述一个或多个服务器相关联的私钥对所述支付令牌进行签名。
28.根据权利要求21至27中任一项所述的方法,其中,获得表示所述支付授权号码的所述支付令牌包括:
识别与所述用户的支付凭证相关的所述支付授权号码;
将表示所述支付授权号码的所述支付令牌的请求消息发送到与所述用户的支付凭证相关联的卡片网络系统;并且
从所述卡片网络系统接收表示所述支付授权号码的所述支付令牌。
29.根据权利要求21至28中任一项所述的方法,其中,对所述支付令牌进行加密包括根据所述支付授权号码的格式对所述支付令牌进行加密。
30.根据权利要求21至29中任一项所述的方法,其中,识别与所述用户的所述用户账户相关联的所述支付授权号码包括:从所述用户客户端装置接收模糊的用户识别符并使用所述模糊的用户识别符来检索所述支付授权号码。
31.根据权利要求21至30中任一项所述的方法,其中,所述用户账户是社交网络账户。
32.一种系统,包括:
至少一个处理器;以及
一种包括指令的非瞬时性计算机可读存储介质,当由所述至少一个处理器执行时,所述指令使得所述系统执行根据权利要求21至权利要求31中任一项所述的方法。
33.一种包括指令的非瞬时性计算机可读存储介质,当由至少一个处理器执行时,所述指令使得计算机系统执行根据权利要求21至权利要求31中任一项所述的方法。
34.一种计算机程序产品,优选地包括计算机可读非瞬时性存储介质,当在数据处理系统上执行时,所述计算机可读非瞬时性存储介质被操作为执行根据权利要求21至权利要求31中任一项所述的方法。
CN201680091286.6A 2016-12-21 2016-12-22 提供装置和系统不可知的电子支付令牌 Pending CN110023979A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/387,304 2016-12-21
US15/387,304 US20180174137A1 (en) 2016-12-21 2016-12-21 Providing device and system agnostic electronic payment tokens
PCT/US2016/068336 WO2018118067A1 (en) 2016-12-21 2016-12-22 Providing device and system agnostic electronic payment tokens

Publications (1)

Publication Number Publication Date
CN110023979A true CN110023979A (zh) 2019-07-16

Family

ID=62561638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680091286.6A Pending CN110023979A (zh) 2016-12-21 2016-12-22 提供装置和系统不可知的电子支付令牌

Country Status (8)

Country Link
US (1) US20180174137A1 (zh)
EP (1) EP3340146A1 (zh)
JP (1) JP6991211B2 (zh)
KR (1) KR20190089861A (zh)
CN (1) CN110023979A (zh)
CA (1) CA3041090A1 (zh)
IL (1) IL267017A (zh)
WO (1) WO2018118067A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11023880B2 (en) * 2016-07-23 2021-06-01 Vray Inc. Online mobile payment system and method using authentication codes
WO2019014374A1 (en) * 2017-07-11 2019-01-17 Visa International Service Association SYSTEMS AND METHODS OF USING A TRANSACTION IDENTIFIER TO PROTECT SENSITIVE IDENTITY SUPPORTERS
WO2019013817A1 (en) * 2017-07-14 2019-01-17 Visa International Service Association METHOD, SYSTEM AND COMPUTER PROGRAM PRODUCT FOR USER COMMUNICATION WITH TRADERS ASSOCIATED WITH TRANSACTIONS
US10708054B2 (en) * 2017-10-12 2020-07-07 Visa International Service Association Secure microform
US11100528B2 (en) * 2017-11-14 2021-08-24 Jpmorgan Chase Bank, N.A. System and method for implementing a trusted identity broker solution to protect customer identity
US11256789B2 (en) * 2018-06-18 2022-02-22 Visa International Service Association Recurring token transactions
US11487896B2 (en) 2018-06-18 2022-11-01 Bright Lion, Inc. Sensitive data shield for networks
CN108471432B (zh) * 2018-07-11 2020-09-11 北京智芯微电子科技有限公司 防止网络应用程序接口被恶意攻击的方法
US11100533B1 (en) 2018-09-14 2021-08-24 Facebook, Inc. Cryptographically generating custom audiences
US20200104825A1 (en) * 2018-09-27 2020-04-02 Apple Inc. Wireless transaction via persistent wireless connection
US11374752B2 (en) * 2019-06-07 2022-06-28 Panasonic Avionics Corporation Secure transactions for in-flight entertainment systems
US20210110373A1 (en) * 2019-10-14 2021-04-15 Capital One Services, Llc Social media account-linking checkout
EP3905166A1 (en) * 2020-04-30 2021-11-03 Bright Lion, Inc. E-commerce security assurance network
US20230016065A1 (en) * 2021-07-09 2023-01-19 Evo Merchant Services, Llc Frictionless payment system
EP4181044A1 (en) * 2021-11-16 2023-05-17 Mastercard International Incorporated Pre-authenticated token for use in payment transactions and data access
US11823171B1 (en) * 2021-12-22 2023-11-21 Wells Fargo Bank, N.A. Payment function service
US20230230067A1 (en) * 2022-01-20 2023-07-20 VocaLink Limited Tokenized control of personal data
US20240054462A1 (en) * 2022-08-15 2024-02-15 VocaLink Limited Systems and methods for submission and processing of requests for payment messages
US11971862B1 (en) * 2022-09-20 2024-04-30 Lithic, Inc. Processing transactions with idempotency in real-time ledgers
KR20240050748A (ko) * 2022-10-12 2024-04-19 주식회사 플렉스데이 이중 암호화를 통한 결제 인증 방법 및 이를 수행하는 결제서버

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682802B1 (en) * 2011-11-09 2014-03-25 Amazon Technologies, Inc. Mobile payments using payment tokens
US20140344153A1 (en) * 2013-05-15 2014-11-20 Thanigaivel Ashwin Raj Mobile tokenization hub
US20150052036A1 (en) * 2011-05-26 2015-02-19 Facebook, Inc. Dynamically providing a third-party checkout option
US20150112870A1 (en) * 2013-10-18 2015-04-23 Sekhar Nagasundaram Contextual transaction token methods and systems
US20160071094A1 (en) * 2014-09-05 2016-03-10 Ebay Inc. Systems and methods for implementing hybrid dynamic wallet tokens
US20160239820A1 (en) * 2015-02-18 2016-08-18 Apriva, Llc Method and system for facilitating a payment transaction with a customer mobile device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6327578B1 (en) * 1998-12-29 2001-12-04 International Business Machines Corporation Four-party credit/debit payment protocol
US8996423B2 (en) * 2005-04-19 2015-03-31 Microsoft Corporation Authentication for a commercial transaction using a mobile module
US8788429B2 (en) * 2009-12-30 2014-07-22 First Data Corporation Secure transaction management
US8380177B2 (en) * 2010-04-09 2013-02-19 Paydiant, Inc. Mobile phone payment processing methods and systems
WO2012151590A2 (en) * 2011-05-05 2012-11-08 Transaction Network Services, Inc. Systems and methods for enabling mobile payments
US9154470B2 (en) * 2012-05-25 2015-10-06 Canon U.S.A., Inc. System and method for processing transactions
US20160019536A1 (en) * 2012-10-17 2016-01-21 Royal Bank Of Canada Secure processing of data
PL3000080T3 (pl) * 2013-07-12 2017-07-31 Payu Payment Solutions (Proprietary) Limited Systemy do przechowywania danych posiadacza karty i przetwarzania transakcji
EP2838060A1 (en) * 2013-08-14 2015-02-18 Facebook, Inc. Methods and systems for facilitating e-commerce payments
US20150269559A1 (en) * 2014-03-24 2015-09-24 Cellum Innovacios es Szolgaltato Zrt. Systems and methods for a quick card

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150052036A1 (en) * 2011-05-26 2015-02-19 Facebook, Inc. Dynamically providing a third-party checkout option
US8682802B1 (en) * 2011-11-09 2014-03-25 Amazon Technologies, Inc. Mobile payments using payment tokens
US20140344153A1 (en) * 2013-05-15 2014-11-20 Thanigaivel Ashwin Raj Mobile tokenization hub
US20150112870A1 (en) * 2013-10-18 2015-04-23 Sekhar Nagasundaram Contextual transaction token methods and systems
US20160071094A1 (en) * 2014-09-05 2016-03-10 Ebay Inc. Systems and methods for implementing hybrid dynamic wallet tokens
US20160239820A1 (en) * 2015-02-18 2016-08-18 Apriva, Llc Method and system for facilitating a payment transaction with a customer mobile device

Also Published As

Publication number Publication date
IL267017A (en) 2019-07-31
CA3041090A1 (en) 2018-06-28
US20180174137A1 (en) 2018-06-21
KR20190089861A (ko) 2019-07-31
JP2020506449A (ja) 2020-02-27
EP3340146A1 (en) 2018-06-27
WO2018118067A1 (en) 2018-06-28
JP6991211B2 (ja) 2022-01-12

Similar Documents

Publication Publication Date Title
CN110023979A (zh) 提供装置和系统不可知的电子支付令牌
US11238461B2 (en) Methods and systems for facilitating e-commerce payments
US20190147515A1 (en) Facilitating transactions using transaction tokens
JP6255115B2 (ja) 当日支払取引の促進
JP6457095B2 (ja) ピア・ツー・ビジネスの支払いの送信および受信の促進
JP6609627B2 (ja) メッセージベースのコンテキスト・プロンプトを使用した支払いの送信および受信の促進
CN107004245B (zh) 使用在线社交网络上的信标生成用户通知
US10579999B2 (en) Network payment tokenization for processing payment transactions
CN107004244B (zh) 使用在线社交网络上的信标定制第三方内容
US10417702B2 (en) Dynamically providing a third-party checkout option
CN111742341A (zh) 逆向出价平台
JP2021528787A (ja) ブロックチェーンに基づく個人データ処理方法およびシステム
US20170300897A1 (en) Systems and Methods for an Electronic Wallet Payment Tool
US20140006127A1 (en) Systems and Methods for Earning Virtual Value Associated with Transaction Account Activities
US11308483B2 (en) Token service provider for electronic/mobile commerce transactions
CN107251080A (zh) 用户通过社交网络系统与商家的通信
US20130073377A1 (en) Mobile device system and method providing 3d geo-target location-based mobile commerce searching/purchases, discounts/coupons products, goods, and services, and social networking
AU2013406177A1 (en) Methods and systems for obtaining merchant identification within payment authorization networks
US20130282455A1 (en) Method, system, and computer program for referring goods and services via a social media feed
US20230128174A1 (en) Proportional markers on a map
JP6317445B2 (ja) サードパーティ精算オプションの動的な提供
US10311506B1 (en) System and method for e-commerce accessibility
US20180165738A1 (en) Enhanced View System
US20230334492A1 (en) Blockchain agnostic token network
Froehlich et al. Implementation and Evaluation of a Point-Of-Sale Payment System Using Bitcoin Lightning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan platform Co.

Address before: California, USA

Applicant before: Facebook, Inc.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190716