收藏
回答

共享环境下能调unifiedOrder唤起支付吗?

将小程序A云开发环境共享给小程序B。小程序B有微信支付功能,故调用A的云函数用unifiedOrder方法来计算签名返回前端。但unifiedOrder方法没有appid入参,导致算出来的签名里的appId是小程序A的,不是小程序B的,从而在支付时提示“商户传入的appid参数不正确,请联系商户处理”。

那么在共享环境下能调用unifiedOrder来支付吗?

回答关注问题邀请回答
收藏

2 个回答

  • 跨商通
    跨商通
    2022-11-14

    1、可以。

    CloudPay({appid:wxc.FROM_APPID}).unifiedOrder(...)
    
    2022-11-14
    有用 1
    回复 1
    • 周冉
      周冉
      2022-11-14
      又是这种没文档的神秘设置。不过现在又报“sub_mch_id与sub_appid不匹配”了,我这小程序也开通微信支付了,在商户平台的AppID账号管理里也关联了。不知为啥报这个错?
      2022-11-14
      回复
  • 周冉
    周冉
    2022-11-14

    这问题神坑,特此记录下来!

    首先是要在cloud.cloudPay里传appid才有效,感谢跨商通的回答!

    然后遇到了“sub_mch_id与sub_appid不匹配”问题,查了无数遍配置都没问题,查了无数资料都没问题,真心不解!最后咋解决的呢?我开发者工具里打开B小程序的云开发,设置-其他设置-微信支付配置,里面竟然和商户号是未绑定的关系,绑定后问题解决!

    这问题原因很奇怪,之所以要做云开发环境共享,就为了节约成本,把多个小程序共用一套云环境。但为啥在共享的前提下B小程序的微信支付配置还要读取自己的云开发配置呢?假若B小程序压根就没开通过云开发又将如何呢?假若B小程序有朝一日云开发过期了资源被释放了,那还能支付吗?是说云开发环境共享必须先俩小程序都开通云开发才能进行吗?

    百思不得其解。

    2022-11-14
    有用
    回复 4
    • 跨商通
      跨商通
      2022-11-14
      你担心的这些问题都不存在。自己整两个小程序随便测试一下,自知。
      2022-11-14
      回复
    • 周冉
      周冉
      2022-11-14回复跨商通
      就是说它读取了一个毫不相关的配置,一旦开通云开发后就优先取云开发里的微信支付配置了,不管你用不用这个云环境,也不管你是否用的别人共享来的云环境。
      2022-11-14
      回复
    • 跨商通
      跨商通
      2022-11-14
      B小程序不需要开通云开发。用开发工具打开B小程序,点击“云开发”,可以进入A小程序的云环境。
      2022-11-14
      回复
    • 立崖
      立崖
      2023-06-16
      “我开发者工具里打开B小程序的云开发,设置-其他设置-微信支付配置,里面竟然和商户号是未绑定的关系,绑定后问题解决!”请问最后绑定解决,是又开通了小程序B的云开发环境了么?
      2023-06-16
      回复
登录 后发表内容