找回密码
 立即注册
搜索

开发问题 微信支付接入问题解答集中帖

7
回复
7780
查看
  [复制链接]
 楼主| 2018-12-14 20:34:15 显示全部楼层 |阅读模式
本帖最后由 vivo官方技术团队 于 2019-5-30 20:46 编辑 0x00 微信支付简介 快应用 微信支付接口 支持微信APP支付和微信网页支付。 在使用快应用 微信支付接口 之前,开发者需要确认已经在微信后台成功接入微信APP支付或者微信网页支付。 0x01 接入微信方式 接入微信是指在微信开放创建应用,只有在 微信开放平台 创建并且微信审核过后,才能发起微信支付。 需要先在 微信开放平台 创建开发者账号,然后接下来根据需要创建对应的应用。 1. APP支付 如果需要使用APP支付,那么需要创建 【移动应用】 ,填写相关信息,在后面出现的选项中选择Android应用。 这里需要填写应用签名和应用包名,其中: 包名 使用快应用的包名或者自定义的新包名。(不可使用已在安卓应用上接入过微信支付的应用包名。) 签名 用于签名快应用的公钥证书的MD5 fingerprint。获取方法请参考帖子 戳这里 2. 网页支付 如果需要使用网页支付,那么需要创建【网站应用】,填写相关信息即可。 0x10 接口使用方式 最佳姿势当然是参考 微信支付文档1. APP支付补充说明 根据文档说明,在manifest中配置service.wxpay接口的package和sign参数。 这里补充说明一下: sign参数的内容是,用于签名快应用的公钥证书(certificate.pem)内容的Base64编码明文。 注意:不包括前后的BEGIN/END分隔符。 2. 网页支付补充说明 由于历史原因,在快应用中使用网页支付需要开发者实现一个H5中间页用于设置referer。 不过,快应用从1040版本开始提供免中间页的方式使用网页支付。 2.1 中间页方式 可以参考这篇帖子中的微信H5方式章节 戳这里 2.2 免中间页方式 1040版本以后的引擎才支持 相比中间页方式,不用配置manifest中的url,也就是不用实现中间页,只需要在调用接口时填入referer即可。 0x11 FAQ. 1. 为什么有些帖子中描述APP方式接入需要创建Android App? 答:创建Android App的方式也可以,只是比较麻烦。建议使用 这篇帖子 中的方式,不需要Android App。 APP方式接入的关键在于将公钥签名证书的MD5注册到微信开放平台,微信官方提供了工具用于获取Android App中签名MD5,但是比较麻烦。 建议使用openssl工具直接读取公钥中的MD5。 2. 如何确认微信支付成功? 答:APP方式支付,支付成功会通过success回调,并带有prepayid。 网页支付方式,支付成功是回调到服务器端的地址,所以这种情况下,success回调只表示成功向微信发起了请求。如果需要接收这个支付结果,请在微信【统一下单】接口的请求参数里面带上notify_url,参考微信文档:https://pay.weixin.qq.com/wiki/d ... ter=9_7&index=8 3. 微信APP方式返回错误1000,但是手机已经微信已经安装微信,这是什么原因? 答:这个问题有两种可能: 1. manifest.json文件中没有配置app支付的相关参数 2. 微信APP支付需要依赖手机厂商实现,该厂商未在该机型上实现微信APP支付,也会导致返回1000,具体支持机型请参考官方文档或者在微信/QQ群咨询厂商人员,比如:vivo技术弟。 (持续更新....) 请在此帖子下面回复你遇到微信支付相关问题,如果是共性问题,我们解答之后将会更新到FAQ中!
回复

使用道具 举报

2

主题

4

帖子

30

积分

2019-5-14 15:32:37 显示全部楼层
那网页支付,如何来确定是否成功?

点评

网页方式拉起微信支付的情况下,支付结果是返回到一个服务端地址。如果需要接收这个支付结果,请在【统一下单】接口的请求参数里面带上notify_url,参考微信文档:https://pay.weixin.qq.com/wiki/doc/api/H5.php?ch  详情 回复 发表于 2019-5-30 20:44
回复

使用道具 举报

 楼主| 2019-5-30 20:44:18 显示全部楼层
我是火柴 发表于 2019-5-14 15:32 那网页支付,如何来确定是否成功?
网页方式拉起微信支付的情况下,支付结果是返回到一个服务端地址。如果需要接收这个支付结果,请在【统一下单】接口的请求参数里面带上notify_url,参考微信文档:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_7&index=8
回复

使用道具 举报

2

主题

4

帖子

30

积分

2019-7-24 10:38:28 显示全部楼层
微信app支付,报错 205 Too frequently 什么情况下会有这个错误。 猜测情况是: 连续调用 支付接口; 但是统计到的数据,并没有发现用户连续点击支付按钮。
回复

使用道具 举报

1

主题

5

帖子

30

积分

2019-8-8 14:18:01 显示全部楼层
我是火柴 发表于 2019-7-24 10:38 微信app支付,报错 205 Too frequently 什么情况下会有这个错误。
怎么调试app支付,我获取到的都是网页支付
回复

使用道具 举报

0

主题

1

帖子

5

积分

2019-11-11 14:11:14 显示全部楼层
一直无法调起微信APP支付, 安装了一个和快应用一样的包名一样的证书的APP后快应用就可以调起微信支付,卸载了该APP快应用就无法调起支付
回复

使用道具 举报

1

主题

3

帖子

20

积分

2019-11-21 12:08:14 显示全部楼层
支付遇到报错:(线上偶发错误) {"data":{"content":"service unable"},"code":203} {"data":"prepayId:xxxxxx","code":2001} {"data":"wxpay not available!","code":1000}{"data":{"content":"wxpay app not installed!"},"code":1000}{"data":{},"code":1000} {"data":"Too frequently.","code":205} {"data":"Can not perform this action after onSaveInstanceState","code":200}
回复

使用道具 举报

3

主题

7

帖子

50

积分

2019-11-27 16:52:04 显示全部楼层
微信H5支付中,WX PAY failed, code = 200 这个是什么意思,只有在线上有问题,预览版都没问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册