促成发送和接收个人对企业支付的制作方法

文档序号:11635571阅读:511来源:国知局
促成发送和接收个人对企业支付的制造方法与工艺

本文描述的一个或多个实施例总体上涉及用于个人对企业电子支付交易的系统和方法。更具体而言,一个或多个实施例涉及提高电子支付交易的容易性和便利性的系统和方法。



背景技术:

电子支付系统允许用户通过一种或多种类型的装置(例如,桌面装置和移动装置)上的软件应用与他人进行支付交易。一些电子支付系统允许用户进行与商家的支付交易(即,个人对企业支付交易)。这种电子支付系统经常允许用户订购并支付商家的产品。

用户和商家之间的支付交易通常要求用户通过一种或多种经批准的支付方式(例如现金、支票、信用卡、借记卡、礼品卡)支付。通常,特别是在小企业的情况下,商家可能只接受几种支付方式,以避免与一种或多种支付方式相关联的签约成本或交易成本。因此,希望从不同商家(每个商家可以接受不同的支付方式)购买产品或服务的用户可能需要进行几种支付方式。

此外,使用物理支付方式可能会带来几个安全隐患。例如,使用物理借记卡或信用卡来支付产品或服务,允许其他人(例如,商户员工、其他客户)看到信用卡号码或其他个人金融信息。向企业暴露金融信息,往往会导致员工或其他客户窃取金融信息并使用该信息实施诈骗。

许多传统的电子支付系统有几个缺点,这往往会导致用户沮丧、混乱,并导致不满意的支付过程。传统电子支付系统的一个这种缺点是他们通常是具有有限功能的独立系统,商家必须实施该系统并且用户必须订购该系统。具体而言,一些传统的电子支付系统包括来自商家的专有软件,其被限制为允许用户仅与特定商家进行交互。允许用户进行与不同商家的支付交易的其他传统电子支付系统通常限制用户仅仅是进行支付交易。

传统电子支付系统的有限性也增加了不便。具体而言,传统电子支付系统的独立性通常要求用户打开仅用于支付交易的单独应用程序,以发送或接收支付。传统电子支付系统的独立性的不便可能使用户失去使用这种系统的兴趣。

因此,传统电子支付系统和方法存在许多缺点。



技术实现要素:

通过增加了与企业的电子支付交易的容易性和便利性的系统和方法,本文描述的一个或多个实施例提供了优点和/或解决本领域中的一个或多个前述或其他问题。具体而言,一个或多个实施例提供了与消息传送系统集成的支付系统,该系统允许用户与商家交换消息并参与和商家的电子支付交易。例如,系统和方法可以允许用户通过允许与商家交换电子消息的消息传送界面向企业发送电子支付。电子支付系统和消息传送系统的集成可以向用户和商家提供在消息传送线程的流程内发送和接收电子支付的能力。因此,一个或多个实施例允许用户与商家就支付交易进行通信并进行交易,而不必打开专用于电子支付的单独应用程序。

系统和方法可以提供在商家和消费者之间更安全的交易。例如,与企业的电子支付交易的系统和方法可以允许消费者进行购买,而不必向商家提供敏感的金融信息(例如,信用卡号)。此外,系统和方法可以允许商家验证消费者的身份,以帮助降低消费者欺诈的情况。

实施例的额外特征和优点将在下面的描述中阐述,并且部分地在该描述中显而易见,或者可以通过实践这些示例性实施例来了解。这些实施例的特征和优点可以通过在所附权利要求中特别指出的仪器和组合来实现和获得。这些和其他特征将从以下描述和所附权利要求中变得更加完全显而易见,或者可以通过实践下文阐述的这种示例性实施例来了解。

根据本发明的实施例在所附权利要求中特别公开,涉及一种方法、存储介质、系统和计算机程序产品,其中,在一个权利要求类别中提到的任何特征(例如,方法)也可以在另一权利要求类别中要求(例如,系统)。仅在形式上选择所附权利要求中的依赖或反向引用。然而,也可以要求由故意反向引用任何先前的权利要求(特别是多个依赖性)所造成的任何主题,从而公开权利要求及其特征的任何组合,并且可以要求保护,而不管所附权利要求中选择的依赖性。可以要求保护的主题不仅包括所附权利要求中阐述的特征的组合,而且还包括权利要求中的特征的任何其他组合,其中,权利要求中提及的每个特征可以与权利要求中的任何其他特征或其他特征的组合相组合。此外,本文描述或描绘的任何实施例和特征可以在单独的权利要求中和/或与本文所描述或描绘的任何实施例或特征或者所附权利要求的任何特征的的任何组合中要求保护。

在根据本发明的实施例中,一种系统包括:至少一个处理器;和至少一个非暂时性计算机可读存储介质,其上存储指令,当由所述至少一个处理器执行时,使所述系统:从用户消息传送账户接收指向商家消息传送账户的支付消息,所述支付消息指示支付金额;对于该支付金额,向支付网络发送针对用户的支付凭证的授权请求;从支付网络接收正向的支付授权响应;响应于正向的支付授权请求:将支付消息转发到商家消息传送账户;向支付网络发送针对用户的支付凭证的支付金额的支付交易请求;从支付网络接收对于支付金额的转账资金;以及将转账资金存入商家的临时账户。

在根据本发明的实施例中,系统还可以包括指令,当由所述至少一个处理器执行时,促使所述系统:将交易标识符与所述支付金额的资金相关联。

在根据本发明的实施例中,系统还可以包括指令,当由所述至少一个处理器执行时,促使所述系统:向所述商家发送包括所述交易标识符的支付处理消息。

在根据本发明的实施例中,系统还可以包括指令,当由所述至少一个处理器执行时,促使所述系统:接收来自用户消息传送账户的退款请求;向支付网络发送针对支付金额的退款,以记入用户的支付凭证;从临时账户扣除支付金额;和向用户消息传送账户和商家消息传送账户发送退款消息。

在根据本发明的实施例中,系统还可以包括指令,当由所述至少一个处理器执行时,促使所述系统:向所述支付网络发送结算支付,以记入所述商家的支付凭证,所述结算支付包括针对支付金额的转账资金。

在根据本发明的实施例中,系统还可以包括指令,当由所述至少一个处理器执行时,促使所述系统:识别用户的客户端装置的位置;判定用户的客户端装置的位置靠近商家的位置;识别商家的商家标识符;和向用户的客户端装置发送添加商家作为消息传送联系人的请求。

在根据本发明的实施例中,系统还可以包括指令,当由所述至少一个处理器执行时,促使所述系统:识别用户的客户端装置的位置;识别用户偏好,以在用户的客户端装置靠近商家的位置时,允许商家与用户联系;和向商家发送包括用户的用户标识符的通知。

在根据本发明的实施例中,系统还可以包括指令,当所述至少一个处理器执行时,促使所述系统:在从支付网络接收到针对支付金额的转账资金之前,使用来自所述临时账户的资金,将所述支付金额发送到商家的支付凭证。

在根据本发明的实施例中,一种方法包括:在一个或多个服务器装置处,接收来自商家消息传送账户的支付请求消息,所述支付请求消息包括产品的产品id,第一文本消息,支付金额,商家id以及用户的用户id;由所述一个或多个服务器装置生成交易标识符并将所述交易id添加到所述支付请求消息;由所述一个或多个服务器装置将所述支付请求消息发送到与所述用户相关联的客户端装置;由所述一个或多个服务器装置创建所述用户的用户节点与所述产品的概念节点之间的社交网络图谱中的边线;由所述一个或多个服务器装置将所述第一文本消息写入所述用户和所述商家之间的消息传送线程;从所述客户端装置接收支付消息,所述支付消息指示对于所述支付金额向所述商家处理支付的授权;针对支付金额,向支付网络发送对于用户的支付凭证的授权请求;从支付网络接收正向的支付授权响应;同时响应于正向的支付授权请求:将支付消息转发到商家消息传送账户;将针对来自用户的支付凭证的支付金额的支付交易请求发送至支付网络;从支付网络接收支付金额的转账资金;和将转账资金存入商家的临时账户。

在根据本发明的实施例中,方法还可以包括:识别与用户相关联的客户端装置的位置;识别用户偏好,以当与所述用户相关联的所述客户端装置靠近所述商家的位置时,允许商家与用户联系;确定与所述用户相关联的所述客户端装置的位置靠近所述商家的位置;和向商家发送包括用户的用户标识符的通知。

在根据本发明的实施例中,方法还可以包括:识别与用户相关联的客户端装置的位置;确定与用户相关联的客户端装置的位置靠近所述商家的位置;识别商家的商家标识符;和向与所述用户相关联的所述客户端装置发送将所述商家添加作为消息传送联系人的请求。

在根据本发明的实施例中,方法还可以包括:从用户消息传送账户接收退款请求;向支付网络发送支付金额的退款,以记入用户的支付凭证;从临时账户扣除支付金额;和向用户消息传送账户和商家消息传送账户发送退款消息。

在根据本发明的实施例中,方法还可以包括向所述商家的支付凭证发送所述支付金额的结算支付。

在根据本发明的实施例中,方法还可以包括:识别与用户相关联的客户端装置的位置;确定与用户相关联的客户端装置的位置靠近所述商家的位置;和将用户的图像发送给商家,以允许对于用户的识别。

在根据本发明的实施例中,方法还可以包括:执行风险检查,以通过验证以下各项中的一项或多项,来判定所述用户是否可能是真实的人:所述用户是否被标记在由一个或多个共同用户(co-user)发布到所述社交网络系统的媒体中、用户的共同用户是否认出用户的生日(即,祝用户“生日快乐”)、在用户与用户的共同用户之间交换的消息的数量或量、用户的共同用户是否点赞用户发布的帖子、或者用户的共同用户是否已经对用户发布的帖子进行了评论。

在也可以要求保护的本发明的另一实施例中,一个或多个计算机可读非暂时性存储介质体现了软件,当执行时,该软件可操作,以在根据本发明或上述任何实施例的系统中执行。

在也可以要求保护的本发明的另一实施例中,计算机实现的方法使用根据本发明或上述任何实施例的系统。

在也可以要求保护的本发明的另一实施例中,优选地包括计算机可读非暂时性存储介质的计算机程序产品用于根据本发明或上述任何实施例的系统中。

附图说明

为了描述可以获得本公开的上述列举和其他优点和特征的方式,将通过参考附图中所示的其具体实施例,对上面简要描述的公开内容进行更具体的描述。应当注意,附图不是按比例绘制的,并且在整个附图中为了说明的目的,相似的结构或功能的元件通常由相同的附图标记表示。在下面的附图中,本文使用带有虚线边框(例如,大破折号、小破折号、虚线、点)的方括号文本和方块,来说明向本公开的实施例添加额外特征的可选特征或操作。然而,这种符号不应被认为表示这些是唯一选项或可选操作,和/或具有实线边框的方块在本公开的某些实施例中不是可选的。理解这些附图仅描绘了本公开的典型实施例,并且因此不被认为限制其范围,将通过使用附图以额外的特征和细节来描述和解释本公开,其中:

图1示出了根据一个或多个实施例的促成发送消息和支付的示例系统的示意图;

图2示出了根据一个或多个实施例的图1的系统的详细示意图;

图3a至图3d示出了根据一个或多个实施例的示出作为消费者和商家之间的支付过程的一部分的交互的顺序流程图;

图4a至4k示出了根据一个或多个实施例的用于完成支付交易的用户界面;

图5示出了根据一个或多个实施例的促成个人对企业支付交易的方法中的一系列动作的流程图;

图6示出了根据一个或多个实施例的促成个人对企业支付交易的另一种方法中的一系列动作的流程图;

图7示出了根据一个或多个实施例的示例性计算装置的方框图;

图8示出了根据一个或多个实施例的社交网络系统的示例网络环境;以及

图9示出了根据一个或多个实施例的社交网络系统的示例社交图谱。

具体实施方式

本公开的实施例提供了一种集成的消息和支付系统,其增加了向商家进行支付的容易性和效率。具体而言,一个或多个实施例提供集成了电子支付系统和电子消息传送系统的集成的消息和支付系统。集成的消息和支付系统可以允许消费者与商家交换消息,以及向商家发送电子支付。例如,集成的消息和支付系统可以允许消费者经由也允许与商家交换电子消息的消息传送界面向商家发送电子支付。

通过集成电子支付系统和消息传送系统,系统可以向用户提供在对话流程内发送和接收电子支付的能力。因此,该系统可以允许用户就支付交易进行通信并进行交易,而不必打开专用于电子支付的单独应用程序。在由系统的一个或多个实施例提供的消息交换期间,无缝地发送支付的更大容易性和效率可以导致更多地使用和满意电子支付并且增加与商家的支出。

集成的消息和支付系统可以为处理购买产品的支付交易提供方便。具体而言,集成的消息和支付系统可以允许用户执行与商家的支付交易,以在消息传送应用程序内购买产品。例如,系统可以允许用户通过消息传送应用程序与商家通信时发起与商家的支付交易。因此,该系统可以使用户能够容易地进行与商家的交互,以从用户的装置(例如,诸如智能电话等移动装置)查询和/或购买产品。

在一个或多个额外实施例中,系统可以允许用户基于用户的位置与商家连接和/或通信。具体而言,系统可以检测用户的客户端装置的位置,并允许用户以各种方式查找用户位置附近的商家并与之交互。例如,用户可以找到使用该集成的消息和支付系统的附近商家。甚至在到达特定的附近商家的位置之前,用户也可以在消息传送应用程序中开始与商家进行通信。因此,系统可以允许用户获得关于产品的额外信息,并且甚至不在商家的实际位置就开始从商家购买商品的交易。

此外,系统的一个或多个实施例可以简化用于处理对用户的退款的方法。例如,系统可以为商家提供通过消息传送应用程序向用户发出退款的方式。具体而言,通过将用户和商家之间的消息传送线程与绑定到用户和商家之间的支付交易的交易标识符相关联,该系统可以允许用户从消息传送应用程序内请求来自商家的退款。因此,商家可以向用户发出退款,而不需要用户通过电话或亲自提供商家敏感信息(例如,卡号)。

根据一个或多个实施例,系统还可以允许用户通过各种支付方式向商家支付。具体而言,该系统可以允许用户向系统注册多个支付凭证,用于与商家的支付交易。例如,系统可以允许用户选择多个注册的支付凭证中的一个或多个,来使用消息传送应用程序支付商家的产品。此外,系统还可以允许商家基于商家的偏好或要求向用户提供多种不同的支付选项。因此,该系统可以在用户和商家之间的电子支付交易中提供支付方式的灵活性。

此外,系统可以允许消费者针对产品或服务向商家支付,而不必向商家提供敏感的金融信息(例如,信用卡号、支票账号)。因此,该系统可以为用户提供更大的安全性。具体而言,用户可以避免担心在访问新商家时的任何欺诈。

该系统还可以增加商家的安全性。具体而言,该系统可以基于由社交网络系统维护的关于消费者的信息来执行风险检查。如果消费者是已知的欺诈者,或者如果基于关于由系统维护的消费者或商家的信息而支付似乎是欺诈,则系统可以拒绝该支付。

如本文所使用的,术语“一个消息”或“多个消息”是指两个或更多个计算装置之间的任何形式的电子通信。消息可以包括文本消息、照片、贴纸或其他图标、视频、语音记录、音乐、语音邮件等。在一个或多个实施例中,消息是实时或接近实时传送的即时消息。然而,在替代实施例中,消息可以指任何形式的电子通信,例如,sms消息、电子邮件或社交网帖子或评论。

此外,术语“支付消息”是指以下消息,其指示允许系统发起支付交易的支付信息。例如,支付消息可以包括数据包,其包括支付金额、消费者、商家、支付方式、指示系统如何处理支付方式的格式(formatting)、以及额外信息(例如,用户提供的消息文本)。

如本文所使用的,术语“支付交易”是指两个或更多个实体之间的任何类型的电子交易交换货币或信用。例如,支付交易可以是集成的消息和支付系统的两个用户之间的金融电子交易。在另一示例中,支付交易可以是用户与金融机构或其他多人实体之间的金融电子交易。此外,支付交易可以表示货币礼物、债务支付、贷款融资、考虑购买货物和/或服务的支付或任何其他类型的货币转账。此外,支付交易可以以一种或多种货币进行,并且基于例如汇率转换成一种或多种其他货币。

如本文所使用的,术语“账户”或“支付凭证”可以指用户的借记卡账户、银行账户、信用卡账户、消息传送账户、礼品卡或可以从中扣除钱或者可以存钱的任何其他账户。鉴于下面关于附图的公开内容,以上术语以及额外术语的含义将变得更加明显。

图1是示出根据一个或多个实施例的集成的消息收发和支付系统100的示意图。在图1描述系统100的概况。此后,在其余的附图中,提供对系统100的部件和过程的更详细的描述。

如图1所示,系统100可以允许用户102a使用相应的客户端装置200a、200b与商家102b交互。如图1进一步所示,客户端装置可以经由网络105与服务器装置108通信。另外,系统100可以包括通过网络105与服务器装置108通信地耦接的支付网络115。虽然图1示出了用户/商家、客户端装置、网络105、服务器装置108和支付网络115的特定设置,但是各种额外设置是可能的。例如,客户端装置200a、200b可以绕过网络105而直接与服务器装置108通信。

如上简述,图1示出了用户102a可以使用消费者客户端装置200a,并且商家102b可以使用商家客户端装置200b,经由服务器装置108彼此通信。例如,用户102a和商家102b可以交换包含文本、数字内容(例如,音频、图像、视频)、位置信息和其他形式的数据和信息的电子消息。例如,使用消费者客户端装置200a的用户102a可以撰写意指商家102b的消息。在撰写消息之后,用户102a可以使消费者客户端装置200a经由网络105将意指商家102b的消息发送到服务器装置108。服务器装置108可以将商家102b识别为预期的商家,并且将消息转发到与商家102b相关联的商家客户端装置200b。

另外,允许用户交换电子通信,系统100可以允许用户向彼此发送货币支付和从彼此接收货币支付。在一个或多个实施例中,系统100允许用户定义并发送支付消息给商家用户。例如,系统100可以允许用户102a经由服务器装置108和支付网络115向商家102b发送支付。同样,商家102b可以接收到支付的通知,接受或拒绝支付。如将在下面更详细地解释的,服务器装置108可以与支付网络115通信,以协调促成用户(即,其账户)之间的支付的交易。

在系统100可以促成用户102a和商家102b之间的支付的同时,系统100还可以促成多于两个用户(例如,一组用户)之间的支付。例如,用户102a可以向商家102b发送支付。在一个或多个实施例中,多个用户可以在同一支付交易中向商家102b发送支付。

虽然图1将用户示出为人,但是商家可以包括诸如商业或政府实体等实体。例如,用户102a可以使用系统100向商家102b提供对于服务或产品的支付。例如,用户102a可以经由系统100与商家通信,并且最终决定从商家购买产品或服务。使用同一系统100,用户102a然后可以向商家发送对于产品或服务的支付。同样,商家可以向其他用户发送支付(例如,退款)。

如上所述,并且如图1所示,用户102a可以与消费者客户端装置200a交互,商家102b可以与商家客户端装置200b交互。客户端装置的示例包括诸如移动装置(例如,智能电话、平板电脑)、膝上型计算机、台式机或任何其他类型的计算装置等计算装置。图7和相应的描述提供了关于计算装置的额外信息。此外,如上所述,客户端装置可以通过网络105进行通信。在一个或多个实施例中,网络105包括因特网或万维网。然而,网络可以包括使用各种通信技术和协议的一个或多个专有和/或公共网络,如下面参照图19进一步描述的。

如上面简述,系统100可以对于在用户之间发送和接收支付进行协调。例如,用户102a可以撰写支付消息并向商家102b发送支付消息。例如,用户102a可以通过消费者客户端装置200a提供输入,以定义支付方式(例如,消费者用户102a的信用卡、借记卡、账户余额)、支付金额、支付货币、支付描述和/或各种其他支付细节。

