人生倒计时
- 今日已经过去小时
- 这周已经过去天
- 本月已经过去天
- 今年已经过去个月
微信内支付通道接口(微信支付接口正式对外开放)
怎么申请微信支付接口
申请条件:微信支付接口,目前只对通过微信认证的服务号(包括企业、商店商家、非事业单位媒体类服务号)、政府、媒体两大类型的订阅号和企业号开放。申请方法:1进入微信公众平台,申请一个微信公众号,类型为服务号(一天时间审核);2.申请微信认证,在左侧菜单栏找到服务,服务中心,里面有两个选项基础接口,微信认证,点击微信认证,3.进行商户信息的填写,找到商户功能,提交企业信息表以及银行账户信息。那接下来的就是等待微信官方的审核了, 审核通过了那么将签订在线合同 ,那你就可以开始开发工作,构筑你的微信支付了。
(使用浏览器扫码进入在线客服窗口)
复制联系方式
开放平台API接口安全性设计——微信支付为例
API接口,类似 ;mch_id=123 ,这个请求我以商户mch_id=123的身份给订单号为order_id=123退款,如果服务器不辩别请求发起者的身份直接做相应的操作,那是及其危险的。
一般的,在PC端,我们是通过加密的cookie来做会员的辨识和维持会话的;但是cookie是属于浏览器的本地存储功能。APP端不能用,所以我们得通过token参数来辨识会员;而这个token该如何处理呢?
延伸开来,接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用。
一般来说,在前端对数据做加密或者前面,是不现实的。前后端使用HTTP协议进行交互的时候,由于HTTP报文为明文,所以通常情况下对于比较敏感的信息可以通过在前端加密,然后在后端解密实现"混淆"的效果,避免在传输过程中敏感信息的泄露(如,密码,证件信息等)。不过前端加密只能保证传输过程中信息是‘混淆’过的,对于高手来说,打个debugger,照样可以获取到数据,并不安全,所谓的前端加密只是稍微增加了攻击者的成本,并不能保证真正的安全。即使你说在前端做了RSA公钥加密,也很有可能被高手获取到公钥,并使用该公钥加密数据后发给服务端,所以务必认为前端的数据是不可靠的,服务端要加以辩别。敏感信息建议上https。
所以一般建议上https,敏感信息md5混淆,前端不传输金额字段,而是传递商品id,后端取商品id对应的金额,将金额等参数加签名发送到支付系统。金额可以是明文的。
token授权机制 :用户使用用户名密码登录后,后台给客户端返回一个token(通常是UUID),并将Token-UserId键值对存储在redis中,以后客户端每次请求带上token,服务端获取到对应的UserId进行操作。如果Token不存在,说明请求无效。
弊端 :token可以被抓包获取,无法预防MITM中间人攻击
用户每次请求都带上当前时间的时间戳timestamp,服务器收到请求后对比时间差,超过一定时长(如5分钟),则认为请求失效。时间戳超时机制是防御DOS攻击的有效手段。
将token,timestamp等其他参数以字典序排序,再加上一个客户端私密的唯一id(这种一般做在服务端,前端无法安全保存这个id)或使用私钥签名,将前面的字符串做MD5等加密,作为sign参数传递给服务端。
地球上最重要的加密算法:非对称加密的RSA算法。公钥加密的数据,可以用私钥解密;私钥签名(加密)的数据,可以用公钥验签。
RSA原理是对极大整数做因数分解,以下摘自维基百科。
暂时比较忙没时间,将于7月29日晚更新。
来更新啦。
微信支付安全规范,可以查看官方文档
第1点中,其签名算法最重要的一步,是在最后拼接了商户私密的API密钥,然后通过md5生成签名,这时即使金额是明文也是安全的,如果有人获取并修改了金额,但是签名字段他是无法伪造的,因为他无法知道商户的API密钥。当然,除了微信支付的拼接API生成签名的方法,我们也可以通过java自带的security包进行私钥签名。其中nonce随机字符串,微信支付应该做了校验,可以防止重放攻击,保证一次请求有效,如果nonce在微信支付那边已经存在,说明该请求已执行过,拒绝执行该请求。
阮一峰老师的博客-RSA算法原理:
维基百科:

