一、起因
1、业务或者说是任务驱动
最近我有一个新项目启动,计划用到升讯威微信营销系统(微信第三方平台),跟着业务动手去实现,从而了解平台,这种方式我认为是了解平台最快的方式。
升讯威微信营销系统(微信第三方平台)
在线体验:http://wxcm.eeipo.cn/
开源地址GitHub:https://github.com/iccb1013/Sheng.WeixinConstruction
作者:曹旭升 sheng.chao
2、需求分析
平台定位精英俱乐部管理平台,目前业务需求为把会员管理起来,活动和服务只要做到通知就行。
会员管理:
1、注册(信息采集)
2、入会需要收钱;--->关于入会需要收钱,我计划这么实现“后台添加一个特殊商品会费,商城前台不可见,注册成功后通过代码实现会员默认购买会费商品生成订单,直接跳转到付款页,付款成功后跳转的会员主页(通过参数定制付款成功后跳转页)
3、会员标示(总会还是分会,有效期、权益说明)(利旧会员卡体系)
4、积分商城(利旧)
5、活动管理(利旧,弱化后期再说)
说明:第二点这么思考是为了偷懒,直接复用了商城支付逻辑,减少开发工作量和缩减工期。
3、 前端UI已有,接下来集成
二、集成
1、在Sheng.WeixinConstruction.Client.Shell的Views的Home文件夹下添加前端业务界面
2、在Sheng.WeixinConstruction.Client.Shell的Controllers下面的HomeController进行声明
3、在Sheng.WeixinConstruction.Client.Shell的Areas--Api--Controller进行声明MemberController增加了一些业务处理方法
- 发送短信验证码SendPhoneValidateCode()
- 修改用户状态UpdateUserState()
- 通过手机短信验证后更新手机号UpdatePersonalInfoBySMS()
4、PointCommodity表中增加ForSys属性(来源系统内置),同时修改GetPointCommodityList()取值逻辑,前台不取系统内置商品。
Member表中增加属性字段解决用户状态和用户个性化信息
5、修改支付逻辑,付款成功后跳转到会员中心页,同时屏蔽一些操作。
PayOrderDetail.cshtml和OrderDetail.cshtml
6、不知道是配置问题还是怎么短信配置后不能使用,我重新集成了阿里云的短信接口(Dysmsapi)
7、修改了PersonalInfo.cshtml和MemberCenter.cshtml
三、成果
四、相关配置:
1、微信支付对接流程(时间长了,不记得了)
登录公众号后台,进入“微信支付”,设置“支付授权目录”:
http://{appid}.xxx.com/Pay/Deposit/
http://{appid}.xxx.com/Pay/PayOrderDetail/
http://{appid}..xxx.com/
{appid} 为你的AppId。
URL必须用斜杠结尾。
微信商户后台
https://pay.weixin.qq.com
下载证书
在商户平台下载微信支付证书
API安全:
https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_3
得到证书文件和密码
必须在操作系统上双击安装证书apiclient_cert.p12后才能被正常调用
商户证书调用或安装都需要使用到密码,该密码的值为微信商户号(mch_id)
获取商户支付密钥(就是key)
登录“微信支付”后台的“API安全”,在“API密钥”下点击“设置密钥”
获取公众号AppSecret
登录微信公众号后台,进入“基本配置”,查看AppSecret(应用密钥)
还需要商户ID用来导入证书
注册URL
微信后台的“微信支付”下的“开发配置”中,添加URL
微信支付接口安全规范
有关证书、密钥等内容的说明
https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3
2、开发平台配置