微信H5端订单生成及支付通知---Java后端

由于微信支付需要正式公众号及开通微信支付,所以这里不使用实际环境,只说明流程及具体的一些操作。

1、 微信官方给出的开发流程:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4微信内网页支付时序图

简化流程:前台点击购买——>调用后台接口生成预支付订单信息——>把预支付订单信息返回前端,由前端调用微信支付——>付款成功后,后端通知接口保存订单信息——>前端调用查单接口,确保订单真实(由于微信官方给出的说法是:用户支付成功后返回ok,但并不保证它绝对可靠,所以需要查单操作)

具体流程:

1、 生成预支付订单信息。

项目引入微信工具包

微信H5端订单生成及支付通知---Java后端_第1张图片

微信H5端订单生成及支付通知---Java后端_第2张图片

备注:outTradeNo这个自己生成即可,32位以内,保证不会重复即可。我使用的是yyyyMMddHHmmss+8位MD5加密UUID,保证不会重复而且还能一眼明了订单生成时间。

生成预支付订单返回结果是:

很大原因是设置的key的问题,重新设置下key就行(本来这种32位的key都是复制粘贴的,但是还是不对。然后就网上搜索了一下,看到好多这个问题的,基本都是重新设置key就行了。)

2、根据预支付订单信息,前端调用微信支付接口

微信H5端订单生成及支付通知---Java后端_第3张图片

微信H5端订单生成及支付通知---Java后端_第4张图片

3、Java后端支付订单结果通知接口:

微信H5端订单生成及支付通知---Java后端_第5张图片

微信H5端订单生成及支付通知---Java后端_第6张图片

4、 查单

前台支付结果返回值是:get_brand_wcpay_request:ok的时候,去调用查单结果。其他结果都是失败。

查单接口:

微信H5端订单生成及支付通知---Java后端_第7张图片

查单接口返回成功的话,调用公众号模板信息推动购买成功信息即可。

 

 

 

demo下载

 

你可能感兴趣的:(微信支付,java)