一种微信支付方法和系统与流程

文档序号:12125235阅读:692来源:国知局
一种微信支付方法和系统与流程

本发明涉及通信技术领域,尤其涉及一种微信支付方法和系统。



背景技术:

随着计算机软件技术的发展,用户可以通过移动终端使用支付功能。微信支付是集成在微信客户端的支付功能,用户可以通过手机完成快速的支付流程。微信支付以绑定银行卡的快捷支付为基础,向用户提供安全、快捷、高效的支付服务。

微信支付提供不同场景的支付模式,其中扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景。微信也提供了相关接口供企业自行开发调用,完成企业信息系统与微信支付的打通。

在现有技术中,主要通过以下方法在企业信息系统中集成微信支付:

企业信息系统中提供调用微信支付所需的公众号配置信息、订单参数、加密签名、二维码生成,返回数据解析,自行完成接口调用和数据处理。这种方式需要开发人员针对各平台企业信息系统单独实现程序完成接口调用,而且需要对每个系统单独进行配置部署调试,繁琐而且效率较低。



技术实现要素:

本发明的实施例提供了一种微信支付方法和系统,其具体方案如下:

根据本发明的上述方法,生成用于买家支付的二维码,其中,所述二维码由微信服务器接收的根据卖家预先注册微信支付配置信息生成的预支付请求后推送至由卖家身份信息生成的支付界面的;

或,所述二维码由买家确认订单后直接向买家推送的根据微信支付规则链接生成的;

接收买家扫描读取二维码,返回支付结果;其中,当所述二维码由微信服务器接收的根据卖家预先注册微信支付配置信息生成的预支付请求后推送至由卖家身份信息生成的支付界面的时,则待所述二维码被读取后,接收由微信服务器返回的表示支付结果的回调url;

或,当所述二维码由买家确认订单后直接向买家推送的根据微信支付规则链接生成的时,则待所述二维码被读取后,接收微信服务器的回调请求,所述回调请求用于向商家微信购物平台中配置的回调URL中加入买家所购商品的标识;

根据所述商品标识生成预支付标识发送至微信服务器;

接收微信服务器根据所述预支付标识发起的授权,待买家支付后返回支付结果。

根据本发明的上述方法,所述根据卖家预先注册微信支付配置信息生成的预支付请求,包括:

确定卖家身份合法之后,根据卖家身份信息匹配对应的商家购物系统注册的微信支付配置信息,根据所述微信支付配置信息向微信服务器发送所述预支付请求。

根据本发明的上述方法,在确定卖家身份合法之前包括:通过jwt验证接口来获取商家身份信息。

根据本发明的上述方法,通过jwt验证接口的验证链接跳转到目标页面时,校验所述预支付请求中是否有代表商家身份信息的cookie,如果没有,重定向到jwt验证链接,获取商家身份信息后,生成代表商家身份信息的cookie。

根据本发明的上述方法,所述由卖家身份信息生成的支付界面,包括:

根据所述代表商家身份信息的cookie生成的支付界面。

根据本发明的另一方面,还提供一种微信支付系统,包括:

生成模块:其用于生成用于买家支付的二维码,其中,所述二维码由微信服务器接收的根据卖家预先注册微信支付配置信息生成的预支付请求后推送至由卖家身份信息生成的支付界面的;

或,所述二维码由买家确认订单后直接向买家推送的根据微信支付规则链接生成的;

返回模块:其用于接收买家扫描读取二维码,返回支付结果;其中,当所述二维码由微信服务器接收的根据卖家预先注册微信支付配置信息生成的预支付请求后推送至由卖家身份信息生成的支付界面的时,待所述二维码被读取后,接收由微信服务器返回的表示支付结果的回调url;

或,当所述二维码由买家确认订单后直接向买家推送的根据微信支付规则链接生成的时,待所述二维码被读取后,接收微信服务器的回调请求,所述回调请求用于向商家微信购物平台中配置的回调URL中加入买家所购商品的标识;

根据所述商品标识生成预支付标识发送至微信服务器;

接收微信服务器根据所述预支付标识发起的授权,待买家支付后返回支付结果。

根据本发明的另一方面,所述生成模块具体用于:

确定卖家身份合法之后,根据卖家身份信息匹配对应的商家购物系统注册的微信支付配置信息,根据所述微信支付配置信息向微信服务器发送所述预支付请求。

