问题:
1.批量代云开发环境的云函数中调用CloudPay.unifiedOrder()一直报错:"sub_mch_id与sub_appid不匹配"
2.经检查APPID和商户号已成功绑定且已经授权给小程序云开发,如下:
3.批量代云开发的环境和小程序之间是一种跨账号环境共享的关系,APPID在cloud.getWXContext()中需要拿FROM_APPID字段传值,CloudPay.unifiedOrder()开发文档的请求参数里并没有要求传APPID的相关字段,subOpenid字段的描述里虽然写了“openid和sub_openid可以选传其中之一,如果选择传sub_openid,则必须传sub_appid”,但是请求参数里并没有体现这里的sub_appid该怎么传值,如图:
4.如果把云开发支付理解为一个微信支付服务商,逻辑上sub_mchid传了的话,sub_appid和sub_openid是必传的啊,如果CloudPay.unifiedOrder()在这里做了相关处理,是不是没有考虑跨环境共享的情况,导致上述1的报错?
5.强烈建议官方把这个接口的文档完善一下,描述字段和请求参数不匹配,看的人很困惑;openid字段描述里的商户和subOpenid字段描述里的子商户有什么区别,该怎么理解?
正确的传法是这样的:cloud.cloudPay({ appid: 'xxxxx' }).unifiedOrder({其他参数...}),请注意appid是传在-----------------------cloudPay-------------字段里的,官方尽快更新下文档吧,太TM坑了
我这样写还是会报sub_mch_id与sub_appid不匹配,是什么原因?谢谢!
感谢你的尝试。
批量云开发+CloudPay。一直没有去尝试验证,因为从理论上感觉,不支付这种模式。
你现在尝试的结果是什么,支持这种模式吗?
这个在指引里面有说明,接口参数说明是同步的微信支付服务商的文档,云开发本身就是一个微信支付服务商,mch_id和appid是云开发的,小程序自身的支付参数分别是填入sub_mchid,sub_appid,sub_openid,
你授权云开发服务商后,云开发只会为你商户绑定当前APPID,跨账户环境共享时,新小程序appid是没有和这个商户号绑定的,所以会报不匹配,现在这里不支持这样操作调用