例如,从用户102a的角度来看,消费者用户102a可以按照与发送通信消息(例如,文本)相似的方式来撰写和发送支付消息。例如,在一个或多个实施例中,用户102a可以撰写指示用户102a期望发送给用户102b的支付金额的支付消息。在撰写支付消息之后,消费者用户102a然后可以经由服务器装置向商家102b发送支付消息。

在一个或多个实施例中,系统100可以经由支付网络115协调消费者用户102a的一个或多个账户与商家102b的一个或多个账户之间的交易。例如,响应于从消费者用户102a接收支付消息,服务器装置可以传送交易信息,以使用支付网络115内的一个或多个部件来处理支付。替代地或另外,系统100可以直接维护一个或多个用户账户,因此,系统100可以协调交易或交易的一部分。

如图1所示,支付网络115可以包括支付网关系统118、支付处理系统120、卡网络系统122和发卡银行系统124。然而,在替代实施例中,取决于系统100的特定实施例,支付网络115可以包括更多或更少的部件。

在一个或多个实施例中,例如,系统100可以与支付网络115通信,以授权和处理交易。例如,系统100可以向支付网关系统118发送交易,如图1所示。一旦支付网关系统118接收到交易,支付网关系统118可以将交易发送给支付商家用户的收单银行使用的处理器(例如,支付处理系统120)。基于支付方式(例如,消费者用户的账号),支付处理系统120可以将交易发送到适当的卡网络系统122。在许多情况下,卡网络系统122然后将交易发送到发卡银行系统124。

发卡银行系统124或是批准或是拒绝该交易,并将该决定发送回卡网络系统122。然后,卡网络122将该决定发送给支付处理系统120。支付处理系统120然后可以将该决定转发到支付网关系统118,并且在一个或多个实施例中,支付网关系统118可以维护与交易和决定相关的细节。支付处理系统120还将决定发送到系统100。

除了授权交易之外,支付网络115还可以执行结算任务。例如,系统100可以与支付网关系统118协调,以经由收单银行的首选支付处理系统120将包括一个或多个捕获的交易的每日结算批次提交给收单银行。支付处理系统120然后将结算批次发送到收单银行(未示出)的服务器,其将结算批内的每个交易量的存款记到与商家102b相关联的账户。

然后,收单银行可以向支付处理系统120发送满足存款金额的资金请求,该系统将资金请求传递给适当的卡网络系统122。卡网络系统122然后将资金请求发送到发卡银行系统124。发卡银行系统124可以将交易过账到消费者用户的账户,并将资金的发放传递到卡网络系统122,然后将其传递到支付处理系统120,然后,传送到收单银行。下面描述与系统100的具体系统、方法、部件和过程有关的额外细节。

图2示出了显示该系统100的额外细节的示意图。如所示,系统100可以包括消费者客户端装置200a、商家客户端装置200b、服务器装置108和支付网络115。通常,系统100可以允许消费者客户端装置200a的用户向商家客户端装置200b发送支付或从商家客户端装置200b接收支付。此外,系统可以允许消费者客户端装置200a的用户与商家客户端装置200b的用户交换消息。

如所示,系统100可以包括客户端装置200a、200b和服务器装置108上的各种部件。例如,图2示出了客户端装置200a、200b均可以包括具有各种部件的客户端应用程序202(例如,消息传送应用程序),并且服务器装置108可以包括具有各种部件的网络应用程序204和支付引擎206。客户端应用程序202、网络应用程序204和支付引擎206的部件可以一起工作,以允许用户发送支付,接收支付和交换消息,如下面更详细描述的。

如所示,客户端应用程序202可以包括用户界面管理器208、用户输入检测器210、消息传送处理机212、消息分析器214、位置检测器216、支付消息生成器218和数据管理器220。图2示出了网络应用程序204可以包括通信管理器230、状态管理器232、消息数据库234、配置文件数据库236和风险计算器238。如下所述,网络应用程序204还可以可选地包括社交图谱250,其包括节点信息252和边线信息254。图2还示出了支付引擎206,其可以包括支付管理器240、交易数据库242和账户管理器244。部件208至220、230至244、252和254中的每一个可以使用任何合适的通信技术彼此通信。将认识到,虽然部件208至220、230至244、252和254被示出为在图2中是分开的,但是部件208至220、230至244、252和254中的任一个可以组合成较少的部件,例如,组合成单个装置或模块,或者可以分为更多的部件,这可以用于特定实施例。虽然图2将某些部件描述为客户端应用程序202的一部分并且将其他部件描述为网络应用程序204的一部分,但是本公开不限于此。在替代实施例中,作为客户端应用程序202的一部分示出的一个或多个部件可以是网络应用程序204的一部分,反之亦然。同样,作为网络应用程序204的一部分示出的一个或多个部件可以是支付引擎206的一部分,反之亦然。

部件208至220、230至244、252和254可以包括软件、硬件或这两者。例如,部件208至220、230至244、252和254可以包括存储在非暂时性计算机可读存储介质上并由服务器装置108或客户端装置200a、200b的至少一个处理器可执行的计算机指令。当由至少一个处理器执行时,计算机可执行指令可使客户端装置200a、200b或服务器装置108执行本文所述的方法和过程。替代地,部件208至220、230至244、252和254可以包括硬件,诸如,用于执行某个功能或某组功能的专用处理装置。另外或替代地,部件208至220、230至244、252和254可以包括计算机可执行指令和硬件的组合。

在一个或多个实施例中,客户端应用程序202可以是安装在客户端装置200a、200b之一上的本机应用程序。例如,客户端应用程序202可以是在诸如智能电话或平板电脑等移动装置上安装和运行的移动应用程序。替代地,客户端应用程序202可以是桌面应用程序、小部件或其他形式的本机计算机程序。替代地,客户端应用程序202可以是客户端装置访问的远程应用程序。例如,客户端应用程序202可以是在客户端装置的网络浏览器内执行的网络应用程序。

如上所述,并如图2所示,客户端应用程序202可以包括用户界面管理器208。用户界面管理器208可以提供、管理和/或控制图形用户界面(或简称为“用户界面”),其允许用户撰写、查看和发送邮件以及发送支付。例如,用户界面管理器208可以提供促成消息(例如,即时消息)撰写的用户界面。同样,用户界面管理器208可以提供显示从其他用户接收的消息的用户界面。

更具体而言,用户界面管理器208可以促成用户界面的显示(例如,通过与相应的客户端装置相关联的显示装置)。例如,用户界面可以由允许用户撰写、发送和接收消息或支付的多个图形部件、对象和/或元件组成。更具体而言,用户界面管理器208可以指示客户端装置显示使得用户能够查看消息传送线程的一组图形部件、对象和/或元件。

此外,用户界面管理器208可以指示客户端装置显示一个或多个图形对象或元件,其促成撰写和发送消息的用户输入。举例而言,用户界面管理器208可以提供允许用户向客户端应用程序202提供用户输入的用户界面。例如,用户界面管理器208可以提供一个或多个用户界面,其允许用户输入一种或多种类型的内容到消息内。如本文所使用的,“内容”是指要作为消息的一部分包括的任何数据或信息。例如,在本文中使用术语“内容”来一般地描述文本、图像、数字媒体、文件、位置信息、支付信息以及可作为消息的一部分包括的任何其他数据。

如上所述,可以包括在消息中的内容的一个示例是从消费者用户(例如,消费者)到商家用户(例如,商家)的支付。在一个或多个实施例中,用户界面管理器208可以提供用户界面,以允许用户容易且高效地定义支付并向一个或多个其他用户发送支付。例如,用户界面管理器208可以提供一个或多个输入字段和/或用户可以与其交互以创建和发送支付的一个或多个用户可选元件。

除了前述之外,用户界面管理器208可以从客户端应用程序202的一个或多个部件接收指令或通信,以显示更新的消息信息、更新的支付状态和/或更新的可用动作。用户界面管理器208可以基于特定选项在交易过程中的特定点是否可用来更新可用选项。用户界面管理器208可以在消费者和/或接收者状态消息内添加、删除和/或更新各种其他可选活动,如下面将要讨论的。

用户界面管理器208可以促成将文本或其他数据的输入包括在电子通信或消息中。例如,用户界面管理器208可以提供包括键盘的用户界面。用户可以使用一个或多个触摸手势与键盘交互,以选择要包括在电子通信中的文本。例如,用户可以使用键盘输入消息,以伴随和/或描述电子通信中的一个或多个其他内容项。除了文本之外,用户界面(包括键盘界面)可以促成各种其他字符、符号、图标或其他字符信息的输入。

在一个或多个实施例中,用户界面管理器208还可以为不同的客户端装置提供不同的界面。例如,用户界面管理器208可以为消费者和商家提供不同的界面。具体而言,如果客户端装置是消费者客户端装置200a,则用户界面管理器208可以提供专门为消费者设计的用户界面。同样,如果客户端装置是商家客户端装置200b,则用户界面管理器208可以提供专门为商家设计的用户界面。在一些情况下,不同的界面可以具有类似的用户界面元件,其允许用户彼此通信并进入支付交易,同时基于用户的类型提供一个或多个用户特定的元件,如下面在图4a至4k更详细地描述的。

如图2进一步所示,客户端应用程序202可以包括用户输入检测器210。在一个或多个实施例中,用户输入检测器210可以以任何合适的方式检测、接收和/或促成用户输入。在一些示例中,用户输入检测器210可以检测对于用户界面的一个或多个用户交互。如本文所参考的,“用户交互”是指通过一个或多个输入装置从用户接收的单个交互或交互的组合。

例如,用户输入检测器210可以检测来自键盘、鼠标、触摸板、触摸屏和/或任何其他输入装置的用户交互。在客户端装置包括触摸屏的情况下,用户输入检测器210可以检测来自用户的、形成用户交互的一个或多个触摸手势(例如,滑动手势、点击手势、捏缩手势或反向捏缩手势)。在一些示例中,用户可以提供关于和/或涉及用户界面的一个或多个图形对象或图形元件的触摸手势。

用户输入检测器210可另外或替代地接收代表用户交互的数据。例如,用户输入检测器210可以接收来自用户的一个或多个用户可配置参数,来自用户的一个或多个用户命令和/或任何其他合适的用户输入。用户输入检测器210可以从客户端应用程序202的一个或多个部件、从客户端装置上的存储器或者从一个或多个远程位置(例如,网络应用程序204)接收输入数据。

响应于用户输入检测器210检测到用户输入和/或接收到其他数据,客户端应用程序202可以执行一个或多个功能。通常,用户可以通过提供用户输入检测器210可以检测到的一个或多个用户输入来控制、在其内导航和以其他方式使用客户端应用程序202。例如,响应于用户输入检测器210检测到用户输入,客户端应用程序202的一个或多个部件允许用户为消息选择商家,撰写消息,选择要包括在消息中的内容和/或向商家发送消息。此外,响应于用户输入检测器210检测到用户输入,客户端应用程序202的一个或多个部件允许用户通过一个或多个用户界面导航,以查看所接收的消息、联系人,查看产品列表、当前和/或以前的支付交易等。

在一个或多个实施例中,响应于用户输入检测器210检测到一个或多个用户输入,客户端应用程序202可以允许用户创建支付,以发送给一个或多个其他用户。例如,希望发送支付的用户可以与在用户界面内的菜单上提供的支付元件交互。在检测到与支付元件的用户交互时,用户输入检测器210可以使用户界面管理器208提供用于创建支付的用户界面。因此,响应于用户输入检测器210检测到一个或多个用户输入,客户端应用程序202可以允许用户创建定制化支付,其定义要发送给商家的支付,如下面进一步描述的。

如图2进一步所示,客户端应用程序202可以包括管理提供给客户端应用程序202或从客户端应用程序202发送的消息的消息处理机210。例如,消息处理机210可以与用户界面管理器208和用户输入检测器210交互,以协调使用客户端应用程序202发送和接收消息。消息处理机210可以在多个参与者之间的电子消息传送会话的过程中引导向网络应用程序204发送消息和从网络应用程序204接收消息。消息处理机210可以组织传入和传出消息,并且指示用户界面管理器208显示消息。

在一个或多个实施例中,消息处理机210可以促成经由客户端应用程序202接收和发送数据。具体而言,消息处理机210可以促成发送和接收消息。例如,消息处理机210可以将要包括在消息中的内容封包并且以能够通过一个或多个通信信道并且使用适当的通信协议发送的任何必要形式格式化消息,如本文所述。同样,消息处理机210可以处理客户端装置200a从其他用户接收的消息。

除了为客户端应用程序202提供通信功能之外,消息处理机210可以提供对消息数据的访问。例如,消息处理机210可以访问表示联系人列表、或者一组或多组联系人的数据,以将商家包括至消息。举例而言,消息处理机210可以获得表示联系人列表的数据并将其提供给用户界面管理器208,以允许用户搜索和浏览联系人列表,并且最终选择个人联系人或联系人组,以包括消息的商家。在一个或多个实施例中,社交网络系统可以维护远程联系人列表数据(例如,“好友列表”),并且消息处理机210可以访问社交网络系统上的联系人列表数据,以在客户端应用程序202内使用。

消息处理机210还可以提供对客户端应用程序202可以用来撰写、发送和接收消息的其他本地或远程数据的访问。例如,消息处理机210可以获得对用户可以包括在消息中的文件、图像、音频、视频和其他内容的访问。此外,消息处理机210可以提供对消费者客户端装置200a的一个或多个功能的访问,以向用户提供捕获或创建要包括在消息内的内容的能力。例如,消息处理机210可以激活相机、麦克风或允许用户捕获要包括在消息中的内容的其他功能。

另外,消息处理机210可以促成发送支付。具体而言,图2示出了客户端应用程序202可以包括支付消息生成器218,其可以生成消息传送处理机210可以向网络应用程序204和/或支付引擎206发送以发起支付处理/交易的支付消息。例如,当消费者选择用户界面上的支付元件时,支付消息生成器218可以创建包括从消费者接收的支付信息的数据包。来自客户端装置200a的支付消息可以包括作为支付交易的一部分而要发送的金额的指示以及允许网络应用程序执行支付交易的任何必要的信息。

在一个或多个实施例中,支付消息生成器218可以创建一个或多个数据包,其包括支付金额、一个或多个消费者标识符、一个或多个商家标识符、交易标识符、消息传送线程标识符、产品标识符、一种或多种支付方式或消费者账户信息、授权信息、货币信息、消息或支付描述、和/或可能促成从消费者向商家支付的任何其他数据。替代地,支付消息可以简单地识别商家和支付金额。支付消息生成器218可以将支付消息(例如,包括支付信息的数据包)传递到消息处理机210,以发送到网络应用程序204。

支付消息生成器218还可以从各种来源获取支付信息。例如,支付消息生成器218可以经由用户输入检测器210直接从消费者获得支付信息。此外或者替代地,支付消息生成器可获得对于由数据管理器220在客户端装置上维护的支付信息的访问。例如,客户端应用程序202可以允许消费者输入并保存各种支付方式和/或识别默认支付方式、默认货币、并且以其他方式指定与发送和/或接收支付有关的其他用户偏好。

在一个或多个实施例中,支付消息生成器218可以访问并提供在支付消息内的令牌。令牌可以引用由网络应用程序204存储的支付凭证。例如,支付消息生成器218可以检索令牌,以包括在支付消息中或与支付消息一起,其将消费者和/或消费者客户端装置200a验证为授权,以使用由网络应用程序204存储的支付凭证进行支付。

根据一些实施例,支付消息生成器218可以生成单独的支付消息,以发送到网络应用程序204和支付引擎206中的每一个。具体而言,支付消息生成器218可以生成第一支付消息以及第二支付消息(或与第一支付消息相关联的其他消息),其中,第一支付消息用于发送到支付引擎206以供处理支付交易的,第二支付消息指示用于经由网络应用程序204向客户端装置200b发送的支付交易。替代地,支付消息生成器218可以生成用于并行发送到网络应用程序204和支付引擎206两者的单个支付消息。

如上所述,客户端应用程序202还可以包括消息分析器214。消息分析器214可以针对潜在事件分析由客户端应用程序202发送和接收的消息。在一个或多个实施例中,消息分析器214可以基于所交换的消息中的上下文内容从用户之间交换的电子消息来推断事件。具体而言,消息分析器214可以识别指示支付或与支付相关联的事件的机会的某些短语或字符串。例如,字符串可以包括来自用户和商家之间的消息传送线程中的电子消息的预定字符串。

客户端应用程序202还可以包括位置检测器216。位置检测器216可以基于来自客户端装置的gps信息、小区塔三角测量、wifi接收信号强度指示、wifi无线指纹、无线电频率识别、近场通信、通过分析消息、或基于其他来源的数据,访问或识别客户端装置的位置。位置检测器216然后可以将客户端装置的位置提供给消息分析器214或网络应用程序204。另外,位置检测器216可以从网络应用程序204接收其他客户端装置的位置的指示,并将其提供给消息分析器214。例如,当用户的位置靠近商家的位置时,位置检测器216可以通知用户和/或商家。

如上所述,客户端装置200a、200b均可以包括数据管理器220,如图2所示。数据管理器220可以维护表示与用户和一个或多个其他用户之间撰写、发送和接收消息相关联使用的数据的消息数据。例如,消息数据可以包括消息日志、联系人列表、内容、过去通信以及客户端应用程序202可以结合为用户提供使用客户端应用程序202进行通信的能力而使用的其他类似类型的数据。

数据管理器220还可以维护表示用于生成支付消息的信息的支付数据。例如,支付数据可以包括支付方式数据(即,凭证)和/或账户数据(例如,银行或信用卡账户数据)。此外,支付数据可以包括支付偏好(例如,默认支付方式)。通常,支付数据可以包括支付消息生成器218可以结合生成支付而使用的任何数据。

如上面简述,除了客户端装置200a、200b之外,系统100还可以包括全部或部分地在服务器装置108上实现的网络应用程序204。在本公开的一个或多个实施例中,网络应用程序204包括社交网络系统(例如但不限于facebook(tm)),但是在其他实施例中,网络应用程序204可以包括另一类型的应用,包括但不限于电子邮件应用程序、搜索引擎应用程序、银行应用程序或使用用户账户的任何数量的其他应用程序类型。

在网络应用程序204包括社交网络系统的一个或多个实施例中,网络应用程序204可以包括用于表示和分析多个用户和概念的社交图谱250。社交图谱250的节点存储252可以存储包括针对用户的节点、针对概念的节点、针对交易的节点和针对项目的节点的节点信息。社交图谱250的边线存储254可以存储包括在社交网络系统内发生的节点和/或动作之间的关系的边线信息。将在下面参照图9提供关于社交网络系统、社交图谱、边线和节点的进一步细节。

通信管理器230可以处理从客户端应用程序202接收的消息。例如,通信管理器230可以与客户端应用程序202的消息处理机206进行交互。通信管理器230可以充当在电子消息传送线程中在用户之间来回发送消息的指示器。通信管理器230可以从客户端应用程序202接收消息(例如,支付消息或指示与支付消息相关联的支付交易的消息),检测消息的意向商家,并将消息发送到与意向商家相关联的客户端应用程序202(或装置)。将会理解,通信管理器230可以使针对商家的消息导向与该商家相关联的多个客户端装置(即,用户已经安装了客户端应用程序202的版本的每个装置)。

此外,通信管理器230还可以基于目的地通信装置或类型使用的消息传送协议来重新格式化或以其他方式修改消息的内容或格式。因此,在一个或多个实施例中,系统100可以允许使用不同通信平台的参与者交换消息。例如,通信管理器230可以以第一协议(sms、im、xmpp、apns等)接收消息,将消息重新格式化为第二协议,并将重新格式化的消息发送到意向商家。

状态管理器232可以追踪客户端应用程序202和/或客户端装置200a、200b的用户的状态。例如,状态管理器232可以识别用户登录到客户端应用程序202的时间、用户在客户端应用程序202处于活跃的时间、与用户或用户账户相关联的客户端装置在线或活跃的时间。状态管理器232可以向客户端应用程序202发送指示(例如推送通知),以通知客户端应用程序202用户、装置、消息或支付的状态。用户界面管理器208可以基于从状态管理器232接收到的指示来添加、修改或以其他方式改变或更新状态通知。例如,状态管理器232可以向客户端应用程序202发送指示另一用户已经访问消息、收到支付、发送支付、活跃、共同用户在其上活跃的装置或装置类型(例如,移动与网络)的指示。用户界面管理器208进而更新用户界面,以向用户通知状态。

