扫码支付可以线上线下
方式一:
二维码永久有效
由商户生成二维码链接,之后商户自己变成二维码图片,此方式生成的二维码永久有效
是商户后台根据支付规则生成二维码链接
二维码链接里带着固定的产品id
商户后台根据产品id生成支付交易后请求微信支付
方式二
二维码链接由微信支付返回给商户,商户把二维码链接转成二维码图片
商户后台调用微信支付的统一下单api生成预付交易
微信支付返回订单信息和二维码参数
两个小时内有效
生成二维码的规则
商户系统需要根据微信支付的规则生成二维码链接并将链接转换成二维码图片
二维码链接格式:
需要sign,appid,mch_id,product_id,时间戳和一个nonce随机数
如果是使用方法二
使用统一下单api即可获取到一个二维码链接参数code_url
统一下单api
查询订单api
关闭订单api
查询退款
申请退款
下载对账单
支付结果通知
测速上报
转换短链接
https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_1
用户扫描商户展示在各种场景的认为吗进行支付
商户可以根据微信支付的规则生成二维码
用户确认支付后生成支付密码
支付完成商户得到支付成功的通知
公众账号也就是企业号,商户号是微信支付分配的,签名是签名算法算出的商品描述写一下
商品订单号是商户系统内部的订单号,需要32个字符内,只能是数字或大小写字母,并且在同一个商户号下是唯一的
终端的ip地址
通知的地址
交易的类型
个人的小程序也是不包含支付的,需要营业执照才可以使用支付功能
个人小程序不一定通过审核
auth.getPaidUnionId
用户付款后可以获取用户的unionID
调用前需要用户完成支付并且只有支付后的五分钟内有效
需要输入云token,支付用户的openid
一种是微信支付订单号,一种是微信商户支付订单号
微信支付订单号只需要传入锦衣id和支付用户的openid以及token即可
云调用是微信后台提供的微信服务器SDK里的能力
auth.getAccessToken
获取到的是小程序唯一的后台调用凭据
这个一般两个小时过期
获取他需要写客户端的证书,小程序的appid,小程序的唯一凭证秘钥
appsecret,获取的方式和appid一致
这个梁哥小时内饰有效的,但是重复获取会使上一次获取到的失效
建议不要各自刷新,容易造成冲突
accesss_token的有效期通过返回的expires_in来传达,中控服务器需要根据这个邮箱时间提前刷新
刷新过程中公众号平台在5分钟内新老access_token都可以使用
免维护access_token,如果使用了云托管和云开发可以
通过微信令牌可以面维护,调用微信支付也可以
这个需要已经成为开发者且账号没有异常就可以获取了
开发者拥有多个移动应用,网站应用,公众账号,可以通过unionID区分用户唯一性
只有是一个微信开放账号下的所有网站,移动应用unionID都是唯一的
https://developers.weixin.qq.com/doc/oplatform/service_market/interface/value_added/servicemarket_get_paid_order_list.html
普通业务,access_token是滴三方平台的component_access_token
http请求方式:POST
https://api.weixin.qq.com/wxa/servicemarket/get_paid_order_list?access_token=xxxxxxxxx
需要传入service_id,不填或者填0代表拉取全部服务
买家类型必填,1是小程序,2是微信用户
截取手机的推送比较简单,而且不用应付支付吧的反爬信息
但是只能得到金额,得不到流水号和付款人
android手机截取是通过notificationListenerService这个类,通过注册这个listener可以再推送通知出来的时候获取发送他的app,标题和内容
好像生成统一订单的时候,微信和公众号只需要填入sub_appid字段就可以了
这个甚至个人小程序无法申请使用,企业也得交300开通
只看H5的,JSAPI和native的
发现不用那么麻烦,即使个人也可以在微信直接开店支付