快速开发微信小程序之二-微信支付
一、背景
在面试程序员的时候,有两项经历会带来比较大的加分,第一你是否做过支付金融相关的业务,第二你是否写过底层框架中间件代码,今天我们聊一下微信支付是如何对接的。
二、相关概念
1、微信商户平台
要使用微信支付,第一步就是要先入驻微信商户平台,准备好你的企业营业执照、法人身份证等完成入驻,平台就会给你生成 MCH_ID(商户ID)、MCH_KEY(商户密钥)、然后申请开通支付产品类型、操作证书、绑定银行卡等等。
2、接入模式
直连模式:商家自行开发系统对接微信支付进行交易,微信支付将资金结算到商户的结算账户.
服务商模式:商家没有自己系统,而是由微信支付官方注册入驻的系统开发商提供协助完成入驻,好像有赞就干了这个事。
3、支付产品类型
JSAPI网页支付:即公众号支付,在公众号网页点支付唤起支付控件。
小程序支付:小程序对接微信支付API 实现用户在小程序内完成交易场景。
另外还有线下付款码支付、扫码支付,这个就是付款的时候常问的话,你扫我还是我扫你?
另外还有AppSDK支付、H5支付等。
三、相关接口
1、统一下单:微信的各种支付产品类型(除付款码)都需要先调用统一下单接口,在微信后台生成预支付交易单,然后按各种不同的支付场景唤起对应的各支付控件。
请求参数:APPID\MCH_ID\随机串、订单编码、商品相关信息、价格、支付成功回调地址等。
返回值:预支付交易会话ID
两次签名概念
第一次签名:调用统一下单接口的签名
第二次签名:对预支付交易会话ID+APPID+随机串签名然后返回给小程序端,小程序端拿到这个签名串调接口唤起支付窗口。
2、wx.requestPayment:小程序端调用requestPayment唤起支付窗口,输入支付密码支付成功,微信服务端就会回调你在预支付时传过去的回调地址。
请求参数:预支付二次签名生成的串。
3、支付回调通知接口
回调时做一下解签,返回商户订单号,微信平台生成的支付单号(便于对账)、实际用户支付金额、支付时间等。
4、申请退款接口
原路退还、超过一年无法退款,可以部分退款,退款接口调用时需要加载操作证书进行双向认证。PS:我们没有给用户提供该接口,而是做在管理系统里,当客户需要退款时打热线电话找客服退,垂直电商和平台电商做法还是有些区别。
5、查询退款接口
微信退款有延迟,零钱支付20分钟原路返回,如果是银行卡3个工作日,PS:不确定现在是否有调整.
四、微信支付调用时序图
PS:在开发时如果是三方及以上的系统交互最好把时序图画出来,这样便于整体理解,一般开发用的多的就是流程图(产品逻辑)、ER图(数据流)、类图(代码结构)、时序图(代码交互)基本上就差不多了。
快速开发微信小程序之二-微信支付相关推荐
- 微信小程序:二开版优化新紫色UI云开发新款壁纸小程序源码
这是一款由旧版https://airymz.com/3387.html进行优化二开的一个新版本 本壁纸表情包头像小程序采用(dcloud云开发)所以无需服务器与域名 无需服务器.无需域名.云开发直接上 ...
- 【微信小程序】二维码跳转规则的前缀匹配是什么意思?
前言 基础库 2.12.0 开发者工具 1.03.2008270 微信小程序的二维码跳转规则 为了方便小程序开发者更便捷地推广小程序,兼容线下已有的二维码,微信公众平台开放扫描普通链接二维码跳转小程序 ...
- 微信小程序入门二:底部导航tabBar
小程序底部导航栏组件tabBar,可以参考下官方的API:tabBar 先看代码 //app.json {"pages":["pages/index/index" ...
- 微信小程序获取二维码中URL中带的参数
解析微信小程序获取二维码中的url参数 onLoad: function (options) { console.log(options) let qrUrl = decodeURIComponent ...
- 微信小程序开发学习笔记001--认识微信小程序,第一个微信小程序
第一天,认识微信小程序,第一个微信小程序 1.什么是微信小程序? 是h5网页嘛?不是 微信张小龙说: 小程序是一种不需要下载安装即可使用的应用, 它实现了应用"触手可及"的梦想,用 ...
- 微信小程序普通二维码解析
1.区别于微信小程序官方二维码是直接从onLoad的 options 解构出来就行,它是一个对象,这个大家都知道. 2.普通二维码 也是从onLoad的 options 里解构出来,此时options ...
- 微信小程序扫描二维码或者条码
程序是需要扫描条形码然后跳转到对应的产品信息页,其实微信小程序就有一个扫码识别的API,下面一起来看看: wx.scanCode(Object object) 调起客户端扫码界面进行扫码. 示例代码: ...
- 微信小程序项目实例——二维码生成器
微信小程序项目实例--二维码生成器 文章目录 微信小程序项目实例--二维码生成器 一.项目展示 二.项目核心代码 三.效果展示 文末 项目代码见文字底部,点赞关注有惊喜 一.项目展示 项目是一个简单实 ...
- 微信小程序转二维码方法分享
微信小程序转二维码方法分享 需要转码的可以看看 这个东西是看个人需求的,618就要来了,各种活动也将来袭 有些小伙伴不知道怎么生成 为了方便小程序邀请活动没法外发,这里分享下将小程序转二维码的方法 首 ...
最新文章
- Powershell 如何批量获取文件大小的实现代码
- zigbee学习之路(二)点亮LED
- MYSQL GROUP_CONCAT 用法
- UAF学习之Adobe reader CVE-2013-3346
- xp版php,PHP5.3以后的版本如何在XP中安装
- python模仿windows文件管理_python – 在Windows中显示文件的资源管理器属性对话框...
- C++学习路线和参考资料
- Docker:Nginx-Redis-Mysql-PHP 部署
- CSS清除默认样式,看完这篇彻底明白了
- suse 安装php5.4_SUSE LINUX 安装Apache2 + PHP5 (普通安装,不是yum)
- Linux下实现一个网卡绑定多个IP地址
- BZOJ5343[Ctsc2018]混合果汁——主席树+二分答案
- 大数据技术平台主要分为哪几类
- 全局替换字体,开源库更方便!!! 1
- java开发之权限管理详解
- ftp服务器文件查找,ftp服务器中查找文件
- 用友政务U8补丁包下载地址
- 保护水资源公益网站html,保护水资源公益广告词
- 数字逻辑电路(一、基本概述、数制及其转换)
- 【翻译】HCP: A Flexible CNN Framework for Multi-Label Image Classification