网络应用程序204还可以包括消息数据库234。消息数据库234可以维护表示来自多个参与者中的电子消息会话的消息内容的消息数据。消息数据库234可以维护状态管理器232追踪的表示上述信息的状态数据。因此,消息数据库234可以提供网络应用程序204可以按需或者一旦用户使用新的计算装置登录到客户端应用程序202就提供给用户的消息传送线程的归档。

如前所述,服务器装置108可以包括具有支付管理器240的支付引擎206。图2的支付管理器240可以将支付消息的发送和接收集成并发起支付交易,并且可以使用一个或多个应用程序编程接口(api)。例如,在通信管理器230接收到支付消息时,通信管理器230可以向支付管理器240发送任何支付细节。然后,支付管理器240可以使用从支付消息检索的支付细节,来使用支付网络115发起支付交易。

支付管理器240可以协调与支付消息中定义的支付相对应的交易。如上所大体论述,支付管理器240可以通过支付网络115协调与支付消息对应的交易,监控交易的状态,并提供关于交易的状态信息。更具体而言,支付网络115可以授权交易,资助交易和/或结算单个交易或交易批次,如上参考图1所述。在一个或多个实施例中,支付管理器240可以使用一个或多个应用编程接口(api)与支付网络115通信相关的信息。

为了完成交易,支付管理器236可以访问或获得商家的支付凭证(例如,存款账户信息、借记卡、信用卡、礼品卡、电子钱包)。支付管理器236可以使用各种方法获得商家的支付凭证。在一个示例实施例中,商家可以向网络应用程序204注册一个或多个存款账户或其他支付凭证。例如,商家可以注册多个支付凭证,以与不同的商家一起使用。在用户注册存款账户或其他支付凭证时,用户配置文件数据库240可以维护支付凭证。

在支付管理器240接收到支付信息之后,支付管理器240可以识别商家。支付管理器240可以在用户配置文件数据库236中查找商家,以判定商家是否已经注册了商家接受的支付凭证。具体而言,商家可以设置优选或所需支付凭证,用于与用户进行支付交易。此时,支付管理器240可以发起该交易。

在商家的用户配置文件不包括支付凭证的情况下,支付管理器240可以指示通信管理器230向商家发送提示商家提供支付凭证的消息。消息可以通过提供允许商家提供支付凭证细节的一个或多个交互式字段来提示商家注册支付凭证。另外或替代地,在判定商家没有注册的支付凭证时,支付管理器240可以生成临时存款(temporarydeposit)。具体而言,支付管理器240可以生成账号并将账号与商家的用户配置文件相关联。在一个或多个实施例中,商家可能已经具有临时账户,因此,支付管理器240可以使用先前创建的临时账户来完成交易。具体而言,临时账户允许支付管理器240立即执行处理交易,而不会从消费者或商家的角度延迟支付过程。

账户管理器244可以与网络应用程序结合地管理一个或多个临时账户。例如,在完成支付时,支付管理器240可以将支付金额存入临时账户。在一个或多个实施例中,在进入与用户(例如,消费者)进行的任何支付交易之前,商家(例如,商家)可以向客户经理244建立临时账户。在一个或多个实施例中,在货币在临时账户中并准备转账到商家的注册存款账户时,支付管理器240可以使通信管理器230向商家发送通知。在其他实施例中,当商家向消费者退款时,例如,支付管理器240可以使通信管理器230向消费者发送用于将资金从临时账户转账到注册存款账户的超链接和/或指令。

除了通过支付网络115协调交易之外,支付管理器240还可以协调关于一个或多个系统用户账户的交易。在一个或多个实施例中,支付引擎206可以支持用户现金账户,例如,礼品卡账户、现金卡账户或类似类型的用户账户。消费者可以指定消费者的用户现金账户作为支付方式,同样,商家可以将商家现金账户设置为注册的存款账户。因此,在至少一些实施例中,可以在支付引擎206内处理整个交易或基本上整个交易。

图2的支付管理器240可以执行关于协调从通信管理器230接收的信息的各种功能,以请求和接受支付请求并协调支付过程。例如,支付管理器240可以创建和存储支付凭证。更具体而言,用户可能已经具有关于网络应用程序的账户,因此,已经是注册用户,或者可能仍然需要设置账户。在一个实施例中,至少一些用户还可以是社交网络系统的成员,并且已经具有与当使用系统100进行消息传递时也使用的、与社交网络账户相关联的标识符(“id”)和用户配置文件。替代地,其他用户可能不是社交网络系统的成员,并且需要创建账户来成为系统100的注册成员。在该示例中,支付管理器240可以从这些用户(经由客户端应用程序202)接收日期,并创建账户,然后为这些用户创建唯一的id和用户支付配置文件,这将稍后在支付过程中引用。在一些情况下,支付管理器240还可以扩充先前的社交网络用户的用户配置文件,以包括可能已经不存在的支付配置文件特征。

在设置或扩充账户时,用户可以提交一个或多个支付凭证,例如,信用卡、借记卡、存款账户或其他银行账户、礼品卡账户、商店信用账户等。当添加支付方式时,可以要求用户提交卡和/或账号、到期日、安全码、转账或路由标识号、以及汇款所需的银行信息。用户还可以创建诸如个人识别号码(pin)等授权码,或者使用信用卡的安全码,例如,在仅提供单一支付方式时,或提供一些其他授权码。用户还可以选择默认的支付方式。

因此,用户配置文件数据库236存储的用户支付配置文件可以包括为每个注册用户(无论是否作为社交网络用户和/或作为消息传送用户)唯一地创建的用户(或组)id。用户配置文件数据库236可以提供用于网络应用程序204的用户的支付凭证的存储。例如,用户可以向网络应用程序204创建“账户”,其允许用户向网络应用程序204提供支付信息。网络应用程序204然后可以将该支付信息保存在用户配置文件数据库236中。在一个或多个实施例中,用户配置文件数据库236可以与用户关联地存储以下中的一个或多个:名字、中间名、姓氏、支付卡号(例如,信用卡、借记卡)、支付卡的有效期(年份和/或月份)、支付卡的卡安全码(例如,卡验证值(cvv或cvv2))、与支付卡相关联的账单地址(包括街道名称、房屋号码、城市、州或省、邮政编码、国家等)、与支付卡相关联的电话号码、一个或多个送货地址(包括与账单地址相似的字段)。当支付卡包括借记卡时,配置文件存储模块还可以存储借记卡的个人识别号码(pin)。在网络应用程序204包括社交网络系统的实施例中,存储在用户配置文件数据库236中的支付信息可以与节点存储器252的、表示该用户的节点相关联。

在一个或多个另外的实施例中,支付管理器240可以与风险计算器238通信,以确定与消费者、商家和/或特定支付交易相关联的风险。具体而言,风险计算器238可以基于与消费者/商家相关联的信息来判定消费者/商家是否是欺诈者,以防止欺诈性支付交易。例如,风险计算器238可以与网络应用程序相结合基于与消费者/商家相关联的活动或信息来确定欺诈活动的可能性。当处理按揭交易时,当商家决定是否向特定用户发出退款时,或者当确定商家是否是合法商家时,确定与支付交易中所涉及的用户相关联的风险是非常有用的。在各种实施例中,风险计算器238可以在支付交易或通信过程中的任何时间点执行一个或多个风险检查。

例如,在一个或多个实施例中,网络应用程序204可以确定与消费者/商家或商家相关联的风险是否满足预定阈值。具体而言,网络应用程序204可以基于“真实性”得分来判定消费者/商家是否是欺诈者(例如,冒充真人的诈骗账户或软件)。例如,如果与消费者/商家相关联的风险低于预定阈值(即,高风险水平),则网络应用程序204可以确定消费者/商家可能是欺诈者,并通知支付引擎206消费者/商家是欺诈者。如果消费者/商家具有高风险等级,则支付引擎206可以停止消费者和商家之间的支付交易。

举例而言,网络应用程序204可以基于以下各项来确定用户的真实性得分:用户是否被标记在已经由一个或多个共同用户发布到社交网络系统的媒体中,用户的共同用户是否认得用户之前的一个或多个生日(即,祝用户“生日快乐”)、经由网络应用程序204在用户和用户的共同用户之间交换的消息的数量或量,用户的共同用户是否已经表示对用户发表的帖子达成协议或一致(即“点赞”),和/或用户的共同用户是否对用户发表的帖子发表了评论。另外或替代地,网络应用程序204可以确定用户是否已经是社交网络系统的成员长达预定的时间量,是否生活在预先批准的起始位置中,是否具有关于目的地位置的预定级别的社交网活动,是否具有阈值真实性得分等。在另一示例中,网络应用程序204可以基于用户和共同用户之间的关系(包括用户和共同用户是否是在社交网络系统上的好友,是否在多个分离度之内等)来确定用户的风险。此外,网络应用程序204可以使用关于支付交易的信息(例如,基于支付金额(例如,支付金额包括不切实际的金额))来判定支付交易是否是欺诈的或错误的。

在另外的实施例中,在确定与消费者/商家相关联的风险之后,网络应用程序204可以与风险相关联地执行一个或多个活动。具体而言,网络应用程序204可以执行允许网络应用程序204验证用户身份的动作。例如,网络应用程序204可以从用户请求指示用户是用户声称是谁的信息。举例而言,网络应用程序204可以请求密码输入、用户注册的支付凭证的多个数字、个人安全问题、视觉标识(例如,照片)的上传或基于用户的风险等级或真实性得分的其他识别机制。

在额外或替代实施例中,响应于确定用户的风险级别,网络应用程序204可以对于支付消息或支付交易自动执行一个或多个动作。具体而言,网络应用程序204可以执行影响支付消息或消费者和商家之间的相应支付交易的动作,而不请求用户的额外信息。例如,网络应用程序204可以允许支付交易,保持支付交易待审查用于(例如,由用户的支付凭证的银行)预览,阻止支付交易,禁用用户账户,或处理该交易,而不使用中间账户(例如,直接从消费者账户到商家账户)。

在任何情况下,在从消费者接收到支付消息时,支付管理器240可以检测消费者的用户(或组)id并检索该用户(或实体)的支付配置文件。然后,支付管理器240可以生成包括与支付金额相关联的交易id、消费者和商家的交易包。交易id可以帮助系统100追踪来自消费者账户、在临时或中间账户的系统内以及到商家的账户的钱。在一些情况下,系统100可以向用户提供对交易id的访问,以在相应支付交易期间跟随货币流动。此外,交易id还可以帮助系统100促成商家向先前支付交易的用户退款。

交易包还可以包括默认支付方式和相关信息,除非消费者选择以替代支付方式向商家发送支付,在这种情况下,交易包可以包括用于替代支付方式的支付信息。支付管理器240然后可以将交易包发送到支付网络115,以发起支付授权过程。

在一个或多个实施例中,在发起支付交易并从支付网络115接收到指示支付网络115成功处理支付交易的响应之后,支付管理器240可以生成指示从用户那里接收到了支付金额的支付消息和/或向客户端装置200b发送支付消息。因此,支付管理器240可以与客户端装置200b的客户端应用程序202中显示的消息相结合向客户端装置200b通知支付交易成功。在一些实施例中,支付管理器240可以在从网络应用程序204到客户端装置200b的消息之前、之后或并行地向客户端装置200b发送支付消息。

支付管理器240可以执行各种其他额外步骤和方法,以便有效地管理支付过程。在一个或多个实施例中,例如,在接收到支付消息时,支付管理器240可以生成交易id,并将交易id与支付消息和/或支付消息内的支付信息相关联。例如,一旦生成交易id,支付管理器240可以将交易id和支付信息发送到交易数据库242。交易数据库242可以包括根据交易id存储交易信息的数据表或类似的数据矩阵。

图2的交易数据库242可以为每个尝试或完成的交易、交易id、日期、交易金额、使用的支付方式、与交易相关的在消费者和商家之间互换的相关消息、以及关于交易所收集的任何其他信息提供存储(例如,以图形对象的形式)。通过该信息,支付管理器240可以根据请求向用户提供一个或多个交易的概述,作为所请求的支付、被拒绝的支付以及完成了的支付的历史。

在一个或多个实施例中,在交易id与特定支付消息相关联之后,交易id可被包括或嵌入系统内涉及特定支付的基本上所有的通信内。因此,交易id允许支付管理器240以有组织的方式管理和处理大量的支付。例如,支付管理器240可以包括将交易id包括在发送到客户端装置200a、200b的任何信息中的指令。作为回报,消息传送处理机210也可以在从客户端装置200a、200b发送的任何信息中包括交易id,以允许支付管理器240有效地并且可靠地识别信息对应的特定交易,例如,当从商家发出退款到消费者时。

在一个或多个实施例中,交易id可以与一个或多个消费者标识符、商家标识符、线程标识符(例如,识别消费者和商家之间的消息传送线程)、支付金额、支付方式(例如,消费者账户)、存款方式(例如,商家账户)、交易历史、当前交易状态以及其他交易信息相关联。在一个或多个实施例中,交易数据库242以通过相对于交易任何更新或活动而更新的一个或多个图形对象的形式维护交易信息。

如所述,上面参考图1至2讨论的系统和部件可以允许消费者通过集成的消息传送和支付系统100轻松、有效和安全地将支付发送给商家。图3a至3d示出了由上述系统100实现的过程的一个或多个示例实施例的示例过程图。与图1和图2所示的系统100一致,图3a至3d示出了具有客户端应用程序202的客户端装置200a(与用户相关联)、具有客户端应用程序202的商家客户端装置200b(与商家相关联)、支持网络应用程序204和支付引擎206的服务器装置108、以及支付网络115。

在一个或多个实施例中,用于经由系统100用户向商家发送支付的过程可以从商家发送支付请求消息300开始。具体而言,支付请求消息300可以是指示针对由商家提供的产品或服务的支付金额的支付消息。例如,商家可以在消息传送线程内接收来自消费者的、指示消费者想要购买产品的消息。替代地,商家可以接收消费者从菜单或产品列表(例如,客户端应用程序202内的提供给消费者的菜单)对产品的选择。在另外的实施例中,网络应用程序204可以包括广告(即,并且进行购买的出价)。网络应用程序204可以基于存储在社交图谱250中的关于商家或消费者的信息来选择广告。例如,网络应用程序204可以确定用户喜欢咖啡,并且对于销售咖啡的商家是新的。在这种情况下,网络应用程序204可以向消费者发送包括从商家购买咖啡的出价的支付请求消息。

支付请求消息的容器(即,内容)可以包括消费者的标识符、商家的标识符、支付金额、产品/服务id、货币类型、消息传送线程标识符和时间戳。如下所述,支付请求消息的前述内容可以允许网络应用程序204和/或支付引擎206追踪和处理支付。例如,支付引擎206可以使用商家id来映射(即,识别)商家账户和支付凭证。同样,支付引擎206可以使用消费者/用户id来映射(即,识别)用户支付凭证。具体而言,当处理支付时,支付引擎206可以使用消费者/用户id来识别消费者的支付凭证,以收取该支付金额。然后,支付引擎206可以使用商家id来识别商家的账户,来给予资金或发送资金。

网络应用程序206可以使用消费者和商家id追踪商家和消费者之间的交互。例如,网络应用程序206可以追踪交互并将关于交易的数据添加到社交图谱250。具体而言,网络应用程序206可以使用用户和商家id来在社交图谱250中将消费者和商家相关联(即,将消费者添加到商家的好友列表中,反之亦然)。同样,网络应用程序206可以使用消费者和商家id在消费者(用户节点)和代表商家的节点之间形成边线。

消息线程标识符可以允许网络应用程序204将支付请求消息与特定消息线程相关联。具体而言,网络应用程序204可以使用消息传送线程标识符将支付请求消息写入消息数据库234。这可以允许商家或消费者稍后检索或查看消息线程。

支付请求消息300还可以包括与支付交易相关联的交易id。例如,交易id可以允许商家和/或服务器装置108将消费者、产品、价格和商家关联在一起,以允许追踪交易。例如,如下所述,交易id可以允许系统、商家或消费者追踪购买、支付和购买的完成。

另外或替代地,支付请求消息300可以包括与要购买的产品/服务相关联的产品id。产品id可以允许商家追踪库存,并在购买后完成订单。此外,在一个或多个实施例中,产品id可以链接或以其他方式提供产品或服务的价格。

在一个或多个实施例中,产品id可以包括图谱对象id。图谱对象id可以识别社交图谱250中的产品或服务的节点。网络应用程序204可以在商家节点和产品节点之间创建边线,以指示商家销售商品。沿着相关线,网络应用程序204可以在产品节点和消费者/用户节点之间创建边线,以指示消费者对该产品感兴趣或已经购买了该产品。

在一个或多个实施例中,支付请求消息300可以仅在设定时间量内有效。具体而言,商家可以确定支付请求消息在预定的时间量内有效,以控制价格和库存。因此,支付请求消息300可以包括到期时间或日期、有效时间窗口、或有效期的其他指示符。如果支付请求消息300到期,则网络应用程序204或支付引擎206可以否定或拒绝交易。

一旦接收到支付请求消息300,网络应用程序204或支付引擎206可以确定将诸如优惠券、折扣或与用户的消息传送账户相关联的忠诚奖励应用于指定产品的支付交易。例如,网络应用程序204可以使用消费者/用户id、商家id、产品id或支付请求消息300的其他部分,来确定是否应该给该交易应用折扣。如果网络应用程序204确定应用折扣,则在将支付请求消息300转发到消费者客户端装置200a之前,网络应用程序204可以向支付请求消息300添加折扣代码或标识符。同样,支付引擎206或网络应用程序204可以修改包括在支付请求消息中的支付金额。

在消费者客户端装置200a接收到支付请求消息300之后,消费者可以向客户端应用程序202提供用户输入,以发送302授权请求。具体而言,消费者可以将支付凭证与消费者的用户账户相关联,用于在系统100中执行与商家的支付交易。客户端应用程序202可以使消费者客户端装置200a向支付系统发送授权请求,如图3a所示。

可选地,支付引擎206可以向支付网络115发送304对于消费者的支付凭证(例如,消费者的借记卡或信用卡)的授权请求,用于支付金额或另一金额(例如,$0.01或$100.00),支付网络115可以批准或拒绝支付授权。支付网络115然后可以将支付凭证授权响应转发306到支付引擎206。将会理解,可选的授权请求可以在时间轴中更早或更晚地进行。在替代实施例中,对于支付金额,支付引擎206可以发送针对用户的支付凭证的授权请求,作为支付交易请求338的一部分。支付引擎206然后可以向消费者客户端装置200a发送授权响应308,以通知消费者客户端装置200支付凭证被授权用于支付金额。

在一个或多个实施例中,消费者客户端装置200a可以响应于支付请求消息300生成支付消息310。支付消息310可以包括与支付请求消息310相同的内容,并且提供向消费者的支付凭证收费的授权。具体而言,支付消息310可以包括消费者的标识符、商家的标识符、支付金额、产品/服务id、货币类型、消息线程标识符和时间戳。

此外,客户端应用程序202可以使消费者客户端装置200a向网络应用程序204发送312支付消息,如图3a所示。在一个或多个实施例中,网络应用程序204可以将支付消息中的至少一些信息传送到支付引擎206。另外或替代地,支付引擎206可以结合支付消息从消费者客户端装置200a获得信息。

在一个或多个实施例中,如上所述,网络应用程序204可以确定消费者314的风险。例如,网络应用程序204可以使用与消费者、商家和/或消费者和商家之间的关系相关联的信息来判定支付引擎206是否应当处理支付交易。具体而言,网络应用程序204可以确定与消费者相关联的风险并通知支付引擎206风险级别。网络应用程序204可以判定是否处理消费者和商家之间的支付交易。尽管图3a示出了在处理支付交易期间的特定点处的风险检查,但是可以在将货币转账到商家的账户之前的支付交易期间的任何时间发生风险检查,例如,当货币在中间或临时账户中,如下所述。

