微信H5支付和NATIVE支付

1,955 阅读3分钟

这里介绍的支付不是传统的后端调用微信api方式,是通过云开发所做的操作。具体的云函数怎么操作,这里不讲具体,只是说下大致的注意事项及两种支付的区别。

H5支付是移动web端运行在非微信内置的浏览器中所发起微信支付的方式。实际的场景就是在手机浏览器发起支付,会调起微信支付中间页,用户通过支付,并返回指定的页面或者默认的原页面,而完成支付的流程。整个操作实际上比较简单的。

NATIVE支付是指用户通过扫描二维码完成支付;常用于PC端扫码支付等;

H5支付:
一、 配置:
1 首先需要明确的是H5支付不是需要在微信开放平台创建网页应用,然后用网页的APPID跟商户号绑定,这个是绑定不了的,移动端APP是这样做的。H5的APPID是公众号或小程序的APPID,当然公众号或小程序是需要跟商户号绑定的。
2 H5域名的绑定:这个域名需要在商户号的产品配置中设置,域名是前端项目需要部署的域名哦!
3 调试:H5确实不太方便调试,因为需要用真机做调试,我的做法是将本地的端口号内透出来,然后在商户后台配置,以及云函数端的跨域处理。
二、 流程: 用户下单 是 调起H5下单支付的api, 获取到mwebUrl这个链接,
Eg: wx.tenpay.com/cgi-bin/mmp… 然后跳转到该链接,即可调起微信支付中间页,用户可进行支付,至于后续的支付结果通知,就不多说了,常做支付的自然都了解。

需要注意的是:
1 如果用户完成支付后,点击支付页的完成,会默认回到原有的支付页面,如果需要返回到指定的页面,需要在mwebUrl拼接redirect_url参数。
Eg: mwebUrl+'&redirect_url='+'指定的url';
2 不能直接copy mwebUrl从浏览器中进入,会提示 商家参数格式有误,请联系商家解决。
3 如果出现“商家存在未配置的参数,请联系商家解决”这个错误,通常是商户后台的域名和调起H5支付的域名不一致导致的。
NATIVE支付: 用户通过调用NATIVE下单api,会获取到code_url,客户端需要将该链接生成二维码,用于让用户扫码支付;
需要注意的是: 1 生成的二维码不能通过长按识别二维码的方式或通过相册识别二维码的方式完成支付。否则会报 “ 支付失败,该商户暂不支持通过长按识别二维码完成支付 ”;这个很重要,可以识别二维码,也能展示支付的信息,但就是支付不了的;
以上就是两种支付的区别及需要注意的事项,这篇文章不是说怎么开发的,只是一个大致的流程和需要注意的事项,其实微信的几大支付方式都相差无几,不同的是不同支付方式的参数不同,至于支付完之后的支付通知或者订单查询等后续动作,都是差不多的,不同之处更多体现在下单参数的差别。当然退款,转账到零钱或者银行卡就另说了。