一种扫码支付方法及装置转让专利

申请号 : CN202110802820.2

文献号 : CN113435881B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨思硕

申请人 : 支付宝(杭州)信息技术有限公司

摘要 :

本说明书一个或多个实施例提供一种扫码支付方法,钱包客户端将扫描的商家外部收款码的信息,及用户通过用于输入支付金额的交互接口输入的支付金额的信息,发送给代理服务端,代理服务端模拟钱包客户端对外部收款码对应的外部收款页面进行加载,并模拟用户进行支付金额的输入,以向外部收款码的提供方发送支付请求,在获取到支付请求对应的支付确认消息后,将该支付确认消息发送给钱包客户端,钱包客户端收到支付确认消息后,和用户交互完成支付。通过由代理服务端加载外部收款页面,并模拟用户对支付金额进行输入,使得钱包客户端可以不用加载外部收款页面,也就无需适配外部收款码的提供方的交互逻辑,减少了钱包客户端开发和测试的工作量。

权利要求 :

1.一种扫码支付方法,利用代理服务端实现钱包客户端与外部收款页面之间的交互,所述方法包括:

钱包客户端扫描获得外部收款码,显示用于输入支付金额的交互接口;所述外部收款码为所述代理服务端可以解析的收款码;

接收用户在所述交互接口输入的支付金额;

将所述外部收款码的信息及所述支付金额的信息发送给所述代理服务端;

所述代理服务端对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面;

所述代理服务端根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向外部收款码的提供方发送支付请求;

获得外部收款码的提供方响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认消息提示用户完成支付。

2.根据权利要求1所述方法,所述钱包客户端扫描获得外部收款码,显示用于输入支付金额的交互接口,包括:

钱包客户端扫描获得外部收款码,向所述代理服务端发送包括所述外部收款码的信息的查询请求;

所述代理服务端在所述外部收款码的信息能被解析的情况下,向钱包客户端发送查询成功消息;

钱包客户端响应于所述查询成功消息 ,显示用于输入支付金额的交互接口。

3.根据权利要求1所述方法,所述根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,包括:根据预先存储的外部收款页面的解析结果,确定所述外部收款页面中每个可交互页面元素的含义;

确定输入所述支付金额所需点击的页面元素的位置及点击顺序,并按照确定的点击顺序来输入支付金额;

若所述外部收款页面上显示的已输入支付金额与所述支付金额相同,则点击所述外部收款页面的表征确定的页面元素,以模拟用户的确定操作。

4.一种扫码支付方法,利用代理服务端实现钱包客户端与外部收款页面之间的交互,所述代理服务端执行:

获得钱包客户端发送的外部收款码信息及支付金额信息;钱包客户端被预先配置为:扫描获得外部收款码后,显示用于输入支付金额的交互接口,并通过所述交互接口接收用户输入的支付金额;所述外部收款码为所述代理服务端可以解析的收款码;

对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面;

根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向外部收款码的提供方发送支付请求;

获得外部收款码的提供方响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认消息提示用户完成支付。

5.一种扫码支付方法,利用代理服务端实现钱包客户端与外部收款页面之间的交互,钱包客户端执行:

扫描获得外部收款码,显示用于输入支付金额的交互接口;所述外部收款码为所述代理服务端可以解析的收款码;

接收用户在所述交互接口输入的支付金额;

将所述外部收款码的信息及所述支付金额的信息发送给所述代理服务端,以使代理服务端加载所述外部收款码对应的外部收款页面,并模拟用户进行支付金额输入操作及确认操作;

获得代理服务端转发的支付确认消息,所述支付确认消息为外部收款码的提供方响应于支付请求所发送的消息,并根据所述支付确认消息提示用户完成支付。

6.一种扫码支付装置,利用代理服务端实现钱包客户端与外部收款页面之间的交互,应用于所述代理服务端,所述装置包括:信息获得模块,用于获得钱包客户端发送的外部收款码信息及支付金额信息;钱包客户端被预先配置为:扫描获得外部收款码后,显示用于输入支付金额的交互接口,并通过所述交互接口接收用户输入的支付金额;所述外部收款码为所述代理服务端可以解析的收款码;

