欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信支付-小程序H5 公众号 Payment SDK

程序员文章站 2022-06-11 16:22:09
前言 今天是2020年一天,去年最后一个月开发了订单和支付系统,尤其在支付系统和微信对接的时候遇到了很多坑,这里给大家总结下,以免大家遇到相同的问题还浪费大量时间 微信支付前期准备 1. 微信商户号,需要 ,`密码 证书`,证书默认密码是商户号 2. 微信app(如 微信小程序 或者 微信公众号) ......

前言

今天是2020年一天,去年最后一个月开发了订单和支付系统,尤其在支付系统和微信对接的时候遇到了很多坑,这里给大家总结下,以免大家遇到相同的问题还浪费大量时间

微信支付前期准备

  1. 微信商户号,需要商户号,密码 ,退款时需要证书,证书默认密码是商户号
  2. 微信app(如 微信小程序 或者 微信公众号) 的appid和appsecret
  3. 需要在商户中关联微信小程序和微信公众号,然后运营者确认。
    至此微信支付前期工作完成

    payment

    封装了微信 支付宝 银联等很多支付的sdk
    git地址 https://github.com/essensoft/payment

    微信小程序使用h5嵌入完成微信支付

    由于小程序发版审核周期长,我司采用h5嵌入的方式(webview)
    实现很简单,利用jssdk 从h5跳转到小程序页面,唤起支付,支付完成后,再跳转回h5

1.获取accesstoken
2.拿着accesstoken获取票据(tickt)

都是两小时有效,建议注入单例对象,每次get的时,拦截器中判断过期时间即可

3.jssdk引入h5 需要先初始化 也就是wx.config 需要初始化成功才能使用他提供的功能

一直报签名无效 这个问题耗费了我四天,整整四天啊。配合网上提供的那些解决方法,我这边的问题是没有对wx.config 中的url 先进行encode 在后台接口再进行decode ,在开发过程中无需到微信后台配置任何https什么的。

4.然后h5调用后台接口进行预支付,成功后,wx.miniprogram.navigateto({ url: path });到原生小程序 发起wx.requestpayment

至此即可完成支付

微信公众号

待更新