根据本发明的另一方面,所述生成模块具体用于在确定卖家身份合法之前通过jwt验证接口来获取商家身份信息。

根据本发明的另一方面,所述生成模块具体用于:

通过jwt验证接口的验证链接跳转到目标页面时,校验所述预支付请求中是否有代表商家身份信息的cookie,如果没有,重定向到jwt验证链接,获取商家身份信息后,生成代表商家身份信息的cookie。

根据本发明的另一方面,所述生成模块具体用于:根据所述代表商家身份信息的cookie生成的支付界面。由上述本发明的实施例提供的技术方案可以看出,本发明实施例当所述二维码由微信服务器接收的根据卖家预先注册微信支付配置信息生成的预支付请求后推送至由卖家身份信息生成的支付界面的时,待所述二维码被读取后,接收由微信服务器返回的表示支付结果的回调url;或,当所述二维码由买家确认订单后直接向买家推送的根据微信支付规则链接生成的时,待所述二维码被读取后,接收微信服务器的回调请求,所述回调请求用于向商家微信购物平台中配置的回调URL中加入买家所购商品的标识;根据所述商品标识生成预支付标识发送至微信服务器;接收微信服务器根据所述预支付标识发起的授权,待买家支付后返回支付结果。本发明使商家购物系统只需要能访问外网即可,无需拥有单独的域名;商家购物系统调用微信支付接口,只需要传入订单描述和金额即可,无需关注其他细节。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一提供的一种微信支付方法的处理流程图;

图2为本发明实施例二提供的一种微信支付方法的处理流程图;

图3为本发明实施例三提供的一种微信支付系统的系统模块图。

具体实施方式

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

实施例一

在本实施例中,需要预先配置微信支付所需的appid,appsecret,partnerid,partnerkey;预先配置用于提交支付参数调用统一支付接口;

该实施例提供了一种微信支付的的方法的处理流程如图1所示,其处理步骤如下:

步骤11、生成用于买家支付的二维码,其中,所述二维码由微信服务器接收的根据卖家预先注册微信支付配置信息生成的预支付请求后推送至由卖家身份信息生成的支付界面的;

首先,由买家在商家购物系统中填写订单,确认订单后发起支付请求到部署在外网的商家购物系统的服务器,服务器解析请求参数,确定卖家身份是否合法,如果是则进入下一步骤,否则返回invalid error。

具体地,由商家购物系统的服务器通过jwt验证接口来获取商家身份信息。

通过jwt验证接口的验证链接跳转到目标页面时,校验所述预支付请求中是否有代表商家身份信息的cookie,如果没有,重定向到jwt验证链接,获取商家身份信息后,生成代表商家身份信息的cookie;

进一步地,再根据所述代表商家身份信息的cookie生成的支付界面。

所述根据卖家预先注册微信支付配置信息生成的预支付请求,包括:

确定卖家身份合法之后,根据卖家身份信息匹配对应的商家购物系统注册的微信支付配置信息,根据所述微信支付配置信息向微信服务器发送所述预支付请求。

具体地,本实施例中商家购物系统的服务器通过ToPayServlet组织预支付XML参数,其中包含公众账号ID、商户号、随机字符串、签名等属性,调用统一下单接口https://api.mch.weixin.qq.com/pay/unifiedorder,生成预支付交易单,返回正确的预支付交易回话标识。

步骤12、接收买家扫描读取二维码,返回支付结果;其中,待所述二维码被读取后,接收由微信服务器返回的表示支付结果的回调url;

商家购物系统的服务器接收统一下单接口返回的预支付二维码,例如:weixin://wxpay/s/An4baqw,通过netty传送给商家购物系统,商家购物系统展示在上述根据代表商家身份信息的cookie生成的支付界面供用户扫描。

接收微信服务器发送的用户支付返回信息并传送到商家购物系统。

用户通过手机终端扫描二维码,输入支付密码进行支付。微信服务器将支付信息通过回调url返回给商家购物系统服务器,商家购物系统服务器通过netty传送给商家购物系统,使商家购物系统完成数据库与界面更新。

实施例二

该实施例提供了一种微信支付的的方法的处理流程如图2所示,其处理步骤如下:

