钉钉接入红包指南
一、钉钉只支持C2C红包,而且无开发接口,因此通过钉钉无法实现B2C红包
二、借助支付宝B2C红包功能,具体过程如下
1)找到B2C红包文档功能,首先想到在线模拟测试推送红包,支付宝也确实有在线推送功能,可是经测试,必须得有发送方和接收方,也就是只支持C2C推送测试,无奈只能自己接入代码实现。
2)经过查阅文档,B2C红包发放需要准备如下相关信息
a)通过支付宝提供的签名工具生成应用签名(私钥及公钥),公钥需要填写到开发平台对应应用上去;但测试发现,这里的公钥无法达到红包发包发放要求,需必须再生成“支付宝公钥”,后面测试发现,只通过公钥字符串无法发放红包,需要生成公钥文件;
b)生成支付宝公钥:支付宝公钥属于企业属性,不属于某个应用,因此在开发平台的对应应用上是找不到的。
c)发放对象方式:支付宝支持2种对象支持方式(1:通过授权登录获取到的支付宝用户Id;2:通过支付宝账号+真实姓名)
3)发放红包测试Demo
a)通过授权登录方式发放红包;条件:APPID+应用私钥+公钥证书(3个证书)+授权登录获取到的UserId;可以模拟发放成功,但切换到钉钉应用中发现,无法拉取授权(支付宝不支持),而且在浏览器中也无法拉取授权(提示只能在支付宝客户端打开),而且钉钉没有提供开发接口获取绑定支付宝UserId(通过特殊权限申请有可能达到,但我申请未通过)
b)通过支付宝账号+真实姓名发放红包;条件:APPID+应用私钥+公钥证书(3个证书)+<支付宝账号+真实姓名>;PC模拟发放成功,钉钉中模拟发放成功;
三、总结
钉钉目前不支持B2C企业红包,借助于支付宝企业红包实现的方式。
而借助支付宝实现理想的方式是通过特殊权限申请获取绑定的支付宝UserId(可申请,钉钉不一定有此特殊接口,或有此特殊接口也不一定同意提供)
目前通过支付宝账号+真实姓名发放红包方式已明确可行,但需要钉钉平台进入药动销平台需手动填写绑定。