可选地,一旦接收到支付消息时或确定风险,支付引擎206可以生成316令牌。令牌可以允许支付引擎206响应于随后的支付请求来检索与消费者相关联的支付凭证。具体而言,网络应用程序204可以将称为“令牌”的随机串作为指针返回所存储的支付凭证。令牌优选地与支付凭证不具有算法关系,使得不能基于令牌本身(例如,通过仅将解密算法应用于令牌)而获得支付凭证。因此,该令牌不被认为是持卡人数据,因为该令牌是一个随机串,不能在不使用支付引擎206的情况下从该随机串外推任何敏感数据,该支付引擎包含支付凭证和与之对应的令牌的列表。由支付引擎206生成的支付令牌可以允许验证支付请求,如以下更详细地说明。支付引擎206可以向消费者客户端装置200a提供318令牌,用于在随后的支付交易中验证消费者和/或支付凭证。

替代地,客户端应用程序202可以获得、识别或以其他方式发现用于网络应用程序204和/或支付引擎206的消费者的用户标识符。例如,客户端应用程序202可以访问模糊化(例如,散列、加密、或以其他方式进行算法转换的)用户的、存在于消费者的计算装置200a上的用户标识符。该用户标识符可以识别网络应用程序204(例如,社交网络应用程序)和/或支付引擎206的用户的用户配置文件/账户。在本公开的一个或多个实施例中,用户标识符从由网络应用程序204和/或支付引擎206访问或保留的共享存储器的一部分访问,并且仅当用户当前“登录”到网络应用程序204时才可以存在。在一个或多个其他实施例中,用户标识符从用户的计算装置200a上的小程序(例如,超文本传输协议(http)小程序)或应用缓存(例如,超文本标记语言版本5(html5)应用高速缓存)访问。

客户端应用程序202可以用支付消息302发送模糊的用户标识符。在一个或多个实施例中,然后,网络应用程序204和支付引擎206中的一个或多个可以验证模糊的用户标识符是否有效。该过程可以用作针对消费者的认证,因为用户的计算装置200a上的网络应用程序204的适当的模糊化用户标识符的存在表明消费者已经在服务器装置108处被验证。对消费者进行验证允许消费者与网络应用程序204相结合地与其他用户进行通信,并且与支付引擎206相结合地进入支付交易。

在支付引擎206未确认消费者或支付证书有效的情况下,支付引擎206可以向消费者客户端装置200a发送通信,以使客户端应用程序202向消费者呈现指示支付无法被授权的错误消息。在一个或多个实施例中,错误消息可以包括提示消费者提供额外的授权信息、同意条款和条件、或以其他方式验证其身份。此后,消费者客户端装置200a可以将修改的支付请求发送到支付引擎206。然后,网络应用程序204可以尝试验证消费者/支付凭证。如果网络应用程序204不能确认消费者/支付凭证有效,则支付引擎206可以终止基于支付消息302的支付交易。

一旦提供令牌或验证消费者/支付凭证,支付引擎206可以生成320交易id,如图3a所示。如上所述,支付引擎206可以将唯一的交易id与接收的每个支付消息相关联。支付引擎206和网络应用程序204可以使用各种文件、对象、消息和其他信息内的交易id,来允许网络应用程序204有效地识别和处理关于经由网络应用程序204进行的每个支付的消息、状态更新和其他信息。例如,并且如上所述,支付引擎206可以将交易id与维护对应于处理支付消息的信息的图谱对象相关联。

响应于发送支付消息310或响应于来自网络应用程序204或支付引擎206的信号,客户端应用程序202可以发布322支付消息内容。例如,用户界面管理器208可将支付消息的文本作为发送消息添加到消费者和商家之间的消息传送线程。

同样,网络应用程序204可以向商家客户端装置200b发送326支付消息内容,使得商家客户端装置200b的客户端应用程序202可以发布328支付消息内容。例如,用户界面管理器208可将支付消息的文本作为接收到的消息添加到消费者和商家之间的消息传送线程。

在将支付消息内容326发送到商家客户端装置200b之前、之后或之时,支付引擎206可以使用由支付消息提供的信息来验证323该特定商家的商家id,并且确定324商家是否具有存档的支付凭证(例如,收据账户)。例如,支付引擎206可以使用商家标识符(例如,用户名、特许经营号码或其他id)在用户配置文件数据库236中查找商家的用户配置文件,以识别特定商家,并且判定用户配置文件是否具有与之相关联的支付凭证。如果商家具有支付凭证,则支付引擎206可以验证商家和/或支付凭证。替代地,如果商家没有支付凭证,则支付系统可以请求商家提供支付凭证。可选地,在验证支付凭证时,支付引擎206可以向商家客户端装置200b提供与用于消费者的令牌相似的令牌330。

此时或者在取决于商家是否已经有存档的支付凭证之前,支付引擎206可以执行验证步骤,来验证商家和/或支付凭证。例如,如上文关于验证消费者所述,客户端应用程序202可以获得、识别或以其他方式发现用于网络应用程序204的商家的用户标识符。响应于接收到支付消息内容,商家客户端装置200b上的客户端应用程序202可以将模糊的用户标识符发送到网络应用程序204。然后,网络应用程序204可以验证模糊的用户标识符是否有效。该过程可以用作商家的认证,因为商家计算装置200b上的网络应用程序204的适当的模糊用户标识符的存在表明商家已经被网络应用程序204认证。

在网络应用程序204未确定消费者或支付凭证有效的情况下,网络应用程序204可以向商家客户端装置200b发送通信,以使客户端应用程序202向商家呈现指示无法授权支付的错误消息。在一个或多个实施例中,错误消息可以包括针对商家提供额外的授权信息、同意条款和条件、或以其他方式验证其身份的提示。

支付引擎206可以选择用于将资金转账到商家的支付凭证的支付或路由方法332。在一个或多个实施例中,支付引擎206可以基于商家可用的支付凭证来确定要使用哪种支付方式。例如,支付引擎206可以选择商家支持的支付凭证。此外或者替代地,支付引擎206可以基于来自消费者的支付消息的格式化来选择支付方式。在其他实施例中,支付引擎206可以基于与消费者和/或商家相关联的风险、支付引擎206的成本、消费者/商家的成本、支付方式的可靠性和/或货币在商家账户中显示的速度,来确定使用哪种支付方式。

在一些实施例中,支付引擎206可以允许消费者选择支付方式的类型。具体而言,支付引擎206可以呈现消费者可用的支付方式的列表,以允许消费者选择借记卡、信用卡、礼品卡等。一旦检测到用户对支付方式的选择,支付引擎206可以针对所选择的支付方式收费并相应地处理支付账户。

在一个或多个实施例中,系统可以单独处理来自消费者账户的资金请求以及将该支付存入商家账户中。在一个或多个实施例中,例如,消费者的账户可以在第一支付网络上可访问,而商家的账户在第二支付网络上可用。在这种情况下,为了处理支付,支付引擎206可充当用于处理支付的中介。

支付引擎206可以向支付网络115发送支付收费请求334,其请求向消费者的支付凭证收取336支付金额并被发送到支付引擎206。在一个或多个实施例中,支付引擎206可以并行地发送支付收费请求和支付消息到商家客户端装置。例如,支付引擎206可以将支付收费请求发送到支付网络,同时还向商家客户端装置200b发送支付消息。

在一个或多个额外的实施例中,支付引擎206可以根据所选择的支付方式的类型来格式化支付收费请求。例如,支付引擎206可以基于来自消费者客户端装置200a的支付消息的格式来确定支付方式是信用交易。支付引擎206然后可以格式化支付收费请求334,以使支付网络(例如,通过应用额外的格式化或通过将来自格式化的支付消息的信息发送到支付网络)从消费者的支付凭证转账资金。举例而言,格式化的支付收费请求可以包括指示与支付收费请求相关联的支付方式的类型的元数据。

响应于支付收费请求,支付网络115可以通过从消费者账户向支付引擎206电子转账来从消费者账户中筹集支付338。在接收到电子转账时,支付引擎206可以应用340支付到与先前验证的商家id相关联的临时商家账户。例如,支付引擎206可以将支付应用于支付引擎206用于将资金转账到商家的支付凭证的中间账户。在一个或多个实施例中,支付引擎206可以创建被给与该支付的新账户。替代地,支付引擎206可以将支付应用于主临时账户,其包括由与每个支付相关联的唯一交易id组织和识别的各种其他支付。

支付引擎206然后可以将支付存入商家的支付凭证中。具体而言,支付引擎206可以在批量转账过程的结算包中连同用于其他支付交易的多个支付存入该支付。例如,在一个或多个实施例中,支付引擎206可以累积相同类型或者在一定时间段内的多个支付,以包括在处理单个结算交易中的多个支付的结算包。如图3c所示,支付引擎206可以首先向临时商家账户扣除341与批量转账处理中的支付交易的交易id相对应的所有支付相等的金额。然后,支付引擎206可以经由支付网络115或另一支付网络将资金电子转账到商家的支付凭证。具体而言,支付引擎206可以通过将资金推送344到商家的支付凭证的指令,将信用请求342从临时商家账户发送到支付网络115,该信用请求342包括用于与相应交易id相关联的支付交易的汇总支付金额。

在一个或多个额外或替代实施例中,在从消费者的支付凭证接收资金之前,支付引擎206可以将钱转账到商家的支付凭证。具体而言,支付引擎206可以使用中间账户中的储备金,来加速从消费者到商家的转账资金。在替代实施例中,支付引擎206可以使消费者的支付账户直接将钱直接转账到商家的支付账户,而不是将钱转账到服务器装置108处的临时账户。

另外,系统100可以定期性地进行检查,以验证该时间段内的结算。具体而言,系统100可将存储在消息传送数据库中的支付消息与每个支付网络的处理的支付交易进行比较,以验证与该期间处理的所有支付交易相关联的总支付金额与所有支付消息中的金额相匹配。如果总计不匹配,则系统100可以基于差异的类型将差异归类为收入、损失或其他类别。

一旦将结算包中的支付金额成功地存入商家的账户时,支付网络115可以向支付引擎206发送支付信用响应346。为了完成支付过程,在支付引擎206接收到支付信用响应之前或之后,网络应用程序204可以向消费者客户端装置200a发送支付完成状态更新348,并向商家客户端装置200b发送所请求支付的状态更新。

在接收到支付完成状态之后,消费者客户端装置200a可以可选地向商家客户端装置200b提供标识350。具体而言,该标识可以允许商家识别与消费者从商家挑选的特定产品的订单相关联的消费者。例如,消费者客户端装置200a可以在消息传送线程内的消息中发送消费者的照片标识,商家可以使用该消息来验证消费者的身份。替代地,用户可以在消费者客户端装置200a上向商家呈现qr码或其他标识符,以允许商家验证消费者与特定订单相关联。

图3d示出了商家向消费者发出退款的替代实施例。具体而言,在利用支付网络115结算之前,商家可以向消费者发出退款。例如,在向临时商家账户340给与支付之后,商家客户端装置200b可以向消费者客户端装置200a发送退款消息352。消费者客户端装置200a可以在商家和消费者之间的消息传送线程中向消费者呈现退款消息。

在退款消息之前、之后或之时,商家客户端装置可以向支付引擎206发送退款请求354。在一个或多个实施例中,退款请求354可以包括消息传送线程标识符,其允许支付引擎206获取消费者和商家之间的支付交易的交易id356。如果支付引擎206尚未用商家的支付凭证结算临时商家账户,则支付引擎可以针对与所识别的交易id的支付交易对应的支付金额扣除358该临时商家账户。

然后,支付引擎206可以通过向支付网络115发送信用请求360来将资金归还给消费者的支付凭证。支付网络115可以将资金362推送到消费者的支付凭证。响应于此,支付网络115可以将支付信用响应364发回到支付引擎206,以通知支付引擎206该充费成功。支付引擎206还可以可选地通知消费者和商家退款成功。

如将在下面更详细地描述的那样,如关于图1至2所述的系统100的部件可以单独和/或与其他部件组合提供一个或多个图形用户界面。具体而言,部件可以允许用户与用于各种目的的大量显示元件进行交互。具体而言,图4a至4k和下面的描述示出了允许用户向商家发送支付的用户界面和特征的各种示例实施例。

例如,图4a至4k示出了由客户端应用程序202提供的gui的各种视图,以促成(例如,与社交网络系统相关联地)电子消息传送和发送和接收支付。图4a示出消费者客户端装置400a。如图4a所示,消费者客户端装置400a是手持装置,例如,移动电话装置(例如,智能电话)。如本文所使用的,术语“手持装置”是指尺寸适合于并且配置为在用户单手保持/操作的装置。然而,在额外或替代示例中,任何其他合适的计算装置,例如但不限于平板装置、手持装置、更大的无线装置、膝上型计算机或台式计算机,个人数字助理装置和/或任何其他合适的计算装置,可以执行本文描述的一个或多个过程和/或操作。

消费者客户端装置400a可以包括下面关于下面参考图7描述的消费者客户端装置200a和计算装置700描述的任何特征和部件。如图4a所示,客户端装置400a包括触摸屏402,该触摸屏可以显示或提供用户界面,并且可以通过该触摸屏接收和/或检测用户输入。如本文所使用的,“触摸屏显示器”是指触摸屏装置的显示器。在一个或多个实施例中,触摸屏装置可以是具有至少一个表面的客户端装置(例如,笔记本电脑、平板电脑、个人数字助理、媒体播放器、移动电话),用户可以在该表面上执行触摸手势。另外或替代地,客户端装置400a可以包括任何其他合适的输入装置,例如,触摸板或下面参考图7描述的那些。

如前所述,系统100可以集成电子消息传送系统和电子支付系统。图4a示出了用户界面管理器208在触摸屏402上提供的商家用户界面404。商家用户界面404可以提供在消费者客户端装置400a的位置附近的商家408的列表406。具体而言,商家用户界面可以显示在用户的消费者客户端装置400a的当前位置的预定距离内的商家408。商家408的列表406还可以示出每个商家408相对于用户的当前位置的距离410。

在一个或多个实施例中,商家用户界面404可以提供在预定距离内的每个已知商家列表406。例如,商家用户界面404可以收集特定区域中的每个商家的信息,并将该信息提供给客户端装置400a。举例而言,商家用户界面404可以提供在用户的预定距离内的每个商家的名称和位置(例如,地址)。替代地,商家用户界面404可以仅提供在社交网络系统注册的商家信息。在一些示例中,用户可以选择查看商家列表406中的所有商家或仅查看在社交网络系统中注册的商家。

在一些实施例中,商家列表406还可以指示各个商家是否与社交网络系统相关联以及是否能够经由集成的消息和支付系统100与用户通信。例如,网络应用程序204可以判定商家是否已经向服务器装置108注册了用户账户。具体而言,网络应用程序204可以判定商家是否在一个或多个客户端装置(例如,如下面参照图4h至4k更详细地描述的客户端装置400b)上使用客户端应用程序202。

在一个或多个实施例中,商家可以在每个客户端装置上运行商家特定版本的客户端应用程序202,以经由客户端应用程序202通过消息传送和/或接受支付来与消费者交互。如以下更详细描述的,商家特定版本的客户端应用程序202还可以具有在消费者版本的客户端应用程序202中不可用的额外功能。替代地,系统100可以基于与商家账号相关联的商家状态向商家提供具有额外功能的客户端应用程序202。

根据一个或多个实施例,商家列表406可以是包括根据预定顺序的商家列表。例如,商家列表406可以包括基于距消费者客户端装置400a的当前位置的距离的商家。举例而言,最靠近消费者客户端装置400a的位置的商家可以处于商家列表406的第一位置(例如,基于列表的结构在列表的顶部或在另一最突出的位置),并且距离消费者客户端装置400a的位置最远的商家可以处于商家列表406的最后位置(例如,在列表的底部)。替代地,商家用户界面404可以在商家列表406内以任何顺序(例如,字母顺序、商家类型)显示商家。另外或替代地,用户可以选择客户端应用程序202显示附近商家的顺序。

在另外的实施例中,商家用户界面406可以包括用户追随的、与其是好友的或者通过商家搜索返回的商家。例如,用户可以追随不同的商家或将其视为好友。社交网络系统的这种用户账户然后可以存储这种商家,作为用户的联系人。

此外,商家用户界面404的一个或多个实施例可以显示与商家相关联的独特视觉指示符。具体而言,商家列表406可以包括用于商家的图标412或徽标,以允许用户容易地并快速地识别商家。例如,客户端应用程序202可以从映射服务、商家的在线服务、或基于与系统100的相应用户账户相关联的商家的输入来获得商家的徽标。

从商家用户界面404中的商家列表406,用户可以查看关于商家的更多信息。具体而言,用户可以选择商家列表406中的特定商家,以访问关于该特定商家的额外信息。例如,用户可以选择商家来查看营业时间,查看联系人信息、地址、地图上的位置、商家的简要说明、产品图片、评论或评论链接、菜单或菜单链接、商家评级或有关商家的其他信息。在一个或多个实现方式中,商家可以通过客户端应用程序202来控制可用于查看的信息的类型、数量或内容。

如上所述,用户可以查看与商家相关联的联系人信息。在一个或多个实施例中,用户可以查看与系统100相结合的关于商家的联系人信息。具体而言,用户可以“点赞”商家的页面或账户,或者选择将商家添加到用户的联系人列表,与集成的消息和支付系统100相结合。例如,联系人列表可以提供列表上的人或实体,该列表上的人或实体在系统100内与用户连接或相关联,并且用户能够通过客户端应用程序202与该列表上的人或实体通信。

根据一个或多个实施例,用户可以通过选择将商家添加到用户的联系人列表的选项将商家添加到用户的联系人列表。另外或替代地,响应于用户选择进行与商家通信(例如,呼叫商家或向商家发送消息),客户端应用程序202可以自动将商家添加到用户的联系人列表中。在一个或多个额外或替代实施例中,如果用户先前已经通过客户端应用程序202进入与商家的支付交易或者响应于用户在客户端应用程序202内的活动历史的其他方面,则客户端应用程序202可以自动将商家添加到用户的联系人列表中。

在一个或多个实施例中,用户可以查看商家是否允许用户从联系人列表或从商家页面在客户端应用程序202内与商家进行通信。具体而言,用户可以判定商家是否具有允许商家经由客户端应用程序202与用户通信的、关于系统100的用户账户。例如,用户可以识别列表中的向社交网络系统注册的商家。举例而言,商家列表406可以包括指示特定商家是否具有关于社交网络系统的用户账户,是否商家具有在一个或多个客户端装置上安装和操作的客户端应用程序202,和/或是否商家能够通过客户端应用程序202接收支付的标识符。另外或替代地,商家列表406可以包括商家是否是活跃(例如,登录到客户端应用程序202,连接到因特网,最近使用客户端应用程序202执行动作)或者是否以其他方式对于通过客户端应用程序202的消息传送可用的指示。

如果特定商家对于通过客户端应用程序202的消息传送是可用的,则用户可以选择发起与商家的消息传送对话的选项。具体而言,用户可以选择从商家列表406内或从客户端应用程序202内的商家页面发起消息传送对话的选项。另外或替代地,商家可以从客户端应用程序202内发起与用户的消息传送对话。

根据一个或多个实施例,系统100可以基于用户偏好或隐私设置,允许商家查看关于用户的信息(例如,用户是否在移动装置上或者在客户端应用程序202中活跃)和/或将用户添加到联系人列表(例如,当前或未来的消费者列表)。例如,响应于确定用户已经选择了明确允许商家将用户添加到商家的联系人列表中的偏好,系统100可以允许商家将用户添加到商家的联系人列表中。举例而言,用户可以选择允许商家将用户添加到联系人列表和/或与用户通信而不要求商家请求用户的额外许可(例如,在与用户进行支付交易期间,请求允许与用户联系)的偏好。

