微信H5支付过程中遇到的问题总结

微信H5支付过程中遇到的问题

微信H5支付是商家在微信外网页上提供的微信支付功能,用户在浏览器网页上确定微信支付,最终可以从微信外的浏览器网页上唤起微信,实现微信支付。

此处贴一个微信官方的H5开发文档链接:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_1

不得不吐槽的是,官方的开发文档真的是有一点点一言难尽

微信开发文档后端部分是用php实现的,没有java的,但是这点问题倒不大,因为实际上这部分并不难,只是传入必要参数进行api调用而已

这里再贴一个官方给出的体验链接,记得微信外浏览器打开:https://wxpay.wxutil.com/mch/pay/h5.v2.php

再贴一个官方的流程图:
image

大概流程是用户从浏览器端对你的服务器端发起下单请求,你在服务器端做处理,比如保存订单,然后带上必要的参数去调用微信统一支付api;接着如果参数没有问题,微信返回给你一个url,你将这个url传给客户端,客户端拿到后带着上一个页面的一些参数进行链接跳转,这个时候微信端会进行一个多重验证,如果通过,则给你一个结果让你可以唤起本地的微信app并且到一个特定页面(支付页面),让用户端可以进行支付,接下来会跳转到你设定好的一个页面(没有的话则默认回到发起支付页面),并且异步返回给服务器端一个支付结果。这是上面这张图关于H5支付的流程大概的解释。

在这个过程中,大概会有几个坑,从流程上去看,首先第一次与微信服务器端产生交互是在系统向微信服务器端进行统一下单api调用的时候(官方开发文档:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1); 此处统一下单api为:https://api.mch.weixin.qq.com/pay/unifiedorder ;必带参数可以查看上面的开发文档,这里就贴一个官方的实例吧:

<xml>
<appid>wx2421b1c4370ec43b</appid>
<attach>支付测试</attach>
<body>H5支付测试</body>
<mch_id>10000100</mch_id>
<nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
<notify_url>http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php</notify_url>
<openid>oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</openid>
<out_trade_no>1415659990</out_trade_no>
<spbill_create_ip>14.23.150.211</spbill_create_ip>
<total_fee>1</total_fee>
<trade_type>MWEB</trade_type>
<scene_info>{"h5_info"
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值