微信支付开发总结

2019-04-15   4 分钟阅读

总结了微信支付的支付产品的定义、应用场景及注意事项(如何调起支付及可能出现的问题),并对支付方式进行了对比。

付款码支付

定义: 用户打开微信钱包-付款码的界面,商户扫码后提交完成支付。
应用场景: 线下面对面收银。
注意事项: 商户获取到收款码,调用【付款码支付】接口发起支付,微信会同步返回支付结果,如果不为成功状态,商户需要轮询调用【查询订单】接口。基于一定的风控策略,存在随时需要验密的可能性。

Native支付

定义: 用户打开”微信扫一扫“,扫描商户的二维码后完成支付,也叫扫码支付。
应用场景: PC网站支付、实体店单品或订单支付、媒体广告支付。
注意事项: 用户打开的是微信收银台。调用【统一下单】接口,将返回的链接生成二维码,用户扫码后输入密码完成支付。

JSAPI支付

定义: 用户通过微信扫码、关注公众号等方式进入商家H5页面,并在微信内调用JSSDK完成支付。
应用场景: 商家公众号配置的页面、分享的商家页面或者商家页面生成的二维码,用户扫描打开的页面发起支付。
注意事项: WeixinJSBridge内置对象里的方法发起支付,只在微信浏览器内有效,支付成功后前端有回调,可以在这跳转到商家的完成页。

APP支付

定义: APP支付又称移动端支付,在商户APP中集成微信SDK,用户点击后跳转到微信内完成支付。
应用场景: 商户开发的APP应用。
注意事项: 开发者需要下载微信支付sdk。

H5支付

定义: 用户在微信以外的手机浏览器请求微信支付的场景唤起微信支付。
应用场景: 微信浏览器以外的H5页面发起的支付。
注意事项: 用户去点击按钮触发查单操作。调用【统一下单】接口,成功会返回支付跳转链接,自动拉起微信支付收银台的中间页面。

小程序支付

定义: 小程序支付是专门被定义使用在小程序中的支付产品。
应用场景: 只能在小程序中使用。
注意事项: 目前在小程序中能且只能使用小程序支付的方式来唤起微信支付。使用小程序接口【wx.requestPayment】调起支付。

刷脸支付

定义: 无需掏出手机,刷脸完成支付。
应用场景: 适用线下多种场景。
注意事项: 微信支付提供两种开放模式供设备接入集成:1. SDK开放模式(微信提供SDK,需要自行开发完整APP),2. 青蛙开放模式(微信提供完整APP,类似扫码枪功能,无需开发, 需要配合收银机使用)。刷脸得到用户的付款码,走的是【付款码支付】的流程,本质上没有多大区别。

微信支付方式对比

  1. APP支付由app内sdk调起,不做对比。
  2. 刷脸支付和付款码支付基本一致。
付款码支付 Native支付 H5支付 JSAPI支付 小程序支付
统一下单 单独的支付接口 调用统一下单接口
下单是否需要openid 不需要,支付成功后返回openid 需要先获取到openid,再下单
调起方式 自动扣款 微信收银台 浏览器跳转到微信收银台 WeixinJSBridge对象方法 小程序接口
调起支付页面协议 HTTPS HTTPS HTTPS HTTP或HTTPS HTTPS
支付目录 无 有 有 有 无
授权域名 无 无 无 有 无
回调函数 主动查询 主动查询 无,用户确认 有 complete、fail、success回调函数

参考资料:微信支付开发文档

标签:

更新时间:

留下评论

科学上网后可评论