微信支付服务商-服务商小程序支付脱坑
时间:2018年11月13号
最近, 公司抽风, 项目中需要为我们小程序中"服务的商户"开通微信支付功能.
与同事们研究决定,还是申请为微信服务商比较靠谱~
但是~ 不靠谱的事来了. 废话不多说. 一步步的来.
第一步: 申请为服务商 ( 有重点!!!!!!!统一下单坑点之一 )
先去 公众平台 申请一个 服务号(只有服务号才可以支付和申请商户号,必须是认证过的.300元)
注意:保存好appId 与 appSecret 统一下单中的appId指的是这个!!!!!!!!!
申请完成后, 点击微信支付, 成为服务商,上传资料. 审核.300元
申请页面如下:(这个是已经申请好了的)
在这里, 说明一下. 微信支付服务商是从已经认证过的服务号里申请的, 默认与该服务号绑定 .微信乱七八糟的名字很多.这里的服务号指公众号.
申请小程序.交纳300元认证费. 注意:此次说明小程序主体信息与微信支付服务商主体信息一致(如果不一致请看官方坑爹文档)
申请开放平台~ 再来300元~ 在开放平台把公众号与小程序关联起来.
第二步:微信公众号服务号、小程序与微信支付服务商的账号准备好之后, 接下来配置微信支付服务商账号.
登录微信商户平台
进行配置 账户中心-API安全-设置秘钥
秘钥这是个大坑~~~留着.继续往下走.遇到了再回来
接下来是 服务商功能-特约商户申请
商户申请审批成功之后 (此时微信会给你邮箱发送特约商户的商户号和密码,与一般支付的那种商户号一样,可以登录)
特约商户管理-配置(还在服务商账号下)
这里的支付授权目录必须要正确. (别忘记了微信支付服务商的支付目录以及回调地址在服务商账户里设置!这里的回调是地址!是地址!是地址!和目录是有区别的!!!)
特约商户APPID配置.我们填写之前申请好的小程序appID.否则无法取到官方所为的sub_openId
第三步: 统一下单
根据官方的文档
去发起统一下单.
然后就是各种的报错!
商户ID与APPID不匹配
sub_openid and sub_appid not match
签名失败
等错误.
首先~ 你得保证,你的签名没有问题. 顺序正确,没有传入空值,不存在大小写错误,在签名验证工具中可以通过.如果还是报错签名失败~回到第二步, 服务商设置秘钥的那里. 来来回回的换吧~ 2到3次 基本就ok了
在这里, 对这个坑爹的参数表.做一下说明(写这文档的人~~~我就!@#@$%@#@!##$%你了!)
看这文档写的, openId 我是传还是不传?! 我去年买了个表的.不会说话嘛!
还有这个网页授权获取用户信息,很有歧义好嘛!
服务商模式下, 小程序支付.openId 不传! 不传! 不传! 签名的时候直接省略这个参数!
接下来说sub_openid. 坑啊~~~
这里尼玛就不是什么sub_openId 就尼玛是openId啊!!!!!!!! 哪来的?! wx.login 获得code 再通过code 换来的.
有人就高兴了. wx.login拿的openId啊? 我早就获得了~ 错!!!!! 不是这个!!! 虽然方法一样! 内容一样! 但是他给的确实是有问题的!这一步的登录不能省!继续往下看.!(去年买了个大表的! 文档你写清楚啊! 既然目的都是OpenId 为什么要取两次!你TM得告诉我这里不一样啊!)
对于openId的解释, 微信官方是说, 一个用户与多个小程序有多个openId,用户与一个小程序的openId唯一.
然后,经过测试:
wx.login({
success: function (login_success) {
wx.getUserInfo({
lang: 'zh_CN',
success: function (getUserInfo_success) {
var code = login_success.code;
var encryptedData = getUserInfo_success.encryptedData;
var iv = getUserInfo_success.iv;
//在这里去换openId (之前我们项目中保存过一次小程序的openId 这时候再去取的时候, 变了~~ )
}
});
})
至此 统一下单 算是OK了. 接下来. 去排坑~ 调起支付~ 正在研究中~ 后期补全
微信公众号里的微信支付apiclient_key.pem是什么
你好,这个是支付密钥,需要对接得。
API安全证书设置1)开发所需的接口API证书、密钥,请登录微信支付商户平台,点击【账户中心】-【账户设置】-【API安全】-【下载证书】中,下载及设置;2)开通帐号和更换API证书时,可以此页下载和更改证书,该证书用来标识和界定您的身份;部分安全性要求高的API需要使用该证书来确认您的调用身份,防止因盗用给您带来的损失。
API证书信息附件共三份(证书pkcs12格式、证书pem格式、证书密钥pem格式),为接口中强制要求时需要携带的证书文件。证书属于敏感信息,请妥善保管不要泄漏和被他人复制。不同开发语言下的证书格式不同,点“下载证书中”说明指引。
证书附件
描述
使用场景
备注
证书pkcs12格式(apiclient_cert.p12)
包含了私钥信息的证书文件,为p12(pfx)格式,由微信支付签发给你用来标识和界定你的身份
部分安全性要求较高的API需要使用该证书来确认你的调用身份
windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为你的商户ID(如:10010000)
证书pem格式(apiclient_cert.pem))
从apiclient_cert.p12中导出证书部分文件,为pem格式,请妥善保管不要泄漏和被他人复制
部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便你的使用,已为你直接提供
你也可以使用openssl命令来自己导出:openssl pkcs12-clcerts-nokeys-in apiclient_cert.p12-out apiclient_cert.pem
证书密钥pem格式(apiclient_key.pem))
从apiclient_cert.p12中导出密钥部分的文件,为pem格式
部分开发语言和环境,不能直接使用p12文件,而需要使用pem,所以为了方便你的使用,已为你直接提供
你也可以使用openssl命令来自己导出:openssl pkcs12-clcerts-nokeys-in apiclient_cert.p12-out apiclient_key.pem
备注: 由于绝大部分操作系统已内置了微信支付服务器证书的根CA证书, 2018年3月6日后, 不再提供CA证书文件(rootca.pem)下载 。
更改API证书1)如果您的证书泄漏,您可以通过“更改证书”来修改API证书, 如果更改证书会影响线上交易,若非必要,建议不要随意修改API证书;
2)确认更改证书需要验证手机短信和登录密码。验证通过后,新的证书会直接生成,您可以直接下载新的证书到电脑。
微信公众号支付出现“ 支付验证签名失败”
需要公众号认证通过后才可申请微信支付,平台应用审核,成功,登录商户平台进行验证申请个公众号,然后认证一下开发者资质
微信服务号怎么完成小额打款验证,在那超作
目前微信支付功能仅开放给已经通过微信认证的服务号,开通服务号后,还要通过认证。
流程图如下。
认证成功后,需要登录微信公众号,进入:服务-服务中心-商户功能,然后根据要求提交商户的基本资料。
首先登录微信公众平台,使用账号密码登录进公众号后台,然后在公众后浩泰右上角会显示一些基本公众号企业信息。是否认证,是否是企业号都在这里显示,点击未认证就可以开始认证流程了。
微信公众号一般来说修改公众号基本信息的时候一般是需要管理员的微信进行扫码的,进行微信认证也是需要管理员微信进行扫码的。像图中看到的,管理员要扫码授权。
管理员扫码授权之后,仔细阅读微信认证的细则,然后需要同意细则。然后就可以进行下一步了。
按照微信要求的资料进行填写,这些资料在腾讯认证的时候回一一核实,所以这里一定要小心谨慎进行填写。填写完成之后就需要打印授权书了。然后管理员还要再次扫描授权的。
在所有资料都填写好之后就可以再次选择要认证的名字,(这里也是一次免费改名字的机会,大家要想改名字的时候在这里就可以改了)然后这里还要注意选着需要的发票类型。
一切都填写好之后,你就需要支付认证费用了,有点需要注意一点,认证是分为打款认证和支付验证,打款认证是需要登录对公账号的。支付认证是需要支付腾讯公司300元认证费,这个认证费是不会退还的。
认证流程走完之后就可以,等待腾讯公司认证了,这里显示的是支付验证。打款认证是需要登录企业对公账户的。
对于微信公众号支付签名验证工具和微信应用签名生成工具的总结分享本篇到此就结束了,不知你从中学到你需要的知识点没 ?如果还想了解更多这方面的内容,记得收藏关注本站后续更新。
还没有评论,来说两句吧...