页面加载模块,用于对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面;

输入模块,用于根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向外部收款码的提供方发送支付请求;

支付消息转发模块,用于获得外部收款码的提供方响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认消息提示用户完成支付。

7.一种扫码支付装置,利用代理服务端实现钱包客户端与外部收款页面之间的交互,应用于钱包客户端,所述装置包括:交互接口显示模块,用于扫描获得外部收款码,显示用于输入支付金额的交互接口;所述外部收款码为所述代理服务端可以解析的收款码;

支付金额接收模块,用于接收用户在所述交互接口输入的支付金额;

信息发送模块,用于将所述外部收款码的信息及所述支付金额的信息发送给所述代理服务端,以使代理服务端加载所述外部收款码对应的外部收款页面,并模拟用户进行支付金额输入操作及确认操作;

支付确认消息获得模块,用于获得代理服务端转发的支付确认消息,所述支付确认消息为外部收款码的提供方响应于支付请求所发送的消息,并根据所述支付确认消息提示用户完成支付。

8.一种扫码支付系统,利用代理服务端实现钱包客户端与外部收款页面之间的交互,所述系统包括钱包客户端和所述代理服务端;

钱包客户端,执行:扫描获得外部收款码,显示用于输入支付金额的交互接口;接收用户在所述交互接口输入的支付金额;将所述外部收款码的信息及所述支付金额的信息发送给所述代理服务端;所述外部收款码为所述代理服务端可以解析的收款码;

代理服务端,执行:代理服务端对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面;根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向外部收款码的提供方发送支付请求;获得外部收款码的提供方响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认消息提示用户完成支付。

9.一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现如权利要求4‑5中任一项所述的扫码支付方法。

10.一种计算机可读存储介质,存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求4‑5中任一项所述的扫码支付方法。

说明书 :

一种扫码支付方法及装置

技术领域

[0001] 本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种扫码支付方法及装置。

背景技术

[0002] 用户使用电子钱包进行线下扫码支付的过程可以是:用户通过电子钱包客户端(下文简称为钱包客户端)扫描商家的收款码(下文简称为扫码支付),在加载的收款页面上
输入支付金额,并完成支付。而一些情况下,收款码是外部收款码,换言之,该外部收款码是
除该电子钱包之外的其他机构(比如收单机构或收单外包服务机构,下文简称外部收款码
提供方),根据商家对应的收款页面预先生成的,收款码的常见形式是二维码,二维码中包
括收款页面的链接,其中,收款页面对于电子钱包而言,是可以输入支付金额的外部收款页
面。其中,收单机构指的是与某些商家签订协议,帮助商家进行收款的机构,具体而言,在支
付过程中,如果商家与某个收单机构签订了协议,那么用户向商家支付的钱款先到收单机
构的账户中,再由收单机构将对应的钱款发送到商家账户中;收单外包服务机构指的是在
收单机构参与的收款过程中,提供技术服务支持(提供收款码和收款页面)的机构。
[0003] 如果支付过程中用户扫描的是外部收款码,那么用户线下扫码支付的过程中涉及了外部收款页面和钱包客户端之间的交互,而不同的外部收款码提供方对于两者之间的交
互逻辑有不同的技术要求,比如有些外部收款码提供方要求进行回跳拦截,而有些外部收
款码提供方不需要;不同的电子钱包对于两者之间的交互逻辑也有不同的要求。这就导致
如果电子钱包想要与外部收款码提供方进行合作,电子钱包或外部收款码提供方就需要对
合作方的交互逻辑进行适配。而有些情况下,需要电子钱包主动去适配多个外部收款码提
供方的交互逻辑,这使得电子钱包需要投入大量精力去对适配工作进行开发和测试。

发明内容