另外或替代地,用户偏好可以允许商家基于用户的位置与用户交互。具体而言,如果用户靠近商家的位置,则用户偏好可以允许商家与用户交互。例如,当用户进入商店的位置附近的预定距离时,系统100可以通知商家的客户端装置400b(在图4h至4j中示出)用户靠近商家,允许商家知道用户的位置并与用户交互。

例如,系统100可以基于客户端装置200a以连续或间歇的方式与基于位置的服务相结合地向系统100提供的位置信息来识别用户的客户端装置200a的位置。系统100可以比较客户端装置200a的位置和商家的地理围栏(即,系统100为商家建立的虚拟周界)。当客户端装置200a进入地理围栏时,系统100可以确定客户端装置200a靠近商家的位置并通知商家。

在接收到用户靠近商家的通知之后,商家可以通过将用户添加到商家的联系人列表或与用户联系,来与用户交互。例如,商家可以自动地将用户添加到联系人列表和/或通过消息传送应用程序202向用户发送消息。举例而言,当商家识别出用户接近商家的位置并且用户偏好允许商家与用户交互时,商家可以将用户添加到商家的联系人列表中。此外或者替代地,当商家接收到用户接近商家的位置的通知时,无论用户是新客户还是回头客,商家可以经由客户端应用程序202发起与用户的消息传送线程。例如,商家可以向用户发送消息来欢迎用户和/或向用户发送产品列表、关于促销或特价的信息、或用户可能感兴趣的其他信息。

如上所述,系统100可以促成接收和发送数据。在一个或多个实施例中,通信管理器230促成在计算装置400a、400b之间接收和发送电子通信。此外,在一个或多个实施例中,用户界面管理器208显示经由通信管理器230发送和接收的电子通信。在一个或多个实施例中,用户界面管理器208可以在消息图形用户界面内的消息传送线程中显示经由通信管理器230发送和接收的电子通信。发起与商家的消息传送通信,允许用户和商家在消息传送线程内交换消息。例如,发起消息传送对话,可以在客户端装置400a处打开消息传送图形用户界面,如图4b所示。消息传送图形用户界面可以呈现用户和商家之间的消息传送线程。例如,在图4b的实施例中,消息传送图形用户界面包括在消费者用户(“brad”)和商家(“咖啡店”)之间的消息传送线程中的对话。

鉴于客户端应用程序202的灵活性,用户可以与商家(例如,商家的雇员)就各种主题进行通信。具体而言,用户可以从商家请求允许用户确定要购买的产品以及如何购买产品的信息。另外或替代地,用户可以就商家提供的一个或多个产品;过往、现在或将来的支付交易;促销或折扣;营业时间;或商家可以向用户提供的任何其他信息,来与商家通信。在另外的实施例中,商家可以向网络应用程序204提供对常见问题(例如,是否营业、营业时间、所在地址)的响应。消息分析器可以识别常见问题并且以预定义的响应来自动回应(例如,我们的营业时间是上午9点到晚上9点)。

因为客户端应用程序202允许用户与和商家相关联的人交谈,所以用户可以用自然语言与商家通信。用自然语言与商家通信,可以让用户更容易、更清楚地获取相关信息,而不必打电话给商家或亲自取得相关信息。在某些情况下,客户端应用程序202可以允许商家使用能够通过解析和理解自然语言来与用户交谈的软件,以自动地响应用户在消息传送线程内的所提出的问题或请求。

如所示,消息传送图形用户界面414可以包括消息传送线程416,其包括从客户端装置400a的用户的账户发送的电子消息418a。同样,消息传送线程416可以包括由商家的账户接收的电子消息418b。在一个或多个实施例中,用户界面管理器208组织消息传送线程416,使得新消息被添加到消息传送线程416的底部,使得旧消息被显示在消息传送线程416的顶部。在替代实施例中,用户界面管理器208可以以可以向用户指示消息418a、418b之间的时间顺序或其他关系的任何方式来组织消息418a、418b。

用户界面管理器208提供各种电子通信特性,以帮助用户区分消息传送线程416中的电子通信。例如,如图4b所示,用户界面管理器208在指向消息传送图形用户界面414的一侧(即,右侧)显示从客户端装置400a的用户的账户发送的电子消息418a。另一方面,用户界面管理器208在指向消息传送图形用户界面414的相对侧(即,左侧)显示由消息传送处理机212接收的电子消息418b。在一个或多个实施例中,电子消息418a、418b的定位和定向为客户端装置400a的用户提供消息传送图形用户界面414内显示的各种电子通信的来源的清晰的指示符。

用户界面管理器208提供的、帮助用户区分电子通信的另一特征可以是电子通信的颜色。例如,如图4b所示,用户界面管理器208以第一颜色显示所发送的电子消息418a并且以第二颜色显示所接收的电子消息418b。在一个或多个实施例中,第一和第二颜色可以分别为黑色和白色,具有反转字体颜色。在替代实施例中,用户界面管理器208可以白色背景和不同彩色轮廓显示电子消息418a、418b。

在另一替代实施例中,用户界面管理器208可以不同图案的背景、不同字体、不同大小或以可以将所发送的电子消息418a与接收到的电子消息418b区分的任何其他方式,显示电子消息418a、418b。例如,在一个或多个实施例中,用户界面管理器208以蓝色背景上白色字体来显示所发送的电子消息418a。同样,在一个或多个实施例中,用户界面管理器208以灰色背景上黑色字体显示所接收的电子消息418b。

用户界面管理器208还可以提供消息输入控制面板或工具栏422。如图4b所示,用户界面管理器208将消息输入控制面板或工具栏422显示为消息传送图形用户界面414的一部分。在一个或多个实施例中,消息输入控制面板或工具栏422包括各种可选择的消息输入控件,这些控件为用户提供各种消息输入选项或其他选项。例如,在图4b中,消息输入控制面板或工具栏422包括文本输入控件424a、支付控件424b、相机取景器输入控件424c、多媒体输入控件424d、符号输入控件424e以及点赞指示符控件424f。在一个或多个替代实施例中,消息输入控制面板或工具栏422可以按照一个不同的顺序提供输入控件424a至424e,可以提供图4b中未显示的其他输入控件,或者可以省略图4b所示的一个或多个输入控件424a至424e。

如下面将更详细地描述的,用户可以与任何输入控件424a至424e交互,以便撰写和发送不同类型的电子通信。例如,如果用户与文本输入控件424a交互,则用户界面管理器208可以在消息传送图形用户界面414的一部分中提供触摸屏显示键盘418,用户可以利用该键盘来撰写文本消息420。同样,如果用户与多媒体输入控件424d交互,则用户界面管理器208可以在消息传送图形用户界面414的一部分内提供多媒体内容项目显示区域(例如,用于显示数字照片、数字视频等)。同样,如果用户与相机取景器输入控件424c交互,则用户界面管理器208可以在消息图形用户界面414的一部分内提供数字相机接口,用户可以利用该接口来捕获、发送和添加数字照片或数字视频到消息传送线程416。

用户可以与任何消息输入控件424a至424e交互,以便经由系统100撰写和发送消息或者支付给商家。例如,如图4c所示,用户在消息传送线程中向商家发送消息,该消息表示“我想要一个2%的大杯拿铁,不加糖”。响应于该消息或其他用户输入(例如,从菜单或目录中选择产品),商家可以向消费者发送支付请求消息300。例如,图4c示出了支付请求消息,该消息表示“一杯2%的大杯拿铁需要$3.75”。如所示,支付请求消息没有揭露(即,显示)上面关于图3a所述的支付请求容器的所有内容。如所示,图4c所示的支付请求消息可以显示支付金额(即$3.75)和正在购买的商品的识别(即,一杯2%的大杯拿铁)。

在一个或多个实施例中,用户界面管理器206可以将“$3.75”转换成支付发起可选元件426。在另一示例中,用户界面管理器206可以将整个消息转换成支付发起可选元件426。在额外示例中,用户界面管理器206可以提供通知(例如,弹出窗口或其他屏幕元件),来向消费者询问消费者是否希望基于支付请求消息来发起与商家的支付交易。

用户界面管理器206还可以修改/改变消息或其一部分的一个或多个属性或特征,以指示创建支付发起可选元件426。例如,用户界面管理器206可以将“$3.75”突出显示,如图4c所示。替代地,用户界面管理器206可以下划线、改变字体样式、大小、颜色等,或以其他方式视觉区分支付发起可选元件426。

在用户输入检测器210检测到支付控件424b或支付发起可选元件426上的轻触触摸手势时,用户界面管理器208可以在消息传送用户界面414内显示支付用户界面428,如图4d所示。具体而言,支付界面428可以包括数字键盘432,该键盘可以允许用户通过按顺序输入所需的数字来选择支付金额430(即,通过按顺序点击数字键盘432内的“3”、“.”,“7”以及“5”来达到$3.75)。支付界面可以显示所选择的数字,以允许用户验证所选择的数字对应于期望的支付金额以及相应地修改所选数字。根据本文的公开将会理解,图4d的支付界面428是支付界面的一种实现方式。在一个或多个实施例中,用户可以从多个不同的支付界面中选择支付界面428。替代地,用户界面管理器208可以用支付请求消息的支付金额自动填充支付界面428。

在替代实施例中,用户界面管理器208可以在消息传送用户界面414的第一部分(即,上部)提供消息传送线程416。用户界面管理器208可以在消息传送用户界面414的第二部分(即,下部)提供支付用户界面428。因此,用户界面管理器208可以允许用户查看消息传送线程416和任何新的消息,同时也能够发起支付交易。在替代实施例中,用户界面管理器102可以水平地或者在垂直排列以外的另一设置中排列消息传送线程416和支付用户界面428。在另外的实施例中,支付用户界面428可以包括消息传送用户界面414或单独的用户界面上的覆盖图。

在一个或多个实施例中,当用户选择支付元件434时,消费者客户端装置400a可以生成支付消息。如上面关于图3a所述,支付消息可以包括与支付请求消息相同的内容。在发送支付消息之前,客户端应用程序202可以向网络应用程序204发送请求,以确定消费者是否具有商家接受的注册支付凭证。在消费者不与商家接受的注册支付账户相关联的情况下,用户界面管理器208可以呈现允许消费者注册支付凭证的凭证用户界面436,如图4e所示。替代地或此外,图形界面可以呈现一次性支付选项,其允许用户输入支付信息,以促成一次性支付(例如,输入借记卡或信用卡号),而不需要消费者创建账户。

将会理解,凭证用户界面436可以根据用户选择输入哪种类型的支付凭证而变化。在一个或多个实施例中,用户界面管理器208可以提供用于向商家发送资金的、可接受支付凭证(例如,信用卡、借记卡、礼品卡、银行账户)的列表。当用户选择一种类型的支付凭证时,用户界面管理器208可以提供适用的证书用户界面436。例如,图4e示出了用于输入借记卡的凭证用户界面436。如所示,用户可以经由数字键盘432输入与借记卡相关联的借记卡号码、到期日期、安全代码和账单邮政编码。在选择输入支付信息时,消息传送处理机212可以向网络应用程序206发送支付凭证信息,以存储支付凭证。

在用户输入支付凭证详细信息之后,系统100可以继续处理支付交易。在一个或多个实施例中,客户端应用程序202可以向用户提供使用pin或其他快捷方式来处理今后支付交易的选项。例如,客户端应用程序202可以向用户呈现弹出窗口438或消息传送界面414中的其他通知,向用户询问用户是否想要创建用于汇款的pin,以增加安全性,如图4f所示。

如果消费者选择输入用于处理今后支付交易的pin,则客户端应用程序202可以呈现用于创建pin的pin创建界面440,如图4g所示。具体而言,pin创建界面可以允许消费者创建与消费者存储的凭证相关联的唯一pin。例如,pin可以是在能够处理今后支付交易之前消费者可以通过数字键盘432输入的4位数字(或任何长度的串)。在一些情况下,系统100还可以请求消费者通过再次输入pin来确认pin,以便创建pin并将pin与存储的证书相关联。

对于今后的支付交易,系统100可以呈现pin输入界面,消费者可通过该pin输入界面输入pin。输入pin,可以允许系统100使用与pin相关联地为用户存储的凭证来处理支付交易。因此,输入pin将允许在每次消费者希望通过系统100向另一用户汇款时,消费者发起和完成支付交易,无需记住凭证。

在一个或多个实施例中,在验证用户的支付凭证之时或之后,消费者客户端装置400a可以向商家客户端装置发送支付消息。系统100可以在用于参与对话的用户和商家的消息传送线程416内呈现支付金额430。例如,系统可以将用于支付消息的支付金额430插入用于客户端装置400a的图形用户界面的消息传送线程416中。

图4h至4j示出了商家客户端装置400b的消息传送界面414a的实施例。例如,图4h示出了在用户发起支付交易以向商家发送支付金额之后,在商家客户端装置400b处的消息传送界面414a。图4h所示的商家客户端装置400b可以包括具有触摸屏402a的任何装置,例如,安装到售货亭的显示装置或商店位置处的其他装置。商家客户端装置400b处的消息传送界面414a可以允许商家在消息传送线程416a内与用户交换消息。

根据另外的实施例,商家版本的客户端应用程序202还可以允许商家查看与商家相关联的额外信息。例如,商家版本的客户端应用程序202可以包括允许商家执行操作或访问消费者不可用的信息的控件442a至442c。举例而言,商家版本的客户端应用程序202可以包括订单控件442a、消费者控件442b和菜单控件442c。

例如,订单控件442a可以允许商家查看待定和/或最近的订单。消费者控件442b可以允许商家查看经由客户端应用程序202(例如,在商家的联系人列表中)与商家交互的先前顾客的列表。菜单控件442c可以允许商家查看例如商家的菜单(或其他商品列表),以允许商家在客户端应用程序202中与客户交换消息的同时向客户提供菜单或产品信息。在额外或替代实施例中,商家版本的客户端应用程序202可以包括比图4h至4j所示的更多、更少或不同的商家专用的控件。

如所述,例如通过显示在与消费者身份相关联的消费者界面414a的消息传送线程416a中的支付金额以及在具有支付金额430a的消息中的文本内容(例如,“从信使发送的”),系统100可以向商家通知消费者已经发起了支付交易。举例而言,用户界面管理器208可将支付金额430a插入具有在消费者和商家之间交换的其他消息的消息传送线程416a的时间相关流内。另外或替代地,用户界面管理器208可以以另一种方式(例如,通过在商家的客户端装置400b的通知区域中或在消息传送界面414a的覆盖图中提供通知)来呈现支付金额430a。用户界面管理器208还可以在用户的客户端装置400a处的消息传送界面414的消息传送线程416内呈现支付金额。

在一个或多个实施例中,用户界面管理器208可以向商家提供确认请求,以允许商家接受针对指示金额的支付交易(即,通过选择消息传送界面中的元件,例如,接受元件452)。在商家接受支付交易之后,系统100可以完成支付交易并开始从用户向商家转账的过程。在替代示例中,当系统100自动处理并完成支付交易时,支付消息可以仅仅引起商家注意支付交易。

根据一个或多个实施例,商家可以修改来自用户的支付金额430a。具体而言,如果商家确定用户在支付交易中支付了错误的金额(例如,太高或太低),或者如果商家出于任何其他原因(例如,由于顾客忠诚度、优惠券或折扣方案)想要调整价格,则商家可以调整支付金额430a。例如,商家可以选择消息中的支付金额430a,以在商家客户端装置400b处打开支付界面。在打开支付界面之后,商家可以选择新的支付金额并向用户发送经修改的支付消息,该用户然后可以批准或拒绝该新的支付金额。用户和商家还可以交换有关新的支付金额的其他消息。

在一个或多个实施例中,当商家选择接受支付时或者在商家收到支付消息之后,客户端应用程序202可以向网络应用程序204发送请求,以识别用于商家的注册的支付凭证。在识别商家的支付凭证之后,系统100可以完成支付交易。具体地说,系统100可以通过将资金从用户转账到商家来完成支付交易。在某些情况下,将资金从用户转账到商家可以包括将资金转账到与商家相关联的临时或中间账户内,直到相应的金融机构批准该交易。在替代示例中,完成支付交易可以包括将资金直接转账到与商家相关联的目的地账户中。

在完成支付交易之后(或在商家选择完成支付交易之后),系统100可以向用户和/或商家显示支付完成消息。在一个或多个实施例中,在关闭支付完成消息或以其他方式完成支付交易之后,系统100可以更新客户端装置400a上的消息传送线程416和/或商家客户端装置400b的消息传送线程416a中的支付金额430(以及对应消息的任何其他文本),以反映系统100已经完成处理支付交易。例如,用户界面管理器208可以改变消息传送线程416a中的消息(在这种情况下仅包括支付金额430)的某些特征。举例而言,用户界面管理器208可以将该消息动画,改变消息的位置、消息的边界宽度、消息的背景颜色、消息的大小和字体、或适合于此目的的消息的任何其他特征。

如图4h所示,系统100可以允许商家在消息传送线程内向用户传递额外信息。例如,商家可以发送包含与完成的支付交易相关联的信息的消息。举例而言,商家可以发送订单消息444,该消息包括所购买的产品(例如,拿铁)的订单编号,以允许用户在订单准备就绪时能够获得购买的产品。另外或替代地,订单消息444可以基于与支付交易相关联的商家、产品或其他细节来传送额外的或替代的信息。例如,订单消息444可以包括商家完成订单的估计等待时间(例如,如图4h所示的“给我们3至5分钟”)、与运送信息相关联的追踪号码、购买日期、退货授权号码、发票号码、收据信息(例如,通常包含在纸张收据中的信息)、消费者代表或可能对用户了解关于支付交易有用的其他信息。

在发送订单消息之后,商家可以发送订单完成消息446,如图4i所示。具体而言,商家可以在订单完成消息446中通知用户该用户的订单已经准备好了相应的订单号码。例如,订单完成消息446可以通过名称来识别用户,并且包括文本,指示该订单准备好供用户从商家处获得。

在一个或多个实施例中,用户可以向商家提供验证信息,以允许商家在用户获得订单时识别用户。例如,用户可以经由客户端应用程序202向商家提供用户的照片识别448(例如,用户的图像或合法形式的照片标识),商家可以查看该识别,以验证用户身份。举例而言,用户可以将照片标识448作为消息传送线程的消息中的附件提供给商家。例如,在订购产品并完成支付交易之后,用户可以发送消息,用户照片附到该消息,并且当用户尝试获得订单时,商家可以比较用户与用户的照片。替代地,当用户向商家发送消息时,消息传送线程可以将用户的照片显示为用户姓名旁边的图标,并且商家可以选择该图标来查看较大版本的用户照片。

在一些实施例中,系统100可以使用图像识别技术来验证用户的照片识别448,以防止欺诈性识别。具体而言,系统100可以比较用户的照片与(例如,在消息数据库中)存储的与用户相关联的信息,以验证照片标识448是用户的照片。举例而言,系统100可以使用图像识别技术来比较用户的其他照片与提供给商家的照片标识448,以验证用户的视觉身份。验证了用户的身份后,商家可以向用户发送订单,以完成交易。

在替代实施例中,商家向用户发送的订单完成消息446可以包括用户可以向商家呈现以获得订单的信息。具体而言,订单完成消息446可以包括用户可以向商家呈现的代码,使得商家可以验证用户是否订购了产品。例如,订单完成消息446可以包括用户可以在获取柜台扫描的qr码,以从商家检索订购的产品(例如,拿铁)。

在完成支付交易之后,系统100可以允许用户在客户端应用程序202内从商家获得退款。具体而言,系统100可以允许用户在消息传送线程内请求商家退款。例如,如图4j所示,用户可以与商家交换一个或多个消息,以在消息传送线程内请求来自商家的退款。举例而言,用户可以在客户端装置400a处的消息传送用户界面中与支付交易和/或支付消息相关联地向商家发送退款请求消息450(例如,指示用户的订单的错误或产品的缺陷)。

如前所述,商家客户端装置400b可以包括包含商家特有的功能的客户端应用程序202的版本。具体而言,在从用户接收到退款请求消息450之后,商家可以选择向用户发出退款。例如,消息传送用户界面414a可以包括允许商家发出与用户的支付交易相关联的退款的退款元件452。举例而言,商家可以选择退款元件452,来发起支付交易的退款过程,以将支付金额转账给用户。

