收藏
回答

手机浏览器,用户点击支付提交按钮,发起H5支付时,为什么会弹出两个微信,提示用户选择,请问怎么处理

手机自带浏览器访问H5网页,用户点击支付提交按钮,发起H5微信支付时,为什么会弹出两个微信,提示用户选择,请问怎么处理,而且选择第一个微信直接跳转付款界面,但是选择第二个微信直接返回微信APP首页,想请教下为什么会出现弹出两个微信的情况,该如何处理。

手机上也没有微信分身,只有一个微信。

希望是用户发起H5支付时直接跳转到支付页面,不需要弹窗选择哪个微信。

最后一次编辑于  2022-02-26
回答关注问题邀请回答
收藏

6 个回答

  • 阔水连天
    阔水连天
    2022-02-28

    微信支付经多方测试,是好用的。你的情况,100%是你的问题。我这里有个thinkphp例子,希望能帮到你。源代码中,涉及到参数的代码,我没有给你,其它的,内容应该是全的吧。

    其中,支付后台代码:

    //调用微信支付
    public function weixinpay() {
       header ( "Content-type: text/html; charset=utf-8" );
       include_once ("./WxPayPubHelper/WxPayPubHelper.php");
       $user_id = $_SESSION ['user_id'];
       //订单编号
       $out_trade_no = $_SESSION ['out_trade_no'];
       //订单总金额
       $cp = $_SESSION ['total_fee'];
    
       //使用jsapi接口
       $jsApi = new JsApi_pub ();
    
       //=========步骤1:网页授权获取用户openid============
       //通过code获得openid
       if (! isset ( $_GET ['code'] )) {
          //触发微信返回code码
          $url = $jsApi->createOauthUrlForCode ( WxPayConf_pub::WXPAY_URL );
          Header ( "Location: $url" );
       } else {
          //获取code码,以获取openid
          $code = $_GET ['code'];
          $jsApi->setCode ( $code );
          $openid = $jsApi->getOpenId ();
       }
       //=========步骤2:使用统一支付接口,获取prepay_id============
       //使用统一支付接口
       $unifiedOrder = new UnifiedOrder_pub ();
    
       //设置统一支付接口参数
       //设置必填参数
       $unifiedOrder->setParameter ( "openid", "$openid" );//openid
       $unifiedOrder->setParameter ( "body", "商品支付" ); //商品描述
       $unifiedOrder->setParameter ( "out_trade_no", $out_trade_no ); //商户订单号 
       $unifiedOrder->setParameter ( "total_fee", $cp * 100 ); //总金额
       $unifiedOrder->setParameter ( "notify_url", WxPayConf_pub::NOTIFY_URL ); //通知地址 
       $unifiedOrder->setParameter ( "trade_type", "JSAPI" ); //交易类型
       $unifiedOrder->setParameter ( "profit_sharing", "Y" );//允许分账
    
       $prepay_id = $unifiedOrder->getPrepayId ();
       //=========步骤3:使用jsapi调起支付============
       $jsApi->setPrepayId ( $prepay_id );
       $jsApiParameters = $jsApi->getParameters ();
       $this->assign ( "jsApiParameters", $jsApiParameters );
       $this->assign ( "user_id", $user_id );
       $this->assign ( "order_sn", $out_trade_no );
       $this->display ();
    }
    

    微信支付支持文件,请下载:

    链接:https://pan.baidu.com/s/1K84NrExAQUptdUYO95ZbzA?pwd=wcww 

    提取码:wcww

    里面有一个html文件,是支付界面。

    2022-02-28
    有用 1
    回复 1
  • WangZwi1l
    WangZwi1l
    2023-06-09

    有解决问题吗


    2023-06-09
    有用
    回复
  • 墨染年华
    墨染年华
    2022-08-10

    这个问题有解决了吗?请问是什么原因导致的

    2022-08-10
    有用
    回复
  • Memory
    Memory
    2022-02-26

    很明显手机双开了微信

    2022-02-26
    有用
    回复 2
    • 烟雨任平生()
      烟雨任平生()
      2022-02-27
      真不是微信分身的问题,不是一台手机有这种情况
      2022-02-27
      回复
    • Memory
      Memory
      2022-02-28回复烟雨任平生()
      提供下手机型号、系统版本、微信版本、然后再提供一个完整操作复现视频
      2022-02-28
      回复
  • VBit
    VBit
    2022-02-26

    感觉不是微信的事,查查你的程序

    2022-02-26
    有用
    回复
  • 青寒
    青寒
    2022-02-26

    建议还是查一下截图中的手机,是不是没留意打开了微信分身。

    2022-02-26
    有用
    回复 2
    • 烟雨任平生()
      烟雨任平生()
      2022-02-26
      不是一台手机这个情况,安卓手机都是这样,应该不是微信分身的问题
      2022-02-26
      回复
    • 烟雨任平生()
      烟雨任平生()
      2022-02-26
      APP内链接的第三方H5
      2022-02-26
      回复
登录 后发表内容