[0004] 有鉴于此,本说明书一个或多个实施例提供一种扫码支付方法及装置。
[0005] 根据本说明书一个或多个实施例的第一方面,提出了一种扫码支付方法,利用代理服务端实现钱包客户端与外部收款页面之间的交互,所述方法包括:
[0006] 钱包客户端扫描获得外部收款码,显示用于输入支付金额的交互接口;
[0007] 接收用户在所述交互接口输入的支付金额;
[0008] 将所述外部收款码的信息及所述支付金额的信息发送给所述代理服务端;
[0009] 所述代理服务端对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面;
[0010] 所述代理服务端根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向外部收款码的提供方发送支付请求;
[0011] 获得外部收款码的提供方响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认消息提示用户完成支付。
[0012] 根据本说明书一个或多个实施例的第二方面,提出了一种扫码支付方法,利用代理服务端实现钱包客户端与外部收款页面之间的交互,所述代理服务端执行:
[0013] 获得钱包客户端发送的外部收款码信息及支付金额信息;钱包客户端被预先配置为:扫描获得外部收款码后,显示用于输入支付金额的交互接口,并通过所述交互接口接收
用户输入的支付金额;
[0014] 对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面;
[0015] 根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向外部收款码的提供方发送支付请求;
[0016] 获得外部收款码的提供方响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认消息提示用户完成支付。
[0017] 根据本说明书实施例的第三方面,提供一种扫码支付方法,利用代理服务端实现钱包客户端与外部收款页面之间的交互,钱包客户端执行:
[0018] 扫描获得外部收款码,显示用于输入支付金额的交互接口;
[0019] 接收用户在所述交互接口输入的支付金额;
[0020] 将所述外部收款码的信息及所述支付金额的信息发送给所述代理服务端,以使代理服务端加载所述外部收款码对应的外部收款页面,并模拟用户进行支付金额输入操作及
确认操作;
[0021] 获得代理服务端转发的支付确认消息,所述支付确认消息为外部收款码的提供方响应于所述支付请求所发送的消息,并根据所述支付确认消息提示用户完成支付。
[0022] 根据本说明书实施例第四方面,提供一种扫码支付装置,利用代理服务端实现钱包客户端与外部收款页面之间的交互,应用于所述代理服务端,所述装置包括:
[0023] 信息获得模块,用于获得钱包客户端发送的外部收款码信息及支付金额信息;钱包客户端被预先配置为:扫描获得外部收款码后,显示用于输入支付金额的交互接口,并通
过所述交互接口接收用户输入的支付金额;
[0024] 页面加载模块,用于对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面;
[0025] 输入模块,用于根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向外部收款码的提供方发送支付请求;
[0026] 支付消息转发模块,用于获得外部收款码的提供方响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认
消息提示用户完成支付。
[0027] 根据本说明书实施例第五方面,提供一种扫码支付装置,利用代理服务端实现钱包客户端与外部收款页面之间的交互,应用于钱包客户端,所述装置包括:
[0028] 交互接口显示模块,用于扫描获得外部收款码,显示用于输入支付金额的交互接口;
[0029] 支付金额接收模块,用于接收用户在所述交互接口输入的支付金额;
[0030] 信息发送模块,用于将所述外部收款码的信息及所述支付金额的信息发送给所述代理服务端,以使代理服务端加载所述外部收款码对应的外部收款页面,并模拟用户进行
支付金额输入操作及确认操作;
[0031] 支付确认消息获得模块,用于获得代理服务端转发的支付确认消息,所述支付确认消息为外部收款码的提供方响应于所述支付请求所发送的消息,并根据所述支付确认消
息提示用户完成支付。
[0032] 根据本说明书实施例第六方面,提供一种扫码支付系统,利用代理服务端实现钱包客户端与外部收款页面之间的交互,所述系统包括钱包客户端和所述代理服务端;
[0033] 钱包客户端,执行:扫描获得外部收款码,显示用于输入支付金额的交互接口;接收用户在所述交互接口输入的支付金额;将所述外部收款码的信息及所述支付金额的信息
发送给所述代理服务端;
[0034] 代理服务端,执行:代理服务端对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面;根据所接收到的支付金额信息,在所加载的
外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向外部收款码的提供方
发送支付请求;获得外部收款码的提供方响应于所述支付请求的支付确认消息,并将所述
支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认消息提示用户完成
支付。
[0035] 根据本说明书实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如本说明书实施例第二方面或第三方面所述的扫码
支付方法。
[0036] 根据本说明书实施例的第八方面,提供一种电子设备,包括:
[0037] 处理器;
[0038] 用于存储处理器可执行指令的存储器;
[0039] 其中,所述处理器通过运行所述可执行指令以实现如本说明书实施例第二方面或第三方面所述的扫码支付方法。
[0040] 本说明书一个或多个实施例中,钱包客户端将扫描的商家外部收款码的信息,及用户通过用于输入支付金额的交互接口输入的支付金额的信息,发送给代理服务端,代理
服务端模拟钱包客户端对外部收款码对应的外部收款页面进行加载,并模拟用户进行支付
金额的输入,以向外部收款码的提供方发送支付请求,在获取到支付请求对应的支付确认
消息后,将该支付确认消息发送给钱包客户端,钱包客户端收到支付确认消息后,和用户交
互完成支付。通过由代理服务端加载外部收款页面,并模拟用户对支付金额进行输入,使得
钱包客户端可以不用加载外部收款页面,也就无需适配外部收款码的提供方的交互逻辑,
减少了钱包客户端开发和测试的工作量。
[0041] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

