感谢各位,已经解决,记录一下 1、解答上面的问题 B中因为是共享环境,所以获取B的openid需要context.FROM_OPENID获取,这样解决了上面的问题; 2、解决上面问题后引发新的问题,报appid和openid不匹配 这里,因为我是B调用A共享的支付工作流,A共享环境给B,B调用微信支付工作流需要单独建一个,因为A的微信支付工作流在工作流参数里有一个appid是必填的,那里只能写A的appid。B单独建立一个支付工作流填B的appid问题搞定。
被共享环境的小程序前端调用微信支付工作流时无法自动注入openid?被共享环境的小程序前端部分代码,sharedCloud是我初始化后的正确的共享环境实例,这个没有问题: // 调用微信支付工作流 await sharedCloud.callFunction({ name: 'cloudbase_module', data: { // 工作流ID name: '我隐藏了,此为微信支付的工作流id', data: { description: `购买${realOrderData.packageName}`, out_trade_no: realOrderData.outTradeNo, amount: { total: Math.round(realOrderData.price * 100) // 使用后端验证过的真实价格 }, // 附加数据,使用简单键值对 attach: `packageId=${realOrderData.packageId}` } }, success: res => { wx.hideLoading(); console.log('下单结果:', res); // 检查是否有错误 if (res.result && res.result.errcode) { this.setData({ isProcessing: false }); wx.showToast({ title: '创建支付失败', icon: 'none' }); console.error('支付创建失败,错误:', res.result.errmsg); return; } 后台执行报错: 支付创建失败,错误: {"message":"微信支付SDK请求失败, 响应码:400,错误码:PARAM_ERROR, 错误信息: 输入源“/body/payer/openid”映射到字段“用户标识”必填性规则校验失败,此字段为必填项"}(env: Windows,mp,1.06.2412050; lib: 3.8.1) --------共享环境的那个小程序就可以自动注入openid,为啥这个不行,商户号已经关联并授权了。
星期一 19:20