请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

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

7
回复
1749
查看
  [复制链接]
 楼主| 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/d ... ter=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  这个是什么意思,只有在线上有问题,预览版都没问题
回复

使用道具 举报

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