- 需求的场景描述(希望解决的问题)
目前接到一个需求,就是用户能够使用小程序 对公众号进行充值操作,但目前遇到的问题是 :微信开发工具使用的appid和公众号的appid不一致,导致出现获取的operid在后台进行统一下单时出现
appid and openid not match
这样的提示,请问,在开发环境下,如果使小程序能够使用支付接口
- 希望提供的能力
能否提供一些代码片段,感谢
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
首先感谢大家的热情,没想到这么快就有回复了。刚刚写得比较匆忙,抱歉,现在我再详细描述一下过程,因为是第一次开发小程序,很多不懂的地方请大家赐教。
项目需求是某种智能设备的充值,上位机的抄读和收费已经完成。现在客户方要求加一个小程序充值。开发方已经申请了公众号作为调试使用,而作为开发者也申请了一个开发账号。有各自的appid。现在将充值过程描述如下
1 用户打开微信,打开小程序
2 直接弹出用户充值界面,输入金额,点确定,调用后台服务器(开发者编写)统一下单流程,然后返回签名、时间戳、随机字符串等等给前端小程序(处理这里时弹出appid and openid not match)
3 小程序接到上述数据后,弹出微信密码输入界面,输入密码,确定后,充值金额直接输入到公众号,同时返回消息给后台服务器(开发者编写),服务器处理充值成功后的数据
4 完成
流程描述如上。请大家看看有无错误。目前小程序的登录以及获取openId都已经完成,返回也已经完成,就弄不清楚如何将小程序获取的openId和后台的统一下单结合起来。看文档据说是要把开发者和公众号绑定。但还是稀里糊涂啊。
再次感谢大家。
不知道是你描述的问题还是我理解的问题。首先不提支付问题,只要小程序和公众号的h5拥有一个主账号那么在哪边充值都会进这个用户的账号了不是?问题解决。归根到底是你们的数据库架构有点问题啊,首先需要主账号表和两边对应分帐号表关联,这样在小程序和公众号充值时分别带不同标识,查找对应用户的对应openid 接口使用对应appid 支付就完事了。如果我没理解错应该是这样的问题吧
当然不用连表也行,用户表多几个字段就是(字段用来存储统一用户不同appid下的不同openid),有几个分渠道就多对应几个字段名就是了,只要能在对应渠道充值时能用标识区分就行了
小程序支付要用小程序APPID和秘钥生成的openid。公众号要用公众号生成的openid,两个不能混用。按照你的需求的话,需要将小程序和公众号绑定到开放平台,获取用户的unionid,当用户在小程序充值后,通过unionID 判断公众号中的用户,改变用户余额记录值
小程序的openid跟公众号的openid是不一样的,关联的话,他们可以有个共同的unionid,你可以从unionid入手,找到同一个用户。