步骤21、生成用于买家支付的二维码,其中,所述二维码由买家确认订单后直接向买家推送的根据微信支付规则链接生成的;本实施例中,首先,用户在企业信息系统填写完订单,企业信息系统直接生成二维码链接,链接中带固定参数productid(可定义为产品标识或订单号)。例如:weixin://wxpay/bizpayurl?appid=wx2421b1c4370ec43b&mch_id=10000100&nonce_str=f6808210402125e30663234f94c87a8c&product_id=1&time_stamp=1415949957&sign=512F68131DD251DA4A45DA79CC7EFE9D

步骤22、接收买家扫描读取二维码,返回支付结果;其中,待所述二维码被读取后,接收微信服务器的回调请求,所述回调请求用于向商家微信购物平台中配置的回调URL中加入买家所购商品的标识;

具体地,用户扫一扫,系统收到微信服务器的回调请求;

用户扫一扫后,微信服务器会进行回调,往商家微信购物平台配置的回调url中加入所购商品的标识productid;

根据所述商品标识生成预支付标识发送至微信服务器;

具体地,商家微信购物平台通过netty传输所购商品的标识productid到商家微信购物平台中查询订单信息,根据订单信息调用统一下单API,并生成预支付标识prepay_id,系统将预支付标识prepay_id返回给微信服务器;

接收微信服务器根据所述预支付标识发起的授权,待买家支付后返回支付结果。

具体地,用户手机微信客户端收到微信服务器发起的授权,输入支付密码,确认支付后,提交支付授权,微信支付系统完成扣款,将结果返回给微信客户端。

系统收到微信支付系统发送的异步支付结果通知;

系统NotifyServlet收到支付结果通知,将结果通过netty传送到企业信息完成数据写入,并返回XML给微信服务器,例如:

实施例三

该实施例提供了一种支付系统微信,其具体实现结构如图3所示,具体可以包括如下的模块:

生成模块31:其用于生成用于买家支付的二维码,其中,所述二维码由微信服务器接收的根据卖家预先注册微信支付配置信息生成的预支付请求后推送至由卖家身份信息生成的支付界面的;

或,所述二维码由买家确认订单后直接向买家推送的根据微信支付规则链接生成的;

返回模块32:其用于接收买家扫描读取二维码,返回支付结果;其中,当所述二维码由微信服务器接收的根据卖家预先注册微信支付配置信息生成的预支付请求后推送至由卖家身份信息生成的支付界面的时,待所述二维码被读取后,接收由微信服务器返回的表示支付结果的回调url;

或,当所述二维码由买家确认订单后直接向买家推送的根据微信支付规则链接生成的时,待所述二维码被读取后,接收微信服务器的回调请求,所述回调请求用于向商家微信购物平台中配置的回调URL中加入买家所购商品的标识;

根据所述商品标识生成预支付标识发送至微信服务器;

接收微信服务器根据所述预支付标识发起的授权,待买家支付后返回支付结果。

所述生成模块31具体用于:

确定卖家身份合法之后,根据卖家身份信息匹配对应的商家购物系统注册的微信支付配置信息,根据所述微信支付配置信息向微信服务器发送所述预支付请求。

所述生成模块31具体用于在确定卖家身份合法之前通过jwt验证接口来获取商家身份信息。

所述生成模块31具体用于:

通过jwt验证接口的验证链接跳转到目标页面时,校验所述预支付请求中是否有代表商家身份信息的cookie,如果没有,重定向到jwt验证链接,获取商家身份信息后,生成代表商家身份信息的cookie。

所述生成模块31具体用于:

根据所述代表商家身份信息的cookie生成的支付界面。

用本发明实施例的系统进行支付微信的具体过程与前述方法实施例类似,此处不再赘述。

综上所述,本发明实施例通过本发明实施例生成用于买家支付的二维码,其中,所述二维码由微信服务器接收的根据卖家预先注册微信支付配置信息生成的预支付请求后推送至由卖家身份信息生成的支付界面的;或,所述二维码由买家确认订单后直接向买家推送的根据微信支付规则链接生成的;接收买家扫描读取二维码,返回支付结果;其中,待所述二维码被读取后,接收由微信服务器返回的表示支付结果的回调url;或,待所述二维码被读取后,接收微信服务器的回调请求,所述回调请求用于向商家微信购物平台中配置的回调URL中加入买家所购商品的标识;根据所述商品标识生成预支付标识发送至微信服务器;接收微信服务器根据所述预支付标识发起的授权,待买家支付后返回支付结果。本发明使商家购物系统只需要能访问外网即可,无需拥有单独的域名;商家购物系统调用微信支付接口,只需要传入订单描述和金额即可,无需关注其他细节。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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