在替代实施例中,用户界面管理器208可以在用户的客户端装置400a处的消息传送线程416内提供与支付交易相关联的退款请求元件(未示出)。选择退款请求元件,可能导致客户端装置400a向商家发送退款请求消息450。当商家客户端装置400b接收到退款请求消息450时,用户界面管理器208可以在消息传送用户界面414a的消息传送线程416a中提供退款请求消息450。例如,用户界面管理器208可以将退款请求消息450格式化,以将消息可选元件包括在消息传送线程416a内。

此外,退款请求消息450可以包括与相应的支付交易相关联的额外信息。具体而言,退款请求消息450可以包括允许商家了解退款请求并识别交易的信息。例如,退款请求消息450可以包括描述退款请求(例如,“brad请求针对订单#35退款”)和/或退款的原因(例如,“我订购了不加糖的拿铁,但我的饮品有糖。”)的文本。基于退款请求消息450和额外信息,商家可以确定是否向用户退款。

在一个或多个实施例中,商家可以基于与用户相关联的信息确定是否退款和/或退多少钱。具体而言,商家可以与系统100相结合地使用关于用户的信息,来确定是否给予用户退款。例如,商家可以结合系统100访问基于用户的共同用户反馈或用户的商家反馈的用户评级。举例而言,用户评级可以基于与用户相关联的风险信息(如前所述)来确定用户是否经常请求商家退款。替代地,商家可以使用来自第三方系统的评级来确定是否向特定用户发出退款和/或退多少钱。同样,商家可以使用用户评级或与用户相关联的其他信息来确定对与购买产品的初始支付交易相关联的定价或交易的任何修改。

当商家发起退款过程,以将支付金额退还给用户时,商家可以向用户发送退款消息,指示商家发起退款过程。具体而言,发起退款过程可以使商家客户端装置400a向客户端装置400a发送退款消息454,以在消息传送线程内显示,如图4k所示。在一个或多个实施例中,退款消息454向用户通知商家发出退款,并且支付金额将在一定时间内在用户账户中对于用户可用。在替代实施例中,退款消息454可以通知用户商家想要向用户发出退款,并且还请求用户接受或同意退款。

此外或者替代地,退款消息454可以包括可能对用户有帮助的其他信息。例如,退款消息454可以包括允许用户识别针对用户的记录的产品和特定支付交易或用于验证是否正确发出退款的信息。举例而言,退款消息454可以包括支付金额、订单号、退款原因和/或允许用户识别支付交易的其他信息。

在一个或多个实施例中,用户界面管理器208还可以向用户提供确认请求,以允许用户接受来自商家的针对支付交易的退款(即,通过在消息传送界面中选择元件,例如接受元件456)。在一些示例中,退款消息454可以包括接受元件456,或者用户界面管理器208可以在覆盖图或通知区域中显示接受元件456。在用户接受退款之后,系统100可以开始从商家向用户针对支付金额的资金转账过程。在替代示例中,在系统100自动处理并完成退款的同时,退款消息454可以仅使用户注意到退款。

如前所述,系统100可以维护用户和商家之间的每个支付交易的交易id。另外,系统100可以将交易id与消费者、商家和/或消息传送线程相关联。通过将交易id与消费者、商家和/或消息传送线程相关联,系统100可以允许商家容易地退还与先前交易相关联的支付。具体而言,当付款的消费者发送退款请求时,退款请求可以包括嵌入在退款请求中的交易id,以允许系统100容易地从客户端应用程序202内识别向用户退款所需的所有相关信息。举例而言,当商家选择退款元件452时,除了消费者、商家、相应的账户和支付金额之外,系统100还可以识别对应的交易id。因此,当商家选择退款元件452时,系统100可以自动处理对用户的退款,而不要求商家利用其他装置或经由其他应用程序采用额外步骤。

在一个或多个实施例中,当商家选择退款元件452或以其他方式发起支付交易的退款过程(例如,在向用户发送退款消息之后并且在用户接受退款之后),系统100可以检测到发起退款过程并与支付网络115通信。具体而言,系统100可以基于交易id向商家网络115发送请求,以从商家的账户转账等于支付交易的支付金额的资金。在一些示例中,支付网络115可以在将转账资金到用户的账户之前将转账资金到与用户相关联的临时账户。在替代示例中,支付网络115可以将资金从商家的账户转账到用户的账户,而不使用临时账户。

图1至4k、相应的文本和示例提供了许多不同的系统和装置,用于使用集成的电子支付和消息传送系统发送和接收支付。除了上述之外,可以根据包括用于实现特定结果的方法中的行为和步骤的流程图来描述实施例。例如,图5和图6示出了根据一个或多个实施例的示例性方法的流程图。

图5示出了促成个人对企业支付的方法500的流程图。方法500包括接收从商家到用户的支付请求消息的步骤502。例如,步骤502涉及在用户的客户端装置200a、400a处接收从商家到用户的支付请求消息,该支付请求消息包括支付金额和交易标识符。例如,支付请求消息可以包括与商家的产品有关的、在商家和用户之间的支付交易的支付金额。

方法500还包括在消息传送线程416内提供支付请求消息的步骤504。例如,步骤504涉及在用户和商家之间的消息传送线程416内提供支付请求消息,消息传送线程416在消息传送应用程序的消息传送用户界面414内。举例而言,步骤504可以涉及在用户的客户端装置200a、400a的显示装置上的消息传送线程内提供支付金额。

作为步骤504的一部分,或作为额外步骤,方法500还可以包括将支付请求消息的支付金额转换成消息传送线程内的可选元件426。此外,支付请求消息可以与用户和商家之间的消息传送线程相关联地包括用户标识符、商家标识符和消息传送线程标识符。

另外,方法500包括接收用户的选择的步骤506。例如,步骤506包括接收用户的选择,以向商家支付该支付金额。举例而言,步骤506可以涉及接收在消息传送线程416内对于可选择元件426的选择。替代地,步骤506可以涉及识别由用户输入的支付金额,并且接收在消息传送界面414内对于支付元件434的选择。

方法500还包括发送支付消息和识别支付金额的消息的步骤508。例如,步骤508涉及向与消息传送应用程序相关联的一个或多个服务器发送包括支付金额和交易标识符的支付消息以及标识支付金额的消息。步骤508还可以涉及将支付消息发送到与消息传送应用程序相关联的一个或多个服务器,同时向商家的客户端装置200b、400b并行发送第二消息,第二消息指示支付交易。

作为步骤508的一部分,或作为额外步骤,方法500可以包括检测用户的客户端装置200a、400a的位置。方法500可以包括将检测到的位置发送到与消息传送应用程序相关联的一个或多个服务器。另外,方法500可以包括接收客户端装置200a、400a靠近商家的位置的指示。方法500还可以包括识别商家的商家标识符,并且在消息传送线程内提供将商家添加作为消息联系人的请求。例如,方法500可以包括确定用户的客户端装置200a、400a的位置已经进入商家的地理围栏。

作为步骤508的一部分,或作为额外步骤,方法500可以包括识别用户偏好,以允许商家在用户的客户端装置200a、400a接近商家的位置时联系用户。方法500还可以涉及向商家发送包括用户的用户标识符和用户的联系信息的通知。方法500还可以包括识别用户偏好允许商家使用消息传送应用程序联系用户,而不要求商家获得用户的明确许可。例如,方法500可以包括接收来自商家的基于用户偏好的广告。

方法500还包括将消息添加到消息传送线程的步骤510。例如,步骤510涉及将识别支付金额的消息添加到用户和商家之间的消息传送线程416。步骤510还可以涉及在包括用户和商家的会话的时间相关流中将消息添加到用户和商家之间的消息传送线程416。另外,步骤510可以涉及格式化支付消息的内容,以指示针对支付金额的在用户和商家之间的支付交易。

作为步骤510的一部分,或作为额外步骤,方法500还可以包括接收用户对于请求支付交易的退款的选择。方法500可以涉及将包括交易标识符的消息退款请求消息450发送到与传送应用程序相关联的一个或多个服务器。方法500还可以包括向用户和商家之间的消息传送线程416添加退款请求消息450。

图6示出了促成个人对企业支付的另一方法600的流程图。方法600包括从用户接收第一消息的步骤602。例如,步骤602涉及在商家的客户端装置200b、400b处接收来自用户的指示用户期望购买的商品的第一消息。步骤602还可以涉及基于所指示的产品到产品列表中的该产品的标识符的映射来获得产品标识符。例如,步骤602可以涉及使用产品标识符来识别与所指示的产品相关联的定价和生意。

方法600还包括在消息传送线程416a内提供第一消息的步骤604。例如,步骤604涉及由至少一个处理器在用户和商家之间的消息传送线程416a内提供第一消息。消息传送线程416a位于消息传送应用程序的消息用户界面414a内。另外,步骤604可以涉及在用户和商家之间的消息传送线程416a的会话的时间相关流中提供第一消息。

方法600还包括生成支付请求消息的步骤606。例如,步骤606涉及生成具有对于产品的支付金额的支付请求消息。步骤606可以涉及基于消息传送应用程序的消息传送界面414a内的来自商家的输入生成支付请求消息。例如,步骤606可以涉及从商家接收产品标识符的输入并基于产品标识来确定产品的支付金额。

另外,方法600包括向一个或多个服务器发送支付请求消息的步骤608。例如,步骤608涉及向与消息传送应用程序相关联的一个或多个服务器发送支付请求消息用于传送给用户。例如,步骤608可以涉及将支付请求消息发送到管理用户和商家之间的消息传送交换的服务器。

方法600还包括从一个或多个服务器接收支付消息的步骤610。例如,步骤610涉及从与消息传送应用程序相关联的一个或多个服务器接收指示从用户接收到支付的支付消息。此外,步骤610可以涉及从一个或多个服务器接收支付金额从用户的支付凭证成功扣除并记入商家的支付凭证的通知。

作为步骤610的一部分,或作为额外步骤,方法600可以包括响应于来自一个或多个服务器的支付消息而生成交易标识符。交易标识符可以与支付消息和消息传送线程516a相关联。方法600还可以包括从用户接收与交易标识符相关联地将支付金额退还给用户的请求。该方法还可以涉及处理将支付金额退还给用户的支付凭证的请求。然后,该方法可以涉及向用户发送退款消息,指示对支付金额的成功退款。

方法600还包括在消息传送线程516a内提供第二消息的步骤612。例如,步骤612涉及在用户和商家之间的消息传送线程516a内提供指示接收支付金额的第二消息。另外,步骤612可以涉及响应于所接收的支付消息在消息传送线程516a的对话的时间相关流内提供第二消息。

作为步骤612的一部分,或作为额外步骤,方法600可以包括在用户和商家之间的消息传送线程516a内接收用户的图像并且提供用户的图像。图像可以允许商家验证用户的身份。例如,用户的图像可以包括用户的合法形式照片识别的图像。

另外,作为步骤612的一部分,或作为额外步骤,方法600可以包括接收用户的客户端装置200a、400a接近商家的位置的指示。响应于接收到的指示,方法600可以包括在商家的客户端装置200b、400b的显示装置上的用户和商家之间呈现消息传送线程416a。例如,方法600可以包括确定在商家的客户端装置200b、400b的显示装置上没有关注消息传送线程516a,并且响应于所接收的指示,在商家的客户端装置200b、400b的显示装置上关注消息传送线程516a。另外或替代地,响应于接收的指示,方法600可以包括将用户添加到商家的联系人列表中。方法600还可以涉及在用户和商家之间的消息传送线程516a内提供用户被添加到商家的联系人列表的通知。另外或替代地,方法600可以包括响应于所接收的指示在消息传送线程516a内向用户发送产品列表。

本公开的实施例可以包括或利用包括计算机硬件的专用或通用计算机,例如,一个或多个处理器和系统存储器,如下面更详细地讨论的。在本公开范围内的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。具体而言,本文描述的一个或多个过程可以至少部分地作为在非暂时性计算机可读介质中实施的并且可由一个或多个计算装置(例如,本文描述的任何介质内容访问装置)执行的指令来实现。通常,处理器(例如,微处理器)从非暂时计算机可读介质(例如,存储器等)接收指令,并执行这些指令,从而执行一个或多个过程,包括一个或多个的本文所述的过程。

计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂时性计算机可读存储介质(装置)。携带计算机可执行指令的计算机可读介质是传输介质。因此,通过示例而非限制的方式,本公开的实施例可以包括至少两种明显不同类型的计算机可读介质:非暂时性计算机可读存储介质(装置)和传输介质。

非暂时性计算机可读存储介质(装置)包括ram、rom、eeprom、cd-rom、固态驱动器(“ssd”)(例如,基于ram)、闪速存储器、相变存储器(“pcm”)、其他类型的存储器、其他光盘存储器、磁盘存储器或其他磁存储装置、或可以用于以计算机可执行指令或数据结构的形式存储所需程序代码装置并且可以由通用或专用计算机访问的任何其他介质。

“网络”被定义为使得能够在计算机系统和/或模块和/或其他电子装置之间传送电子数据的一个或多个数据链路。当信息通过网络或其他通信连接(硬连线、无线或硬连线或无线的组合)传输或提供给计算机时,计算机将连接正确地视为传输介质。传输介质可以包括网络和/或数据链路,其可以用于以计算机可执行指令或数据结构的形式传送期望的程序代码装置并且可以由通用或专用计算机访问。上述的组合也应包括在计算机可读介质的范围内。

此外,在到达各种计算机系统部件时,可以将具有计算机可执行指令或数据结构的形式的程序代码装置自动地从传输介质传送到非暂时性计算机可读存储介质(装置)(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以在网络接口模块(例如,“nic”)内的ram中缓存,然后最终传送到计算机系统ram和/或计算机系统处的更少挥发性计算机存储介质(装置)。因此,应当理解,在也(甚至主要地)使用传输介质的计算机系统部件中可以包括非暂时性计算机可读存储介质(装置)。

计算机可执行指令包括例如当在处理器处执行时使通用计算机、专用计算机或专用处理装置执行某一功能或一组功能的指令和数据。在一些实施例中,在通用计算机上执行计算机可执行指令,以将通用计算机转换成实现本公开的元件的专用计算机。计算机可执行指令可以是例如二进制文件、中间格式指令,例如,汇编语言或者甚至是源代码。虽然主题已经用结构特征和/或方法步骤特有的语言描述,但是应当理解,所附权利要求中限定的主题不一定限于上面描述的特征或步骤。相反,所描述的特征和步骤被公开为实现权利要求的示例形式。

本领域技术人员将理解,本公开可以通过多种类型的计算机系统配置在网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息传送处理机、手持装置、多处理器系统、基于微处理器的或可编程的消费电子产品、网络pc、小型计算机、大型计算机、移动电话、pda、平板电脑、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实践,其中,通过网络链接(通过硬连线数据链路、无线数据链路、或通过硬连线和无线数据链路的组合)的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可能位于本地和远程存储装置中。

本公开的实施例还可以在云计算环境中实现。在本说明书中,“云计算”被定义为用于启用对可配置计算资源的共享池的按需网络访问的模型。例如,云计算可以用于在市场中,为可配置计算资源的共享池提供泛在的和方便的按需访问。可配置计算资源的共享池可以通过虚拟化快速提供,并以低管理工作量或服务提供商互动的方式发布,然后进行相应的缩放。

云计算模型可以由各种特征组成,例如,按需自助服务、广泛的网络访问、资源池、快速弹性、测量服务等。云计算模型还可以公开各种服务模型,例如,软件即服务(saas)、平台即服务(paas)以及基础架构即服务(“iaas”)。还可以使用不同的部署模式(例如,私有云、社区云、公共云、混合云等)部署云计算模型。在本说明书和权利要求书中,“云计算环境”是采用云计算的环境。

图7示出了可被配置为执行上述一个或多个过程的示例性计算装置700的方框图。将会理解,诸如计算装置700等一个或多个计算装置可以实现支付系统100。如图7所示,计算装置700可以包括处理器702、内存704、存储装置706,i/o接口708、以及可以通过通信基础设施712通信地耦接的通信接口710。尽管在图7中示出了示例性计算装置700,但是图7中所示的部件并不是限制性的。在其他实施例中可以使用额外的或替代的部件。此外,在某些实施例中,计算装置700可以包括比图7所示的更少的部件。现在将更详细地描述图7所示的计算装置700的部件。

在一个或多个实施例中,处理器702包括用于执行指令的硬件,例如,构成计算机程序的指令。作为示例,而非限制性地,为了执行指令,处理器702可以从内部寄存器、内部高速缓存、内存704或存储装置706检索(或获取)指令,并解码和执行这些指令。在一个或多个实施例中,处理器702可以包括用于数据、指令或地址的一个或多个内部高速缓存。作为示例,而非限制性地,处理器702可以包括一个或多个指令高速缓存、一个或多个数据高速缓存以及一个或多个转译后备缓存器(tlb)。指令高速缓存中的指令可以是内存704或储存器706中的指令的副本。

内存704可以用于存储由处理器执行的数据、元数据和程序。内存704可以包括易失性和非易失性内存中的一个或多个,例如,随机存取内存(“ram”)、只读内存(“rom”)、固态盘(“ssd”)、闪存、相变内存(“pcm”)或其他类型的数据存储。内存704可以是内部或分布式内存。

存储装置706包括用于存储数据或指令的内存。作为示例,而非限制性地,存储装置706可以包括上述非暂时性存储介质。存储装置706可以包括硬盘驱动器(hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器、或其中的两个或更多个的组合。在适当的情况下,存储装置706可以包括可移除或不可移动(或固定的)介质。存储装置706可以在计算装置700内部或外部。在一个或多个实施例中,存储装置706是非易失性固态内存。在其他实施例中,存储装置706包括只读内存(rom)。在适当的情况下,该rom可以是掩模编程rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改变rom(earom)、或闪存、或其中的两个或更多个的组合。

i/o接口708允许用户向计算装置700提供输入,接收计算装置700的输出,并且向其传输数据和从接收数据。i/o接口708可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描器、网络接口、调制解调器、其他已知的i/o装置、或这种i/o接口的组合。i/o接口708可以包括用于向用户呈现输出的一个或多个装置,包括但不限于图形引擎、显示器(例如,显示屏幕)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器、以及一个或多个音频驱动器。在某些实施例中,i/o接口708被配置为向显示器提供图形数据,以呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可用于特定实现方式的任何其他图形内容。

通信接口710可以包括硬件、软件或这两者。无论如何,通信接口710可以在计算装置700和一个或多个其他计算装置或网络之间提供用于通信(例如,基于分组的通信)的一个或多个接口。作为示例,而非限制性地,通信接口710可以包括用于与以太网或其他有线网络通信的网络接口控制器(nic)或网络适配器、或者用于与无线网络(例如,wi-fi)通信的无线nic(wnic)或无线适配器。

另外或替代地,通信接口710可以促成与自组织网络、个人区域网络(pan)、局域网(lan)、广域网(wan)、城域网(man)、或互联网的一个或多个部分、或其中的两个或更多个的组合通信。这些网络中的一个或多个的一个或多个部分可以是有线或无线的。作为示例,通信接口710可以促成与无线pan(wpan)(例如,bluetoothwpan)、wi-fi网络、wi-max网络、蜂窝电话网络(例如,全球移动通信系统(gsm)网络)、或其他合适的无线网络、或其组合通信。

另外,通信接口710可以促成各种通信协议的通信。可以使用的通信协议的示例包括但不限于数据传输介质、通信装置、传输控制协议(“tcp”)、因特网协议(“ip”)、文件传输协议(“ftp”)、远程登录、超文本传输协议(“http”)、安全超文本传输协议(“https”)、会话发起协议(sip)、简单对象访问协议(“soap”)、可扩展标记语言(“xml”)及其变化、简单邮件传输协议(“smtp”)、实时传输协议(“rtp”)、用户数据报协议(“udp”)、全球移动通信系统(“gsm”)技术、码分多址(“cdma”)技术、时分多址(“tdma”)技术、短消息服务(sms)、多媒体消息服务(mms)、射频(“rf”)信令技术、长期演进(“lte”)技术、无线通信技术、带内和带外信令技术、以及其他合适的通信网络和技术。

通信基础设施712可以包括将计算装置700的部件彼此耦接的硬件、软件或这两者。作为示例,而非限制性地,通信基础设施712可以包括加速图形端口(agp)或其他图形总线、增强型工业标准结构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准结构(isa)总线、无线带宽互连、低引脚数(lpc)总线、内存总线、微通道架构(mca)总线、外围部件互连(pci)总线、pci-express(pcie)总线、串行高级技术附件(sata)总线、本地视频电子标准协会(vlb)总线、或其他合适的总线或其组合。

如上所述,系统100可以包括社交网络系统。社交网络系统可以使其用户(例如,个人或组织)能够与系统并且彼此进行交互。如上所述,系统100可以包括社交网络系统。社交网络系统可以使其用户(例如,个人或组织)能够与系统并且彼此进行交互。社交网络系统可以利用用户的输入在社交网络系统中创建和存储与用户相关联的用户配置文件。用户配置文件可以包括人口统计信息、通信信道信息和关于用户的个人兴趣的信息。社交网络系统还可以通过来自用户的输入来创建和存储用户与社交网络系统的其他用户的关系的记录,以及提供服务(例如,涂鸦墙、照片共享、在线日历和事件组织、消息、游戏或广告),以促成用户之间或之中的社会互动。此外,社交网络系统可以允许用户将照片和其他多媒体内容项目发布到社交网络系统的其他用户根据用户配置的隐私设置可访问的用户的配置文件页面(通常称为“涂鸦墙”或“时间轴帖子”)或相册中。

图8示出了社交网络系统的一个示例网络环境800。网络环境800包括通过网络804彼此连接的客户端系统806、社交网络系统802以及第三方系统808。虽然图8示出了客户端系统806、社交网络系统802、第三方系统808以及网络804的特定设置,但是本公开预计客户端系统806、社交网络系统802、第三方系统808以及网络804具有任何合适的设置。作为一个示例,并非通过限制的方式,客户端系统806、社交网络系统802以及第三方系统808中的两个或更多个可以彼此直接连接,绕过网络804。作为另一示例,客户端系统806、社交网络系统802以及第三方系统808中的两个或更多个可以在物理上或逻辑上彼此完全或部分共置。而且,虽然图8示出了特定数量的客户端系统806、社交网络系统802、第三方系统808以及网络804,但是本公开预计客户端系统806、社交网络系统802、第三方系统808以及网络804具有任何合适的数量。作为一个示例,并非通过限制的方式,网络环境800可以包括多个客户端系统806、社交网络系统802、第三方系统808以及网络804。

本公开预计任何合适的网络804。作为一个示例,并非通过限制的方式,网络804的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、一部分互联网、一部分公共交换电话网(pstn)、蜂窝电话网络、或其中的两个或更多个的组合。网络804可以包括一个或多个网络804。

链路可以使客户端系统806、社交网络系统802以及第三方系统808与通信网络804或者彼此连接。本公开预计任何合适的链路。在特定的实施例中,一个或多个链路包括一个或多个有线(例如,数字用户线程(dsl)或电缆数据服务接口规范(docsis))、无线(例如,wi-fi或全球微波接入互操作性(wimax))、或光学(例如,同步光纤网络(sonet)或同步数字系列(sdh))链路。在特定的实施例中,一个或多个链路均包括自组织网络、内联网、外联网、vpn、lan、wlan、wan、wwan、man、一部分互联网、一部分pstn、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路或两个或更多个这种链路的组合。在整个网络环境800中,链路不必相同。一个或多个第一链路可以在一个或多个方面与一个或多个第二链路不同。

在特定的实施例中,客户端系统806可以是电子装置,其包括硬件、软件或嵌入式逻辑元件或两个或更多个这种元件的组合,并且能够执行由客户端系统806实现或支持的合适功能。作为一个示例,并非通过限制的方式,客户端系统806可以包括上面在图7中讨论的任何计算装置。客户端系统806可以使在客户端系统806上的网络用户访问网络804。客户端系统806可以使其用户与在其他客户端系统806上的其他用户通信。

在特定的实施例中,客户端系统806可以包括网页浏览器932,例如,microsoftinternetexplorer、googlechrome或mozillafirefox,并且可以具有一个或多个额外部件、插件或其他扩展,例如,toolbar或yahootoolbar。在客户端系统806上的用户可以输入统一资源定位符(url)或其他地址,将网页浏览器引向特定用户(例如,服务器或与第三方系统808相关联的服务器),并且网页浏览器可以生成超文本传输协议(http)请求,并且将http请求传送给服务器。服务器可以接受http请求并且将响应于http请求的一个或多个超文本标记语言(html)文件传送给客户端系统806。客户端系统806可以基于来自服务器的html文件渲染网页,用于呈现给用户。本公开预计任何合适的网页文件。作为一个示例,并非通过限制的方式,网页可以根据特定的需要从html文件、可扩展超文本标记语言(xhtml)文件或可扩展标记语言(xml)文件中渲染。这种页面还可以执行脚本,例如,例如并且没有限制地,通过javascript、java、microsoftsilverlight、标记语言和脚本(例如,ajax(异步javascript和xml)的组合等编写的脚本。在本文中,在适当的情况下,网页的引用包括一个或多个相应的网页文件(浏览器可以用于渲染网页的文件),反之亦然。

在特定的实施例中,社交网络系统802可以是可以托管在线社交网的网络可寻址计算系统。社交网络系统802可以生成、储存、接收并且发送社交网数据,例如,用户配置文件数据、概念配置文件数据、社交图谱信息、或与在线社交网相关的其他合适数据。社交网络系统802可以由网络环境800的其他元件直接或者通过网络804访问。在特定的实施例中,社交网络系统802可以包括一个或多个服务器。每个服务器可以是单一式服务器或跨过多个计算机或多个数据中心的分布式服务器。服务器可以是各种类型,例如,例如并且没有限制地,网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用程序服务器、交换服务器、数据库服务器、代理服务器、适合于执行在本文中描述的功能或工艺的另一服务器、或其任何组合。在特定的实施例中,每个服务器可以包括硬件、软件或嵌入式逻辑元件或两个或更多个这种元件的组合,用于执行由服务器实现或支持的合适功能。在特定的实施例中,社交网络系统802可以包括一个或多个数据存储器。数据存储器可以用于储存各种类型的信息。在特定的实施例中,可以根据特定的数据结构,组织储存在数据存储器内的信息。在特定的实施例中,每个数据存储器可以是关系、列式、相关性或其他合适的数据库。虽然本公开描述或示出了特定类型的数据库,但本公开预期任何合适类型的数据库。特定的实施例可以提供接口,所述接口使客户端系统806、社交网络系统802或者第三方系统808能够管理、检索、增加或删除储存在数据存储器内的信息。

在特定的实施例中,社交网络系统802可以在一个或多个数据存储器内储存一个或多个社交图谱。在特定的实施例中,社交图谱可以包括多个节点-其可以包括多个用户节点(每个节点与特定的用户对应)或多个概念节点(每个节点与特定的概念对应)-以及连接所述节点的多个边线。社交网络系统802可以给在线社交网的用户提供与其他用户通信和互动的能力。在特定的实施例中,用户可以通过社交网络系统802加入在线社交网,然后,添加与用户希望联系的社交网络系统802的多个其他用户的联系(例如,关系)。在本文中,属于“好友”可以表示用户通过社交网络系统802与其形成联系、关联性或关系的社交网络系统802的任何其他用户。

在特定的实施例中,社交网络系统802可以给用户提供对由社交网络系统802支持的各种类型的物品或对象采取行动的能力。作为一个示例,并非通过限制的方式,物品和对象可以包括社交网络系统802的用户所属的群组或社交网、用户可能感兴趣的活动或日历项、用户可以使用的基于计算机的应用程序、允许用户通过服务购买或销售的物品的交易、与用户可以执行的广告的互动、或其他合适的物品或对象。用户可以与能够在社交网络系统802内或者由第三方系统808的外部系统表示的任何物体互动,该外部系统与社交网络系统802分开并且通过网络804耦接至社交网络系统802。

在特定的实施例中,社交网络系统802能够链接各种实体。作为一个示例,并非通过限制的方式,社交网络系统802可以使用户能够彼此互动并且接收来自第三方系统808或其他实体的内容,或者允许用户通过应用程序编程接口(api)或其他通信渠道与这些实体互动。

在特定的实施例中,第三方系统808可以包括一种或多种类型的服务器、一个或多个数据存储器、一个或多个接口(包括但不限于api)、一个或多个网络服务、一个或多个内容源、一个或多个网络、或(例如)可以与服务器通信的任何其他合适的元件。第三方系统808可以由与操作社交网络系统802的实体不同的实体操作。然而,在特定的实施例中,社交网络系统802和第三方系统808可以彼此相结合地操作,以给社交网络系统802或第三方系统808的用户提供社交网络服务。在这个意义上,社交网络系统802可以提供平台或支柱,其他系统(例如,第三方系统808)可以使用该平台或支柱来通过互联网给用户提供社交网络服务和功能。

在特定的实施例中,第三方系统808可以包括第三方内容对象提供商。第三方内容对象提供商可以包括可以传送给客户端系统806的内容对象的一个或多个来源。作为一个示例,并非通过限制的方式,内容对象可以包括关于用户感兴趣的东西或活动的信息,例如,电影放映时间、电影评论、餐厅评论、餐厅菜单、产品信息和评论、或其他合适的信息。作为一个示例,并非通过限制的方式,内容对象可以包括激励内容对象,例如,优惠券、折扣票、礼品券或其他合适的激励对象。

在特定的实施例中,社交网络系统802还包括用户生成的内容对象,所述内容对象可以增强用户与社交网络系统802的互动。用户生成的内容可以包括用户可以增加、上传、发送或“张贴”到社交网络系统802中的任何物体。作为一个示例,并非通过限制的方式,用户将帖子从客户端系统806中传送给社交网络系统802。帖子可以包括状态更新或其他文本数据等数据、位置信息、照片、视频、链接、音乐或其他相似的数据或介质。还可以由第三方系统808通过“通信渠道”(例如,新鲜事或流)增加到社交网络系统802中。

在特定的实施例中,社交网络系统802可以包括各种服务器、子系统、程序、模块、日志以及数据存储器。在特定的实施例中,社交网络系统802可以包括以下中的一个或多个:网络服务器、活动记录器、api请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、活动记录、第三方内容对象曝光记录、推理模块、授权/隐私服务器、搜索模块、广告目标模块、用户界面模块、用户配置文件储存、连接储存、第三方内容储存或位置储存。社交网络系统802还可以包括合适的元件,例如,网络接口、安全机构、负载平衡器、故障转账服务器、管理和网络操作控制台、其他合适的元件、或其任何合适的组合。在特定的实施例中,社交网络系统802可以包括一个或多个用户配置文件储存,用于储存用户配置文件。用户配置文件可以包括(例如)传记信息、人口统计信息、行为信息、社会信息、或其他类型的描述性信息,例如,工作经验、学历、爱好或偏好、兴趣、亲近性或位置。兴趣信息可以包括与一个或多个类别相关联的兴趣。类别可以是一般或特定类别。作为一个示例,并非通过限制的方式,如果用户“点赞”关于某个品牌的鞋的物品,那么类别可以是该品牌或者一般类别的“鞋子”或“衣服”。连接储存可以用于储存关于用户的连接信息。连接信息可以表示具有相似或共同工作经历、群组关系、爱好、学历的或者通过任何方式相关的或者分享共同属性的用户。连接信息还可以包括在不同用户与内容(内部和外部)之间的用户定义的连接。网络服务器可以用于通过网络804连接社交网络系统802和一个或多个客户端系统806或者一个或多个第三方系统808。网络服务器可以包括邮件服务器或其他消息传递功能,用于在社交网络系统802与一个或多个客户端系统806之间接收和理由消息。api请求服务器可以允许第三方系统808通过调用一个或多个api来访问来自社交网络系统802的信息。活动记录器可以用于从网络服务器中接收关于用户在社交网络系统802上或者远离社交网络系统802的活动的通信。与活动记录相结合,第三方内容对象记录可以保持用户曝光到第三方内容对象中。通知控制器可以给客户端系统806提供关于内容对象的信息。可以将信息作为通知推向客户端系统806,或者可以响应于从客户端系统806中接收的请求,从客户端系统806中拉动信息。授权服务器可以用于实施社交网络系统802的用户的一个或多个隐私设置。用户的隐私设置确定可以分享与用户相关联的特定信息的方式。授权服务器可以允许用户决定加入或退出由社交网络系统802记录的或者与其他系统(例如,第三方系统808)分享的活动,例如,通过设置合适的隐私设置。第三方内容对象储存可以用于储存从第三方接收的内容对象,例如,第三方系统808。位置储存可以用于储存从与用户相关联的客户端系统806中接收的位置信息。广告定价模块可以合并社会信息、当前时间、位置信息或其他合适的信息,以通过通知的形式向用户提供相关广告。

图9示出了示例社交图谱900。在特定的实施例中,社交网络系统802可以在一个或多个数据存储器中储存一个或多个社交图谱900。在特定的实施例中,社交图谱900可以包括多个节点-其可以包括多个用户节点902或多个概念节点904-以及连接所述节点的多个边线906。为了教育的目的,在二维视觉图表示中显示了在图9中示出的示例社交图谱900。在特定的实施例中,针对合适的应用程序,社交网络系统802、客户端系统806或第三方系统808可以访问社交图谱900和相关的社交图谱信息。社交图谱900的节点和边线可以作为数据对象(例如)储存在数据存储器(例如,社交图谱数据库)内。这种数据存储器可以包括社交图谱900的节点和边线的一个或多个可搜索或可查询的索引。

在特定的实施例中,用户节点902可以与社交网络系统802的用户对应。作为一个示例,并非通过限制的方式,用户可以是个人(个人用户)、实体(例如,企业、商业或第三方应用程序)、或与或者通过社交网络系统802互动或通信的群组(例如,个人或实体)。在特定的实施例中,在第一用户通过社交网络系统802注册账号时,社交网络系统802可以创建与用户对应的用户节点902,并且在一个或多个数据内存内储存用户节点902。在适当的情况下,在本文中描述的用户和用户节点902表示注册的用户以及与注册的用户相关联的用户节点902。此外或者作为替换物,在适当的情况下,在本文中描述的用户和用户节点902表示没有通过社交网络系统802注册的用户。在特定的实施例中,用户节点902可以与由用户提供的信息或者由各种系统聚集的信息相关联,包括社交网络系统802。作为一个示例,并非通过限制的方式,用户可以提供其名称、大头贴、联系信息、生日、性别、婚姻状况、家庭状况、职业、教育背景、爱好、兴趣或其他人口统计信息。社交图谱的每个用户节点可以具有相应的网页(通常称为配置文件页面)。响应于包括用户名的请求,社交网络系统可以访问对应于用户名的用户节点,并且构建包括姓名、配置文件图片以及与用户相关联的其他信息的配置文件页面。第一用户的配置文件页面可以基于第一用户的一个或多个隐私设置以及第一用户和第二用户之间的关系向第二用户显示第一用户信息的全部或一部分。

在特定的实施例中,概念节点904可以与概念对应。作为一个示例,并非通过限制的方式,概念可以对应于地点(例如,电影院、餐馆、地标或城市);网站(例如,与社交网络系统802相关联的网站或者与网络应用程序服务器相关联的第三方网站);实体(例如,个人、企业、群组、体育队或名流);资源(例如,音频文件、视频文件、数字照片、文本文件、结构化文档或应用程序),其可以位于社交网络系统802内或外部服务器上,例如,网络应用程序服务器;不动产或知识产权(例如,雕塑、绘画、电影、游戏、歌曲、理念、照片、或书面工作);游戏;活动;理念或理论;另一种合适的概念;或两个或更多个这种概念。概念节点904可以与由用户提供的概念的信息或者由各种系统聚集的信息相关联,包括社交网络系统802。作为一个示例,并非通过限制的方式,概念的信息可以包括名字或称号;一个或多个图像(例如,书的封面的图像);位置(例如,地址或地理位置);网站(其可以与url相关联);联系方式(例如,电话号码或电子邮件地址);其他合适的概念信息;或这种信息的任何合适的组合。在特定的实施例中,概念节点904可以与一个或多个数据对象相关联,所述数据对象与和概念节点904相关联的信息对应。在特定的实施例中,概念节点904可以与一个或多个网页对应。

在特定的实施例中,在社交图谱900内的节点可以表示网页(可以称为“配置文件页面”)或者由该网页表示。配置文件页面可以由社交网络系统802托管或者可访问。配置文件页面还可以在与第三方系统808相关联的第三方网站上托管。作为一个示例,并非通过限制的方式,与特定的外部网页对应的配置文件页面可以是特定的外部网页,并且配置文件页面可以与特定的概念节点904对应。配置文件页面可以由所有或者所选择的子集的其他用户可查看。作为一个示例,并非通过限制的方式,用户节点902可以具有对应的用户配置文件页面,在该配置文件页面中,相应的用户可以添加内容,发表声明,或者另外表达自己的意见。作为另一示例,并非通过限制的方式,概念节点904可以具有相应概念的配置文件页面,在该配置文件页面中,一个或多个用户可以添加内容,发表声明,或者表达自己的意见,尤其关于与概念节点904对应的概念。

在特定的实施例中,概念节点904可以表示由第三方系统808托管的第三方网页或资源。除了其他元素以外,第三方网页或资源可以包括内容、可选择的或其他图标、或者表示活动或行动的其他可互动的对象(例如,可以在javascript、ajax或php代码内实现)。作为一个示例,并非通过限制的方式,第三方网页可以包括可选择的图标,例如,“点赞”、“签到”、“吃”、“推荐”、或另一合适的活动或行动。通过选择一个图标(例如,“吃”),查看第三方网页的用户可以执行活动,促使客户端系统806给社交网络系统802发送表示用户的活动的消息。响应于该消息,社交网络系统802可以在与用户对应的用户节点902与和第三方网页或资源对应的概念节点904之间创建边线(例如,“吃”边线),并且在一个或多个数据存储器内储存边线906。

在特定的实施例中,在社交图谱900内的一对节点可以通过一个或多个边线906彼此连接。连接一对节点的边线906可以表示在这对节点之间的关系。在特定的实施例中,边线906可以包括或表示与在一对节点之间的关系对应的一个或多个数据对象或属性。作为一个示例,并非通过限制的方式,第一用户可以表示第二用户是第一用户的“好友”。响应于这个指示,社交网络系统802可以给第二用户发送“好友请求”。如果第二用户确认“好友请求”,那么社交网络系统802可以在社交图谱900内创建连接第一用户的用户节点902和第二用户的用户节点902的边线906,并且在一个或多个数据内存内储存边线906,作为社交图谱信息。在图9的示例中,社交图谱900包括表示在用户“a”和用户“b”的用户节点902之间的好友关系的边线906以及表示在用户“c”和用户“b”的用户节点902之间的好友关系的边线。虽然本公开描述或显示了连接特定的用户节点902的具有特定属性的特定边线906,但是本公开预计连接用户节点902的具有任何合适的属性的任何合适的边线906。作为一个示例,并非通过限制的方式,边线906可以表示友谊、家庭关系、企业或雇佣关系、粉丝关系、追随者关系、访客关系、用户关系、上级/下级关系、互惠关系、非互惠的关系、另一种合适类型的关系、或两个或更多这种关系。而且,虽然本公开总体上描述正在连接的节点,但是本公开还描述了正在连接的用户或概念。在本文中,在合适的地方,对于正在连接的用户或概念的引用可以表示与由一个或多个边线906在社交图谱900内连接的那些用户或概念对应的节点。

在特定的实施例中,在用户节点902与概念节点904之间的边线906可以表示由与用户节点902相关联的用户朝着与概念节点904相关联的概念执行的特定活动或行动。作为一个示例,并非通过限制的方式,如图9中所示,用户可以“点赞”、“参加”、“播放”、“收听”、“烹饪”、“工作”或“观看”概念,其中的每个均与边线类型或子类型对应。与概念节点904对应的概念配置文件页面可以包括(例如)可选择的“签到”图标(例如,可点击的“签到”图标)或可选择的“添加到收藏夹”图标。同样,在用户点击这些图标之后,社交网络系统802可以响应于与相应的活动对应的用户活动创建“收藏夹”边线或“签到”边线。作为一个示例,并非通过限制的方式,用户(用户“c”)可以使用特定的应用程序(例如,spotify,这是在线音乐应用程序)收听特定的歌曲(“rambleon”)。在这种情况下,社交网络系统802可以在与用户对应的用户节点902与和歌曲和应用程序对应的概念节点904之间创建“收听”的边线906和“使用”的边线(如图9中所示),以表示用户收听歌曲和使用应用程序。而且,社交网络系统802可以在与歌曲和应用程序对应的概念节点904之间创建“收听”的边线906(如图9中所示),以表示由特定的应用程序播放特定的歌曲。在这种情况下,“收听”的边线906与由外部应用程序(spotify)在外部音频文件(歌曲“imagine”)上执行的活动对应。虽然本公开描述了连接用户节点902和概念节点904的具有特定属性的特定边线906,但是本公开预计连接用户节点902和概念节点904的具有任何合适的属性的任何合适的边线906。而且,虽然本公开描述了表示单个关系的在用户节点902和概念节点904之间的边线,但是本公开预计表示一个或多个关系的在用户节点902和概念节点904之间的边线。作为一个示例,并非通过限制的方式,边线906可以表示用户点赞并且使用的特定概念。交替地,另一边线906可以表示在用户节点902和概念节点904之间(如图9中所示,在用户“e”的用户节点902和“spotify”的概念节点904之间)的每种类型的关系(或单个关系的倍数)。

在特定的实施例中,社交网络系统802可以在用户节点902和概念节点904之间创建边线906。作为一个示例,并非通过限制的方式,查看概念配置文件页面的用户(例如,通过使用由用户的客户端系统806托管的网络浏览器或专用应用程序)可以通过点击或选择“点赞”图标来指示该用户点赞由概念节点904表示的概念,这可以促使用户的客户端系统806给社交网络系统802发送表示用户点赞与概念配置文件页面相关联的概念的消息。响应于该消息,社交网络系统802可以在与用户相关联的用户节点902和概念节点904之间创建边线906,如“点赞”在用户和概念节点904之间的边线906所示。在特定的实施例中,社交网络系统802可以在一个或多个数据内存内储存边线906。在特定的实施例中,可以由社交网络系统802响应于特定的用户活动自动形成边线906。作为一个示例,并非通过限制的方式,如果第一用户上传图片,看电影,或者收听歌曲,那么可以在与第一用户对应的用户节点902和与那些概念对应的概念节点904之间形成边线906。虽然本公开描述了通过特定的方式形成特定的边线906,但是本公开预计通过任何合适的方式形成任何合适的边线906。

在特定的实施例中,广告可能是文本(这可能是html链接的)、一个或多个图像(这可能是html链接的)、一个或多个视频、音频、一个或多个adobeflash文件、这些的适当组合、或在一个或多个网页上、在一个或多个电子邮件中或者与用户请求的搜索结果相结合地呈现的具有任何合适的数字格式的任何其他合适的广告。此外或者作为替换,广告可能是一个或多个赞助的内存(例如,在社交网络系统802上的新鲜事或自动收报机项目)。赞助的内存可能是广告商推动的用户的社会活动(例如,“点赞”页面、“点赞”或者评论在页面上的帖子、rsvp与页面相关的活动、投票表决在页面上张贴的问题、签到一个地点、使用应用程序或者玩游戏、或者“点赞”或共享网站),例如,通过在用户的配置文件页面或其他页面的预定区域内呈现、通过与广告商相关联的额外信息呈现、在其他用户的新鲜事或自动收报机内提升或者突出、或者推动社会活动。广告商可支付推动社会活动。作为一个示例,并非通过限制的方式,广告可包含在搜索结果页面的搜索结果之中,其中,在非赞助内容之上推动赞助内容。

在特定的实施例中,可请求在社交网络系统网页、第三方网页或其他页面内显示广告。可在页面的专用部分内,例如,在页面顶部的醒目区域内、在页面侧边的专栏内、在页面的gui内、在弹出窗口内、在下拉菜单内、在页面的输入字段内、在页面内容的顶部上、或者在页面的其他地方,显示广告。此外或者作为替换,可在应用程序内显示广告。可在专用页面内显示广告,在用户可访问页面或者使用应用程序之前,要求用户与广告相互作用或者观看广告。例如,用户可通过网络浏览器查看广告。

用户可通过任何合适的方式与广告交互。用户可点击或者选择广告。通过选择广告,可将用户引向(或者由用户使用浏览器或其他应用程序)与广告相关联的页面。在与广告相关联的页面上,用户可采取额外措施,例如,购买与广告相关联的产品或服务、接收与广告相关联的信息、或者订阅与广告相关联的新闻通讯。通过选择广告的元件(与“播放按钮”类似),可显示具有音频或视频的广告。可替换地,通过选择广告,社交网络系统802可执行或修改用户的特定活动。

广告可包括可与用户相互作用的社交网络系统功能。作为示例,而非通过限制的方式,通过选择与支持相关联的图标或链接,广告可使用户能够“点赞”或者支持广告。作为另一示例,而非通过限制的方式,广告可使用户能够搜索(例如,通过执行查询)与广告商相关的内容。同样,用户可与另一用户(例如,通过社交网络系统802)或rsvp(例如,通过社交网络系统802)共享广告,用于与广告相关联的活动。此外或者作为替换,广告可包括引向用户的社交网络系统上下文。作为示例,而非通过限制的方式,广告可显示关于采取与广告的主题相关联的措施的在社交网络系统802内的用户的好友的信息。

在特定实施例中,社交网络系统802可以确定彼此的各种社交图谱实体的社交图谱亲近性(在本文中可以称为“亲近性”)。亲近性可以表示在与在线社交网相关联的特定对象(例如,用户、概念、内容、活动、广告、与在线社交网相关联的其他对象或其任何合适的组合)之间的兴趣关系或水平的强度。还可以相对于与第三方系统808或其他合适的系统相关联的对象确定亲近性。还可以确定每个用户的社交图谱的整体亲近性、主题、或内容的类型。整体亲近性可以基于继续监控与社交图谱实体相关联的活动或关系改变。虽然本公开描述了通过特定的方式确定特定的亲近性,但是本公开预计通过任何合适的方式确定任何合适的亲近性。

在特定实施例中,社交网络系统802可以使用亲近性系数(在本文中可以称为“系数”)测量或量化社交图谱亲近性。系数可以表示或量化在与在线社交网相关联的特定用户之间的关系的强度。系数还可以表示概率或功能,其根据用户对活动的兴趣测量用户执行特定的活动的预测概率。通过这种方式,可以根据用户的先前活动,预测用户的未来活动,其中,至少部分根据用户的活动历史,计算系数。系数可以用于预测在在线社交网内或外面的多个活动。作为一个示例,并非通过限制的方式,这些活动可以包括各种类型的通信,例如,发送消息、张贴内容或者对内容评论;各种类型的观察活动;例如,访问或查看配置文件页面、介质或其他合适的内容;关于两个或更多个社交图谱实体的各种类型的重合信息,例如,在相同的群组内,标记在相同的照片内,在相同的位置签到,或者参加相同的活动;或其他合适的活动。虽然本公开描述了通过特定的方式测量亲近性,但是本公开预计通过任何合适的方式测量亲近性。

在特定实施例中,社交网络系统802可以使用各种因子,来计算系数。这些因子可以包括(例如)用户活动、在对象之间的关系的类型、位置信息、其他合适的因子或其任何组合。在特定实施例中,在计算系数时,不同的因子可以不同地加权。每个因子的权重可以是静态的,或者权重可以根据(例如)用户、关系的类型、活动的类型、用户的位置等改变。这些因子的评级可以根据其权重组合,以确定用户的整体系数。作为一个示例,并非通过限制的方式,可以给特定的用户活动分配评级和权重,同时给与特定的用户活动相关联的关系分配评级和相关联的权重(例如,因此,总权重是100%)。为了朝着特定对象计算用户的系数,给用户活动分配的评级可以包括(例如)整体系数的60%,而在用户与对象之间的关系可以包括整体系数的40%。在特定实施例中,在确定用于计算系数的各种因子的权重时,社交网络系统802可以考虑各种变量,例如,访问信息的时间、衰减因子、访问频率、与信息的关系、关于访问哪个信息的与对象的关系、与连接至对象的社交图谱实体的关系、用户活动的短期或长期平均数、用户反馈、其他合适的变量或其任何组合。作为一个示例,并非通过限制的方式,系数可以包括衰减因子,其促使由特定的活动提供的信号的强度随着时间衰减,以便在计算系数时,最近活动更相关。可以基于继续追踪系数所基于的活动,来继续更新评级和权重。任何类型的工艺或算法可以用于对每个因子的评级以及分配给因子的权重进行分配、合并、平均化等。在特定实施例中,社交网络系统802可以使用在历史活动和过去的用户响应上培训的机器学习算法确定系数或者通过对着各种选择和测量响应曝光这些系数来由用户形成的数据。虽然本公开描述了通过特定的方式计算系数,但是本公开预计通过任何合适的方式计算系数。

在特定实施例中,社交网络系统802可以基于用户的活动计算系数。社交网络系统802可以在在线社交网上、在第三方系统808上、在其他合适的系统上或其任何组合上,监控这种活动。可以追踪或监控任何合适类型的用户活动。典型的用户活动包括查看配置文件页面、创建或张贴内容、与内容互动、加上标记或者在图像内加上标记、加入群组、列出和确认出席活动,签到位置,点赞特定的页面、创建页面,并且执行促成社会活动的其他任务。在特定实施例中,社交网络系统802可以基于具有特定类型的内容的用户活动,计算系数。该内容可以与在线社交网、第三方系统808或另一合适的系统相关联。该内容可以包括用户、配置文件页面、帖子、新闻故事、头条、聊天室谈话、电子邮件、广告、图片、引用、其他合适的对象或其任何组合。社交网络系统802可以分析用户的活动,以确定一个或多个活动是否表示主题、内容、其他用户等的亲近性。作为一个示例,并非通过限制的方式,如果用户可以使频繁张贴的内容与“咖啡”或其他变体相关,那么社交网络系统802可以确定用户相对于概念“咖啡”具有高系数。可以给特定的活动或特定类型的活动分配比其他活动更高的权重和/或评级,这可以影响整体计算系数。作为一个示例,并非通过限制的方式,如果第一用户给第二用户发送电子邮件,那么与如果第一用户仅仅查看第二用户的用户配置文件相比,该活动的加权或评级可以更高。

在特定实施例中,社交网络系统802可以基于在特定对象之间的关系的类型计算系数。参照社交图谱900,社交网络系统802可以在计算系数时分析连接特定的用户节点902和概念节点904的边线906的数量和/或类型。作为一个示例,并非通过限制的方式,可以给由配偶型边线(表示两个用户是夫妻)连接的用户节点902分配比由好友型边线连接的用户节点902更高的系数。换言之,根据分配给活动的权重以及特定用户的关系,可以确定关于用户的配偶的内容的整体亲近性比关于用户的好友的内容更高。在特定实施例中,用户与另一对象具有的关系可以影响用户相对于计算该对象的系数的活动的权重和/或评级。作为一个示例,并非通过限制的方式,如果用户在第一张照片中标记,但是仅仅点赞第二张照片,那么社交网络系统802可以确定用户相对于第一张照片具有比第二张照片更高的系数,这是因为与具有与内容的点赞型关系相比,具有与内容的标记型关系,可以分配更高的权重和/或评级。在特定实施例中,社交网络系统802可以基于一个或多个第二用户与特定对象具有的关系,给第一用户计算系数。换言之,其他用户与对象具有的连接和系数可以影响第一用户用于该对象的系数。作为一个示例,并非通过限制的方式,如果第一用户连接至一个或多个第二用户或者对一个或多个第二用户具有高系数,并且那些第二用户连接至特定的对象或者对特定的对象具有高系数,那么社交网络系统802可以确定第一用户也应对该特定的对象具有较高的系数。在特定实施例中,系数可以基于在特定对象之间的分离度。任何两个节点之间的分离度定义为从一个节点到另一节点穿过社交图谱所需的最小跳数。两个节点之间的分离度可以被认为是社会图中两个节点所表示的用户或概念之间的相关性的度量。例如,具有通过边线直接连接的用户节点(即,第一度节点)的两个用户可以被描述为“连接的用户”或“好友”。同样,具有仅通过另一用户节点(即第二度节点)连接的用户节点的两个用户可以被描述为“好友的好友”。更低的系数可以表示第一用户在社交图谱900中分享对与第一用户间接连接的用户的内容对象的兴趣的可能性降低。作为一个示例,并非通过限制的方式,在社交图谱900中更接近的社交图谱实体(即,更小的分离度)可以具有比在社交图谱900中相隔更远的实体更高的系数。

在特定实施例中,社交网络系统802可以基于在位置信息计算系数。在地理上彼此更接近的对象可以被视为比更远的对象彼此更相关或更感兴趣。在特定实施例中,用户朝着特定对象的兴趣可以基于对象的位置与和用户相关联的当前位置(或用户的客户端系统806的位置)的接近度。第一用户可以对更接近第一用户的其他用户或概念更感兴趣。作为一个示例,并非通过限制的方式,如果用户与机场相距1英里并且与加油站相距2英里,那么社交网络系统802可以基于机场与用户的接近度确定用户对机场具有比加油站更高的系数。

在特定实施例中,社交网络系统802可以基于系数信息,相对于用户执行特定的活动。系数可以用于根据用户对活动的兴趣,预测用户是否执行特定的活动。在生成或向用户显示任何类型的对象时,可以使用系数,例如,广告、搜索结果、新闻故事、介质、消息、通知或其他合适的对象。系数还可以用于将这种对象酌情排名和排序。通过这种方式,社交网络系统802可以提供与用户的兴趣和当前环境相关的信息,提高了找出这种兴趣信息的可能性。在特定实施例中,社交网络系统802可以基于系数信息,生成内容。可以基于用户特有的系数,提供或选择内容对象。作为一个示例,并非通过限制的方式,系数可以用于给用户生成介质,其中,可以给用户显示用户相对于介质对象具有高整体系数的介质。作为另一示例,并非通过限制的方式,系数可以用于给用户生成广告,其中,可以给用户显示用户相对于广告对象具有高整体系数的广告。在特定实施例中,社交网络系统802可以基于系数信息,生成搜索结果。可以相对于查询用户,基于与搜索结果相关联的系数,给特定用户的搜索结果评分或排名。作为一个示例,并非通过限制的方式,与和具有更低系数的对象对应的结果相比,与具有更高系数的对象对应的搜索结果可以在搜索结果页面上排名更高。

在特定实施例中,社交网络系统802可以响应于特定系统或工艺的系数的请求,计算系数。为了预测用户可以在规定的情况下采取(或者可以作为其主体)的可能活动,任何工艺可以请求用户的计算系数。该请求还可以包括用于各种因子的一组权重,这些因子用于计算系数。这个请求可以来自在线社交网上运行的工艺、来自第三方系统808(例如,通过api或其他通信信道)或者来自另一合适的系统。响应于该请求,社交网络系统802可以计算系数(或者如果预先计算和储存了,那么访问系数信息)。在特定实施例中,社交网络系统802可以计算相对于特定工艺的亲近性。不同的工艺(位于在线社交网的内部和外部)可以请求一个特定对象或一组特定对象的系数。社交网络系统802可以提供与请求亲近性的测度的特定工艺相关的亲近性的测度。通过这种方式,每个工艺接收专用于不同背景的亲近性的测度,在该背景下,该工艺使用亲近性的测度。

与社交图谱亲近性和亲近性系数相结合,特定实施例可以使用在于2006年8月11日提交的美国专利申请号11/503093、于2010年12月22日提交的美国专利申请号12/978027、于2010年12月23日提交的美国专利申请号12/978265以及于2012年10月1日提交的美国专利申请号13/642869中公开的一个或多个系统、元件、部件、功能、方法、操作或步骤,每个申请通过引证结合于此。

在特定实施例中,在线社交网的一个或多个内容对象可以与隐私设置相关联。可以以任何适当的方式,例如,与对象相关联地,在授权服务器上的索引,以另一种合适的方式或其任何组合,存储对象的隐私设置(或“访问设置”)。对象的隐私设置可以指定可以如何使用在线社交网访问(例如,查看或共享)对象(或与对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的情况下,该对象可以被描述为相对于该用户“可见”。作为一个示例,而非限制性地,在线社交网的用户可以指定用户配置文件页面的隐私设置,以识别可以访问关于用户配置文件页面的工作经历信息的一组用户,从而防止其他用户访问信息。在特定实施例中,隐私设置可以指定不应允许访问与对象相关联的某些信息的用户的“黑名单”。换言之,黑名单可以指定对象不可见的一个或多个用户或实体。作为一个示例,而非限制性地,用户可以指定不访问与用户相关联的相册的一组用户,从而防止那些用户访问相册(同时也可能允许不在该组内的某些用户访问相册)。在特定实施例中,隐私设置可以与特定社交图谱元件相关联。诸如节点或边线等社交图谱元件的隐私设置可以指定可以使用在线社交网如何访问社交图谱元件、与社交图谱元件相关联的信息或与社交图谱元件相关联的内容对象。作为一个示例,而非限制性地,对应于特定照片的特定概念节点904可以具有隐私设置,其指定照片仅可以被照片中标记的用户及其好友访问。在特定实施例中,隐私设置可以允许用户选择加入或选择退出社交网络系统802记录的其活动或与其他系统(例如,第三方系统808)共享。在特定实施例中,与对象相关联的隐私设置可以指定允许访问或拒绝访问的任何合适的粒度。作为一个示例,而非限制性地,访问或拒绝访问可以指定用于特定用户(例如,只有我、我的室友和我的老板)、特定分离度内的用户(例如,好友或好友的好友)、用户组(例如,游戏俱乐部、我的家人)、用户网络(例如,特定雇主的员工、特定大学的学生或校友)、所有用户(“公众”)、非用户(“私人”)、第三方系统808的用户、特定应用(例如,第三方应用、外部网站)、其他合适的用户或实体、或其任何组合。虽然本公开描述以特定方式使用特定的隐私设置,但本公开预期以任何合适的方式使用任何合适的隐私设置。

在特定实施例中,一个或多个服务器162可以是用于执行隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)对于存储在数据内存中的特定对象的请求,社交网络系统802可以向对象的数据内存发送请求。该请求可以识别与该请求相关联的用户,并且如果授权服务器基于与该对象相关联的隐私设置来确定该用户被授权访问该对象,则该请求可能仅被发送给该用户(或该用户的客户端系统806)。如果请求用户没有被授权访问对象,则授权服务器可以防止从数据内存检索所请求的对象,或者可以防止所请求的对象被发送给用户。在搜索查询上下文中,如果查询用户被授权访问对象,则只能将对象生成为搜索结果。换言之,对象必须具有查询用户可见的可见性。如果对象具有对用户不可见的可见性,则可能会从搜索结果中排除该对象。虽然本公开描述了以特定方式实施隐私设置,但本公开旨在以任何合适的方式实施隐私设置。

参考其具体的示例性实施例描述前述说明书。参考本文所讨论的细节描述本公开的各种实施例和方面,并且附图示出了各种实施例。以上描述和附图是说明性的,并不被解释为限制。描述了许多具体细节,以提供对各种实施例的透彻理解。

在不脱离其精神或基本特征的情况下,额外或替代实施例可以以其他具体形式体现。所描述的实施例在各方面仅被认为是说明性的而不是限制性的。因此,本公开的范围由所附权利要求而不是前面的描述来表明。在权利要求的等同物的含义和范围内的所有变化包括在其范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1