微信小程序支付API

微信小程序支付API,第1张

2019年12月26日

文档:

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7

一.一般要开发的两个接口

1.统一下单

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1

2.申请退款

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_4

3.签名规则

https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3

二.小程序支付时序图

关键就是wx.requestPayment(object)

2.ps商户系统和微信支付系统主要交互:

1、小程序内调用登录接口,获取到用户的openid,api参见公共api【 小程序登录API 】

2、商户server调用支付统一下单,api参见公共api【 统一下单API 】

3、商户server调用再次签名,api参见公共api【 再次签名 】

4、商户server接收支付通知,api参见公共api【 支付结果通知API 】

5、商户server查询支付结果,api参见公共api【 查询订单API 】

三.微信小程序支付实现步骤

1.获取登录凭证code 并传给后端服务器

2.后端服务器请求微信服务器获取openid和session_key,并将openid返回给小程序

3.小程序客服端发起支付请求给后端服务器 (带上openid参数)

4.后端服务器接收到openId后,调用微信支付统一下单接口(后端调用的,用来给小程序获取支付参数)

5.拿到后端服务器返回的5个参数后,调用最终支付接口wx.requestPayment

6.微信服务器进行支付成功后,通知后端服务器。

第65篇

极客时间《9小时搞定微信小程序开发》第五课:原生API。

小程序API最后一部分,课程中没有详细去讲,因为当时开放的API还没有现在这么多,而且这部分API偏于后台控制,大多是后期逐步新增的。

wx.getUpdateManager 获取 全局唯一 的版本更新管理器,用于管理小程序更新

UpdateManager对象用来管理更新,有强制小程序重启并使用新版本、监听小程序版本更新事件等方法。

一些异步处理的任务,可以放置于 Worker 中运行,待运行结束后,再把结果返回到小程序主线程。Worker 运行于一个单独的全局上下文与线程中,不能直接调用主线程的方法。

Worker 最大并发数量限制为 1 个,创建下一个前需要结束当前 Worker;Worker 与主线程之间的数据传输,双方使用 Worker.postMessage()来发送数据,Worker.onMessage()来接收数据,传输的数据并不是直接共享,而是被复制的。

wx.reportMonitor,自定义业务数据监控上报接口,最多可以创建128个监控事件

监听或取消监听小程序切换前后台、错误事件

wx.canIUse:判断小程序的API,回调,参数,组件等是否在当前版本可用

绘图相关的API,主要是对CanvasContent对象的使用,实现各种颜色、线条、内容填充的控制

可以用以下几种方式来表示 canvas 中使用的颜色:

RGB 颜色: 如 'rgb(255, 0, 0)'

RGBA 颜色:如 'rgba(255, 0, 0, 0.3)'

16 进制颜色: 如 '#FF0000'

预定义的颜色: 如 'red'

其中预定义颜色有148个: 自定义颜色

调试开关和日志管理器的API,console可以向调试面板打印debug\error\info\log\warn共5类日志,logmanager最多保存5M的日志内容,超过5M后,旧的日志内容会被删除。

获取第三方平台的自定义的数据字段。小程序运营者可以一键授权给第三方平台,通过第三方平台完成业务。

第三方平台有单独的说明,参见: 第三方平台

创建 map 上下文 MapContext 对象,MapContext实现以下功能

对小程序框架中的路由控制进行扩充,实现关闭页面后返回或跳转到其他页面的 *** 作。

对小程序转发功能的控制,就是小程序右上角关闭按钮旁边3个小白点里的『转发』。

获取系统信息,主要包括以下信息:

设定或取消定时器,按照指定周期或在定时到期之后执行注册的回调函数

IntersectionObserver 对象,用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见

SelectorQuery,查询节点信息的对象

小程序开发框架提供的API变得越来越多,通过这些微信原生的API,可以快速方便的调用微信的能力,比如文件的控制、图片视频的控制、数据的缓存、微信支付等,从而实现更加复杂多样的业务。

从下图API的目录我们能看到,小程序的技术支持分为了网络、媒体、文件、数据缓存、位置、设备、界面、开放接口8个部分。下面,我们就来一个部分一个部分的看看。

1.网络功能

网络这一部分支持手机文件的上传下载,除此之外,值得注意的是支持WebSocket,这意味着可以通过小程序实现手机和服务器双向的通信, 这样小程序内容的变化就可以主动的推送给用户。例如用户的文章得到了评论,用户不用刷新页面,评论就会自动出现在页面上。另外,还可以利用这个技术做一个聊天室,可以是一对一的,就好像qq,或者多对多的,就好像qq群。

2.媒体

通过媒体的支持,我们可以实现3部分功能:1. 手机从本地相册上传图片,预览图片和处理相关图片信息;2. 实现录音的录制、上传、播放;3. 实现播放背景音乐、控制背景音乐。需要特别说明的是音频录制跟微信公众号一样,只能录制60秒,超过60秒会自动停止。不过微信公众号的录音api应该有bug,在苹果系统下,微信录音达到45秒会出现错误,音频播放乱音。不知道小程序是否有这个问题。不过,为了避免掉到坑里,还是考虑使用七牛。

3.文件

这个我就不截屏了,比较简单,支持手机存储内的文件上传下载用的,可以浏览手机存储目录,文件信息。

4.数据缓存

数据缓存很好的实现了浏览器本地缓存的功能,这意味了开发者们可以自己管理客户端的缓存了,这帮助为我们的终端用户节省流量。

5.位置

位置功能可以帮助小程序实现获取用户位置、地图定位的功能。导航?那应该是地图app的事情了。

6.设备

设备这个有点说头了。总共分为6个部分。首先可以获取手机的系统信息,可包括了手机的型号,像素密度,屏幕大小,以及 *** 作系统、客户端信息,这帮助小程序页面布局、功能细节更好的适配种类繁多的手机。第二个是获取用户手机网络状态:2g、3g、4g、wifi,你可以提醒用户wifi下再观看节省流量哦~ 重力感应和罗盘可以实现涉及运动类和互动游戏类功能,比如微信运动、摇一摇。拨打电话可以嵌入到客服电话或者类似滴滴联系司机的场景里面。最后还有微信扫码接口调用相机实现线下二维码的扫描。

7.界面

这一部分,实现了基本的d出框效果、导航效果,除此之外,特别要说明的,是微信实现了html5画布的功能,这意味着可以在小程序中实现一些简单的小游戏和卡通场景绘制。不过目前来看只支持2D界面的绘制,暂时还不支持3D。

8.开放接口

开放接口功能分类也比较多。首先为小程序提供了登录和会话管理的功能,这样登录功能的开发就可以事半功倍了。第二,获取用户的微信账户信息,当然能获得哪些信息,都是在微信允许的范围内,例如openid,昵称、头像。好多朋友都问:能不能获取到用户电话和微信号?怎么可能?!想都不要想。第三是支持微信支付。第四,模板消息。这类消息其实早在微信认证服务号里面就有,请注意是认证过的,服务号(不是订阅号)。有好多朋友不明白这种消息是干嘛的。可以主动发送给用户,没有频次限制,厉害吧?!但是内容由模板格式限制,不能发送营销内容,是不是失望了,哈哈。干什么用的呢?想象你的银行微信公众号给你发的消费通知。对,就是模板消息。第五,客服消息,支持微信客户接口,很强大。最后支持分享到微信好友和朋友圈功能,支持获取微信小程序的二维码。

当然,如果看了这些你还是不太懂,可以参考 云竹小程序,相信能够解决你的问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7876874.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存