微信网页支付应该怎么调用微信接口
1、申请微信支付。
小程序认证以后,可以在小程序后台,微信支付菜单栏,申请微信支付。
填写企业信息和对公账户,微信支付会打一笔随机金额到对公账户,输入金额完成验证后,在线签署迁移,即完成了微信支付的申请流程。
微信支付申请完,会发送微信支付商户号,商户平台用户名密码等信息到注册者邮箱。
2、配置小程序密钥。
小程序后台设置页,点击生成,管理员验证二维码后,会随机生成AppSecret。
请妥善保管好Appsecret,不要明文存储于服务器,AppSecret用于和微信服务器交互。
比如获取用户的openid接口就需要用到.
3、设置密钥和下载证书
用申请微信支付获得的用户名和密码,登录商户平台(pay.weixin.qq),在账户中心,API安全中下载证书和设置密钥。
密钥是32位,设置以后需要妥善保管,因为无法查看密钥,所有微信支付相关的接口都会使用这个密钥加密。
4、配置HTTPS服务器小程序的前端是使用微信提供的框架开发,但是后台依然是开发者自己的服务器。
小程序发起的是HTTPS请求,意味着小程序开发者必须配置HTTPS服务器。
配置HTTPS服务器之前,先要获取证书,证书可以向相关机构购买,腾讯云目前可以向用户提供免费的证书。
5、微信支付流程
微信支付有多种支付方式,包括刷卡支付,公众号支付,扫码支付,APP支付,所有微信支付的接口都可以到官方找到。
小程序是在微信里调起支付的,其实是公众号支付,关于公众号支付的详细文档可以这里找到: bbs51/f-37-1/。
所有公众号支付相关的链接都可以在此链接找到,开发者首先需要大概了解这些接口。
6、小程序调起微信支付,用的是小程序微信支付接口wx.requestPayment,该接口的详细描述可以查看小程序的微信支付API。
这个接口中的package和timeStamp参数是从开发者的第三方服务器返回的,package是第三方服务器从统一下单接口回复中获得。
接口中其他的参数,appId,noceStr,signType以及paySign则由小程序这边存储或者计算而得。
在微信中如何调用支付宝接口
微信里面是无法直接调用支付宝接口的。
【具体原因】
两者在移动支付场景中是最直接的竞争关系,都不允许对方直接进入各自生态中。
【解决方法】
两者对移动支付都有端口的,可以通过建设一个h5的商城,然后将两者的端口全部接入即可实现两个支付通道。
【注意事项】
要到各自的官网去申请移动支付接口。
微信h5支付接口如何开通?
H5支付需要到商户号平台申请。
1、登录商户平台,产品中心支付产品H5支付,提交资料后申请审核通过大概需要2-3天左右。
2、产品中心开发配置中,设置H5支付域名,必须是手机站的独立域名。
3、审核通过后获取:公众号APPID、微信支付商户号、API、公钥和私钥,将这些信息添加到小程序后台中。
4、测试H5支付。
微信公众平台如何开通微信支付?
微信公众平台开通微信支付的方法如下:
1、公众号申请好并且认证完成之后,才可以申请微信支付,注意申请支付要有营业执照和对公账户,个人公众号暂时还不支持认证,所以不能申请支付。
2、进入微信公众号平台,从左边的栏目里面找到微信支付,点击进入,点击申请开通微信支付。
3、填写相关信息,联系人信息,用绑定联系人本人身份证银行卡的微信扫描给出的二维码验证。
4、填写商户简称,经营类目,以及经营范围并且上传相关资料进行验证,提交完成之后点击下一步
5、填写商户信息以及结算账户,一般商户信息是直接提取的之前填写的内容,进入页面的时候可以核对一下,点击下一步进行填写结算账户,填写完成之后保存进行下一步。
6、提交完成之后,后天工作人员会在3-5个工作日内,进行审核,审核通过之后会往填写的邮箱里发一封邮件是关于微信支付商户的帐号信息,同时对公账户上也会收到几毛钱的汇款,需要查看下具体的金额然后登录微信支付商户平台进行验证。验证完成之后,微信支付整个流程就完成了,如果需要开通支付通道,这就需要获取相应的接口,然后进行对接就可以了。
扩展资料
微信公众账号的用途:微信公众账号的用途非常广泛,政府,媒体,企业,明星等都开始纷纷建立独立的微信公众账号平台。在上面进行个人企业等文化活动的宣传营销。
可以在设置里面绑定一个私人微信号,利用微信公众号助手群发消息,随时查看消息群发状态。利用公众账号平台进行自媒体活动,简单来说就是进行一对多的媒体性行为活动,如商家通过基于微信公众平台对接的微信会员云营销系统展示商家微官网、微会员、微推送、微支付、微活动,已经形成了一种主流的线上线下微信互动营销方式。
参考资料来源:百度百科:微信公众号