[0042] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
[0043] 图1是本说明书根据一示例性实施例示出的一种扫码支付方法的流程图。
[0044] 图2是本说明示出的钱包客户端通过第三方SDK与收单机构交互的过程。
[0045] 图3是本说明书根据一具体实施例示出的再一种扫码支付方法的流程图。
[0046] 图4是本说明书根据一示例性实施例示出的另一种扫码支付方法的流程图。
[0047] 图5是本说明书根据一示例性实施例示出的又一种扫码支付方法的流程图。
[0048] 图6是本说明书根据一示例性实施例示出的一种扫码支付装置的框图。
[0049] 图7是本说明书根据一示例性实施例示出的另一种扫码支付装置的框图。
[0050] 图8是本说明书根据一示例性实施例示出的一种扫码支付装置所在计算机设备的一种硬件结构图。

具体实施方式

[0051] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例
中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相
反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相
一致的装置和方法的例子。
[0052] 需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更
多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进
行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行
描述。
[0053] 用户扫码支付的过程中,往往涉及钱包客户端和外部收款页面之间的交互,而如果电子钱包想要开拓新市场(比如在新的国家开拓市场),往往需要与新市场的外部收款码
提供方合作,而大部分情况下,新市场的外部收款码提供方基本不可能主动适配电子钱包
的交互逻辑,这就要求电子钱包去主动适配新市场的外部收款码提供方的交互逻辑,那么
电子钱包需要投入大量精力去开发和测试,以适配新市场的外部收款码提供方的交互逻
辑。
[0054] 电子钱包主动适配的情况下,钱包客户端与外部收款码提供方具体的交互过程为:钱包客户端接收用户的扫码请求,并解析扫描到的外部收款码,根据解析结果确定外部
收款页面链接,并根据该外部收款页面链接对应的交互方式,加载收款码对应的收款页面,
并接收用户的支付金额输入,在用户确认后,外部收款码提供方通过外部收款页面返回订
单标识信息,钱包客户端再根据订单标识信息从外部收款码提供方的服务端获取订单信
息,并根据订单信息提示用户完成支付。
[0055] 为了解决上述问题,钱包客户端将扫描的商家外部收款码的信息,及用户通过用于输入支付金额的交互接口输入的支付金额的信息,发送给代理服务端,代理服务端模拟
钱包客户端对外部收款码对应的外部收款页面进行加载,并模拟用户进行支付金额的输
入,以向外部收款码提供方发送支付请求,在获取到支付请求对应的支付确认消息后,将该
支付确认消息发送给钱包客户端,钱包客户端收到支付确认消息后,和用户交互完成支付。
通过由代理服务端加载外部收款页面,并模拟用户对支付金额进行输入,使得钱包客户端
可以不用加载外部收款页面,也就无需适配外部收款页面的交互逻辑,减少了钱包客户端
开发和测试的工作量。
[0056] 接下来将对本说明书提供的一种扫码支付方法及装置进行详细说明。
[0057] 首先,本说明书提供了一种扫码支付方法,如图1所示,与现有技术的只有钱包客户端和外部收款码提供方参与的扫码支付流程相比,本说明书提供的方法中新增了代理服
务端,利用代理服务端代理钱包客户端来解析外部收款码加载外部收款页面,以完成钱包
客户端与外部收款页面之间的交互。该扫码支付方法包括以下步骤:
[0058] 步骤101,钱包客户端扫描获得外部收款码,显示用于输入支付金额的交互接口。
[0059] 步骤103,钱包客户端接收用户在所述交互接口输入的支付金额。
[0060] 接下来将对步骤101和步骤103统一进行说明。
[0061] 其中,用于输入支付金额的交互接口,可以是以输入框的形式呈现,也可以是以页面的形式呈现,如果是以页面的形式呈现,该页面非外部页面,而是钱包客户端自身提供的
页面,比如可以是钱包客户端自身的扫码后用于输入支付金额的外部收款页面。外部收款
码对应于外部收款页面,是除了电子钱包之外的其他收单机构或收单服务机构所提供的,
这两种机构即为外部收款码提供方。与代理服务端合作的电子钱包有多个,和代理服务端
合作的外部收款码提供方也有多个,本说明书指的电子钱包可以是其中任意一个,外部收
款码提供方也可以是其中任意一个。
[0062] 区别于相关技术中的,扫描了外部收款码后,会对该外部收款码进行解码,并加载相应的外部收款页面,本说明书实施例中,扫描了外部收款码后,不对该外部收款码进行解
码,不加载外部收款码对应的外部收款页面,而是加载用于输入支付金额的交互接口。这
样,钱包客户端无需加载外部收款页面也能向外部收款码提供方提交用户输入的支付金
额,使得钱包客户端无需对外部收款码提供方的交互逻辑进行适配。且在电子钱包需要合
作的外部收款码提供方较多的情况下,本说明书实施例的方法使得钱包客户端无需适配多
个外部收款码提供方,使得电子钱包的开发成本大幅度下降,使电子钱包开拓新市场更为
容易。
[0063] 此外,考虑到钱包客户端不能在通过扫码界面拍摄到任何东西后,都加载用于输入支付金额的交互接口,钱包客户端需要先确定通过扫码界面拍摄到的物品是否存在外部
收款码,及该外部收款码是否是自身无法解析,而代理服务端能解析的外部收款码,在确定
存在外部收款码,且该外部收款码是自身无法解析,代理服务端能解析的外部收款码后,再
显示交互接口。
[0064] 具体而言,在用户通过钱包客户端的扫码功能扫描到二维码或者其他条形码的情况下,钱包客户端先确定该外部收款码是否是自身能解析的外部收款码;如果确定自身可
以解析该外部收款码,则直接显示对应的页面;如果确定自身不能解析该外部收款码,可以
向合作的代理服务端发送查询请求,查询请求用于使得代理服务端查询是否能解析查询请
求中包含的二维码;如果代理服务端响应于该查询请求,向钱包客户端返回查询成功消息,
则钱包客户端加载用户输入支付金额的交互接口,获取用户输入的支付金额;如果代理服
务端响应于该查询请求,向钱包客户端返回查询失败消息,则钱包客户端提示用户无法解
析。换言之,步骤101包括:钱包客户端扫描获得外部收款码,向所述代理服务端发送包括所
述外部收款码的信息的查询请求;所述代理服务端在所述外部收款码的信息能被解析的情
况下,向钱包客户端发送查询成功消息;钱包客户端响应于所述查询成功信息,显示用于输
入支付金额的交互接口。
[0065] 步骤105,钱包客户端将所述外部收款码的信息及所述支付金额的信息发送给所述代理服务端。
[0066] 在获取到用户输入的支付金额后,为了使得外部收款码提供方也能获取到用户输入的支付金额,完成与外部收款页面之间的交互,钱包客户端需要将外部收款码的信息及
支付金额的信息发送给代理服务端,使得不用改变现有的外部收款码提供方获取支付金额
的方法的情况下,完成整个交互过程。
[0067] 其中,外部收款码的信息可以是拍摄到的外部收款码图片,也可以是对外部收款码进行识别后生成的二进制数值。此外,步骤105中,由于代理服务端不仅对接了一个钱包
客户端,为了使得代理服务端可以识别每条信息是哪一个钱包客户端发来的,还需发送用
于区分不同钱包客户端的标识信息,比如说由钱包客户端对应的电子钱包的标识,及用户
标识组合起来的标识信息,当然标识信息还可以是其他的形式,本说明书不限制标识信息
的形式。
[0068] 步骤107,代理服务端对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面。
[0069] 步骤109,代理服务端根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向外部收款码提供方发送支付请求。
[0070] 接下来将对步骤107和步骤109进行统一说明。
[0071] 区别于相关技术中的由钱包客户端来解析外部收款码并加载对应的外部收款页面的方法,本说明书实施例中,选择由代理服务端来解析外部收款码,并加载外部收款码对
应的外部收款页面,这样,代理服务端代理钱包客户端与外部收款页面进行交互,使得钱包
客户端开发成本降低。
[0072] 其中,加载外部收款页面可以是通过无头浏览器(Headless Browser)进行加载,通过无头浏览器进行加载可以方便地批量处理多个外部收款页面的交互任务。加载外部收
款页面实际上是模拟钱包客户端进行加载,这样实际上所使用和外部收款码提供方进行交
互的方法并没有变化,使得外部收款码提供方的服务端无需对整个交互过程做出调整。
[0073] 在交互过程中,为了能够在加载的外部收款页面上模拟用户进行支付金额输入操作及确认操作,需要知道外部收款页面中每个可交互页面元素的含义。那么确定外部收款
页面中每个可交互页面元素的含义,可以在打开外部收款页面的时候通过预先训练的页面
元素识别模型,来确定外部收款页面中每个可交互页面元素的含义;也可以预先针对市场
上的所有外部收款页面,加载后截图,并通过上述的机器学习方法来解析外部收款页面中
每个可交互页面元素含义的过程,完成后将解析结果存储起来,这种情况下,步骤109可以
根据预先存储的针对不同外部收款页面的解析结果进行支付金额的输入,这样每次加载外
部收款页面的时候就不用再费时进行外部收款页面的解析,提升了处理速度。具体而言,步
骤109可以包括:根据预先存储的外部收款页面的解析结果,确定所述外部收款页面中每个
可交互页面元素的含义;确定输入所述支付金额所需点击的页面元素的位置及点击顺序,
并按照确定的点击顺序来输入支付金额;若所述外部收款页面上显示的已输入支付金额与
所述支付金额相同,则点击所述外部收款页面的表征确定的页面元素,以模拟用户的确定
操作。此外,外部收款页面可能发生更新,因此代理服务端可以设置定时任务,定时监控外
部收款页面是否发生变化,在发生变化后,重新确定外部收款页面中每个可交互页面元素
的含义,以防止输入的支付金额信息是错误的。
[0074] 此外,对于某些电子钱包和某些外部收款码提供方的交互过程来说,并不是发送支付请求后,就能获得支付确认消息,这个过程往往是,输入支付金额并通过外部收款页面
发送支付请求后,外部收款码提供方通过外部收款页面返回订单标识信息,服务端调用订
单标识信息解析接口进行解析,以从外部收款码提供方服务端获取订单信息(支付确认消
息),本说明书所提供的方法也能应用于这种场景中。具体而言,由代理服务端通过外部收
款页面发送支付请求后,拦截返回的订单标识信息,调用订单标识信息解析接口,以从外部
收款码提供方服务端获取到订单信息。
[0075] 步骤111,代理服务端获得外部收款码提供方响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认消息
提示用户完成支付。
[0076] 由于支付确认需要用户的参与,所以在获取到外部收款码提供方服务端发送的支付确认消息后,需要将支付确认消息再发送至钱包客户端,以使得钱包客户端提示用户完
成支付。
[0077] 此外,除了选择由代理服务端来模拟钱包客户端加载外部收款页面完成与外部收款码提供方的交互之外,还可以是电子钱包与第三方服务端会进行合作。这种情况下,第三
方服务端会提供软件开发工具包(Software Development Kit,SDK),提供的SDK用于加载
外部收款页面,并负责与外部收款码提供方进行交互。以一个电子钱包与一个收单机构为
例,具体的交互过程如图2所示,用户扫描收单机构提供的收款码,钱包客户端利用集成的
SDK针对外部收款页面,按照外部收款页面所要求的交互方式进行加载,用户在加载的外部
收款页面中输入金额并确认,确认后收单机构通过外部收款页面返回订单标识信息,SDK在
获取到订单标识信息后,调用代理服务端来解析订单标识信息,代理服务端从收单机构来
获取订单信息,并将订单信息转发给钱包客户端,以提示用户完成支付。但是该方法无法很
好适配于电子钱包不允许加载外部页面的场景。
[0078] 通过上述方法,使得钱包客户端无需加载外部收款页面,电子钱包无需适配与外部收款页面的交互逻辑,使得电子钱包可以更好地开拓新市场。相较于钱包客户端通过第
三方SDK来适配与外部收款页面的交互逻辑的方法,钱包客户端无需为集成第三方SDK,也
节省了钱包客户端的集成工作量。对于用户而言,相较于通过调用代理服务端来解码订单
标识信息以获取订单信息的方式,本申请中由代理服务端代理整个交互过程,减少了钱包
客户端发起的调用,整个支付过程的速度得到了提升,提升了用户的使用体验;此外,用户
仍然能使用原有的扫码支付方法来完成支付,用户无需为此适配做出改变。
[0079] 接下来,将通过一具体实施例来说明本说明书提供的扫码支付方法。
[0080] 假设泰国的某一电子钱包A想要拓展海外市场(比如日本市场),以使得该钱包客户端的用户去日本旅游也能使用本土的电子钱包,以提升A钱包客户端的用户体验。那么该
电子钱包A需要和日本的多个外部收款码提供方合作,需要适应多个外部收款页面的交互
逻辑,为了减少开发工作量,该电子钱包A选择和代理服务端合作,由代理服务端来代理交
互过程。
[0081] 以A钱包客户端扫描收单机构B提供的收款码为例,如图3所示,整个交互过程具体来说,首先用户扫码,在钱包客户端确定扫描的码为代理服务端可以解析的外部收款码时,
显示钱包客户端自身的外部收款页面(用于输入支付金额的页面),通过外部收款页面接收
到用户输入的支付金额,并将支付金额和外部收款码的信息发送给代理服务端;代理服务
端根据接收到的外部收款码信息,确定该外部收款页面的交互方式以加载外部收款页面,
并根据预先存储的该外部收款页面的页面元素解析结果,自动地在外部收款页面中输入用
户的支付金额并确认,进而获取到收单机构通过外部收款页面返回的订单标识信息,代理
服务端根据外部收款码,从外部收款码提供方获取订单信息,并将获取到的订单信息转发
给钱包客户端,以使得钱包客户端完成支付过程。
[0082] 与前述扫码支付方法的实施例向对应,本说明书还提供了应用于代理服务端和应用于钱包客户端的扫码支付方法。
[0083] 如图4所示,本说明书还提供一种扫码支付方法,利用代理服务端实现钱包客户端与收单机构之间的交互,所述代理服务端执行以下步骤:
[0084] 步骤401,获得钱包客户端发送的外部收款码信息及支付金额信息;钱包客户端被预先配置为:扫描获得收单机构提供的外部收款码后,显示用于输入支付金额的交互接口,
并通过所述交互接口接收用户输入的支付金额。
[0085] 步骤403,对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面。
[0086] 步骤405,根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向收单机构发送支付请求。
[0087] 步骤407,获得收单机构响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认消息提示用户完成支付。
[0088] 如图5所示,本说明书还提供一种扫码支付方法,利用代理服务端实现钱包客户端与收单机构之间的交互,钱包客户端执行以下步骤:
[0089] 步骤501,扫描获得收单机构提供的外部收款码,显示用于输入支付金额的交互接口。
[0090] 步骤503,接收用户在所述交互接口输入的支付金额。
[0091] 步骤505,将所述外部收款码的信息及所述支付金额的信息发送给所述代理服务端,以使代理服务端加载所述外部收款码对应的外部收款页面,并模拟用户进行支付金额
输入操作及确认操作。
[0092] 步骤507,获得代理服务端转发的支付确认消息,所述支付确认消息为收单机构响应于所述支付请求所发送的消息,并根据所述支付确认消息提示用户完成支付。
[0093] 此外,本说明书实施例还提供一种扫码支付系统,利用代理服务端实现钱包客户端与收单机构之间的交互,所述系统包括钱包客户端和所述代理服务端;
[0094] 钱包客户端,执行:扫描获得收单机构提供的外部收款码,显示用于输入支付金额的交互接口;接收用户在所述交互接口输入的支付金额;将所述外部收款码的信息及所述
支付金额的信息发送给所述代理服务端。
[0095] 代理服务端,执行:代理服务端对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面;根据所接收到的支付金额信息,在所加载的
外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向收单机构发送支付请
求;获得收单机构响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱
包客户端,以使得钱包客户端根据所述支付确认消息提示用户完成支付。
[0096] 上述方法和系统中各个步骤的作用的实现过程具体详见上述扫码支付方法中对应步骤的实现过程,在此不再赘述。
[0097] 与前述扫码支付方法的实施例相对应,本说明书还提供扫码支付装置及其所应用的电子设备的实施例。
[0098] 如图6所示,图6是本说明书根据一示例性实施例示出的一种扫码支付装置的框图,所述装置包括:
[0099] 信息获得模块610,用于获得钱包客户端发送的外部收款码信息及支付金额信息;钱包客户端被预先配置为:扫描获得收单机构提供的外部收款码后,显示用于输入支付金
额的交互接口,并通过所述交互接口接收用户输入的支付金额.
[0100] 页面加载模块620,用于对接收到的外部收款码信息进行解析,根据解析结果加载所述外部收款码对应的外部收款页面。
[0101] 输入模块630,用于根据所接收到的支付金额信息,在所加载的外部收款页面中,模拟用户进行支付金额输入操作及确认操作,以向收单机构发送支付请求。
[0102] 支付消息转发模块640,用于获得收单机构响应于所述支付请求的支付确认消息,并将所述支付确认消息转发至钱包客户端,以使得钱包客户端根据所述支付确认消息提示
用户完成支付。
[0103] 如图7所示,图7是本说明书根据一示例性实施例示出的一种扫码支付装置的框图,所述装置包括:
[0104] 交互接口显示模块710,用于扫描获得外部收款码,显示用于输入支付金额的交互接口。
[0105] 支付金额接收模块720,用于接收用户在所述交互接口输入的支付金额。
[0106] 信息发送模块730,用于将所述外部收款码的信息及所述支付金额的信息发送给所述代理服务端,以使代理服务端加载所述外部收款码对应的外部收款页面,并模拟用户
进行支付金额输入操作及确认操作。
[0107] 支付确认消息获得模块740,用于获得代理服务端转发的支付确认消息,所述支付确认消息为收单机构响应于所述支付请求所发送的消息,并根据所述支付确认消息提示用
户完成支付。
[0108] 上述任一扫码支付装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0109] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件
说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以
不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的
需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不
付出创造性劳动的情况下,即可以理解并实施。
[0110] 如图8所示,图8示出了实施例扫码支付装置所在电子设备的一种硬件结构图,该扫码支付装置可以是上述的任一扫码支付装置,对应的该设备上可以安装钱包客户端或者
安装代理服务端。该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接
口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通
过总线1050实现彼此之间在设备内部的通信连接。
[0111] 处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个
或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方
案。
[0112] 存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储
操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案
时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
[0113] 输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中
输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、
扬声器、振动器、指示灯等。
[0114] 通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式
(例如移动网络、WIFI、蓝牙等)实现通信。
[0115] 总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
[0116] 需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运
行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实
现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0117] 本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本说明书实施例第二方面或第三方面所述的扫码支付方法。换言
之,该计算机可读存储介质上可以存储代理服务端对应的计算机程序,也可以存储钱包客
户端对应的计算机程序。
[0118] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动
态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除
可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、
数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备
或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算
机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0119] 上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来
执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺
序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可
以的或者可能是有利的。
[0120] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包
括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要
素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要
素的过程、方法、商品或者设备中还存在另外的相同要素。