服务商模式下调用JSAPI支付需要传用户openid,但官方文档中没有详细文档只有普通商户支付的文档

普通商户支付传值
//组装支付数据
        $payData = [
            "body" => "商品购买",
            "out_trade_no" => $order->order_no,
            "total_fee" => $order->getData("actual_price"),
            "trade_type" => "JSAPI",
            "openid" => $this->userData["openid"],
        ];

如果服务商模式支付还是这样传值就会报‘appid和openid不匹配’,解决此问题只需要修改openid的键即可

 $payData = [
            "body" => "商品购买",
            //订单号
            "out_trade_no" => $order->order_no,
            //支付金额
            "total_fee" => $order->getData("actual_price"),
            //支付方式
            "trade_type" => "JSAPI",
            //用户openid 其他支付方式不需传当前参数
            "sub_openid" => $this->userData["openid"],
        ];
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