支付权利获得:
1、申请一个微信公众服务号。
2、基于服务号进行认证。
3、公众平台提交很多资料,申请微信支付权限。(1-2周)
在得到服务号支付权限后,会收到2封邮件
1、在开通支付权限同时,微信官网会给你开通一个商户号(帐号/密码等信息)。
2、在微信商户里面设置网页授权的域名(已经完成备案)等。
3、在商户平台的产品中心的开发配置中,添加公众号支付授权的目录。
4、下载官方示例代码,把要用的代码(php/java/nodeJs)拷贝到本地。
5、商户平台下 下载api的证书,设置api密钥。
6、在服务器端根据证书和密钥生成一个预支付订单。
前端要做的事情:
1、引入微信JS文件。
2、向自己服务器,发起一个请求,获取 微信SDK接口需要的签名信息,配置微信SDK 接口。
3、向自己服务器,发起一个创建订单的请求,通过商品信息 换取 发起一个微信支付需要的配置信息。
4、用wx.chooseWXPay和上步得到的配置信息 发起一个微信支付请求。
后端要做的事情:
1、通过appId和appSecret 去微信服务端换取 accessToken,用数据库管理起来(有有效期)。
2、通过accessToken 去微信服务端换取 ticket,用数据库管理起来(有有效期)。
3、根据 “请求获取微信SDK接口需要的签名信息” 的url地址、自己用算法得到nonce、timestamp、请求得到的ticket。四者通过算法得到签名值signature。返回给前端{nonce,timestamp,signature}。
4、把前端3传过来的商品信息确认一下,产品在数据库中有没有了,没有就报错。用户信息在数据库中有没有了,没有就去koa-session中拿来放入数据库。
5、通过微信商城平台的appid等相关数据 和 微信商城平台下载的证书文件中的方法结合,构造一系列订单处理api。
6、把前端3传过来的商品信息 经过 上步的生成预支付订单信息的api处理,返回前端一份预支付订单信息。
6、生成自己系统的预支付订单信息(上步的结果做为参数之一),返回给前端。
网友评论