2023年6月 中旬了,这个问题依旧没有解决,没有自动回调
真机调试 SelectorQuery.exec 方法不执行回调?API: SelectorQuery.exec 微信版本号: 7.0.19 基础库版本: 2.13.0 开发者工具 SelectorQuery.exec 正常执行回调, 真机调试无法触发 SelectorQuery.exec 回调
2023-06-23不要传入商户号 就可以了,去掉参数//SubMchid: core.String("xxxxx"),
直连商户模式:V3-JSAPI下单返回:PARAM_ERROR 受理机构必须传入sub_mch_id直连商户模式支付接口:https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi 提示:{"code":"PARAM_ERROR","message":"受理机构必须传入sub_mch_id"}
2023-02-14最后解决办法 // 发起支付请求 微信预支付交易单 // 项目下终端加载微信官方包 go get -u github.com/wechatpay-apiv3/wechatpay-go func GetWeChatOrderPay() interface{} { var ( mchID string = "160*****" // 商户号 mchCertificateSerialNumber string = "321*****" // 商户证书序列号 mchAPIv3Key string = "0de*****" // 商户APIv3密钥 ) // 使用 utils 提供的函数从本地文件中加载商户私钥,商户私钥会用来生成请求的签名 mchPrivateKey, err := utils.LoadPrivateKeyWithPath("/golang/wechat/cert/apiclient_key.pem(商户APIv3密钥文件路径)") if err != nil { log.Println("微信预支付交易单 加载商家私钥错误:", err) } ctx := context.Background() // 使用商户私钥等初始化 client,并使它具有自动定时获取微信支付平台证书的能力 opts := []core.ClientOption{ option.WithWechatPayAutoAuthCipher(mchID, mchCertificateSerialNumber, mchPrivateKey, mchAPIv3Key), } client, err := core.NewClient(ctx, opts...) if err != nil { log.Println("微信预支付交易单 新微信支付客户端出错 :", err) } svc := jsapi.JsapiApiService{Client: client} // 得到prepay_id,以及调起支付所需的参数和签名 resp, result, err := svc.PrepayWithRequestPayment(ctx, jsapi.PrepayRequest{ Appid: core.String("wxf77****"), //微信小程序id Mchid: core.String("16*******"), //商户号 Description: core.String("自定义订单商品名称"), //商品名称 OutTradeNo: core.String("自定义订单id"), //自定义商品订单id Attach: core.String("自定义数据说明"), NotifyUrl: core.String("https://www.****"), //自定义支付成功反馈地址 Amount: &jsapi.Amount{ Total: core.Int64(100), }, Payer: &jsapi.Payer{ Openid: core.String("oNE*****"), //支付者微信id }, }, ) if err == nil { log.Println("微信预支付交易单 调起支付得到prepay_id resp错误: ", resp) } else { log.Println("微信预支付交易单 调起支付得到prepay_id 错误: ", err) } log.Println("微信预支付交易单 调起支付得到prepay_id 数据结果: \n", result) return "" }
golang发起 微信预支付交易单 提交报错 “Http头Authorization值格式错误”golang发起 微信预支付交易单 提交报错 “Http头Authorization值格式错误,请参考《微信支付商户REST API签名规则》” 怎么解决?官方文档不明确,有例子吗? // 微信预支付交易单 func getWeChatOrderPay() interface{} { url := "https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi" jsonStr := []byte(`{ "mchid": "直连商户号", "out_trade_no": "商户自己订单号", "appid": "应用ID", "description": "商品名称商品名称", "notify_url": "支付结果通知的回调地址", "amount": { "total":100, "currency": "CNY" }, "payer": { "openid":"用户标识唯一openid" } }`) req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonStr)) if err != nil { log.Println("微信预支付交易单 byte异常:", err) } req.Header.Set("Authorization", "WECHATPAY2-SHA256-RSA2048") req.Header.Set("Content-Type", "application/json") req.Header.Set("Accept", "application/json") client := &http.Client{} //发起请求 resp, err := client.Do(req) if err != nil { log.Println("微信预支付交易单 POST异常:", err) } defer resp.Body.Close() statusCode := resp.StatusCode //head := resp.Header body, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(body)) fmt.Println("状态码:", statusCode) //fmt.Println("请求头:", head) return string(body) /* ============================ */ // mchid 直连商户号 // out_trade_no 商户自己订单号 // appid 应用ID // description 商品描述 // notify_url 支付结果通知的回调地址 // amount:{ //订单金额信息 // total: //总金额 //单位为分 // currency:CNY //货币类型 // } // payer:{ //支付者信息 用户标识唯一openid // openid // } }
2023-01-09