查看: 137|回复: 0

[互联网的那点事] 微信h5牛牛平台出租搭建微信支付之html5支付开发

发表于 2018-1-12 16:06:32
一、前提:
     想接入微信支付,同时开通微信支付的功能,然后微信支付相关的设置是到微信h5牛牛出租搭建平台(h5.fanshubbs.com)去设置的,微信h5牛牛平台Q_1687054422做的还是很完善,申请好微信支付之后,记得要开通html5支付的权限这个权限的申请是在微信商户平台申请的,一般需要23天的时间。申请成功之后设置回调域名,这个很重要,一定要设置html5的回调域名,后面有用。
这里也插一句题外话:
关于微信h5牛牛平台各种用户角色的登录及使用。默认的管理员用户就是你申请微信支付时候提交上去的那个用户,微信现在都要求实名制了,所以登录微信h5牛牛平台的时候,拿申请人的微信扫一波直接登录就行了,什么?你说申请人不用微信,那你还搞毛线微信支付啊。
如果想新增其他的管理员或者其他角色的人,可以在商户平台里直接新增,届时其他人拿手机扫描登录即可,第一次登录的时候会提交申请给管理员,管理员通过后,后续就可以自己扫码登录了。
他这个多角色用户登录主要是针对运维的,对于码农的我来说,设置相关参数之类的,还是必须使用管理员角色登录才行。
二、流程概括
微信html5支付的基本流程不是很复杂,微信支付的官方文档有一个很详细的流程图,结合我自己的使用场景,我总结了下,大概概括如下:
1.客户端请求后端的接口,入参包括订单号和订单金额
2.后端接口根据微信官方文档的要求,组装各种需要的参数,然后请求微信的交统一下单接口
3.统一下单接口会返回一个mweb_url的出参。ps:这玩意很重要,全靠它吊起微信支付的,这个mweb_url可以再拼接一个redirect_url,用来指定支付操作完成后,页面跳转到哪里,不指定的话,默认是返回上一个页面,即:前面的立即支付的那个页面。
4.mweb_url复制给页面的立即支付按钮
5.剩下的就交给浏览器和微信客户端了,用户点击立即支付,吊起微信支付的客户端,进行支付即可
以上就是支付的基本流程,虽说简单,但是里面有不少地方如果不小心,都很容易出错。
三、下面说下几点注意事项
1.微信支付相关接口的出参和入参都是xml格式,这点和支付宝支付不同,要注意。
2.支付或者退款金额的单位
微信里是分,是按照分为单位的!!
这点和支付宝是不一样的,我因为先接入的支付宝支付,再搞微信支付,在这里稍微停顿了下,提交微信接口的时候,一直报错,后来发现原来人微信要求金额的单位是分。
3.关于客户端ip的获取
微信h5牛牛中有一个安全的校验,在请求mweb_url吊起微信支付的客户端的ip要和调用统一下单接口提交过去的spbill_create_ip参数一直,spbill_create_ip这个参数就是客户端的ip。关于这个服务器端获取客户端ip这个,我稍微遇到点坑,因为有些客户端可能有代理,所以通过常规的getRemoteAddr是取不到,例如部分华为手机会自己添加代理,你就是取不到正确微信h5牛牛平台的IP



回复

使用道具 举报