package weChat import ( "context" "errors" "github.com/wechatpay-apiv3/wechatpay-go/core" "github.com/wechatpay-apiv3/wechatpay-go/services/payments/app" "github.com/wechatpay-apiv3/wechatpay-go/services/payments/jsapi" "hepa-calc-api/config" ) // CloseJsapiOrder 关闭jsapi支付订单 func CloseJsapiOrder(outTradeNo string) error { client, err := createClient() if err != nil { return err } svc := jsapi.JsapiApiService{Client: client} req := jsapi.CloseOrderRequest{ OutTradeNo: &outTradeNo, Mchid: core.String(config.C.Wechat.Pay1281030301.MchId), } result, err := svc.CloseOrder(context.TODO(), req) if err != nil { return err } if result.Response.StatusCode != 204 { return errors.New("关闭订单失败") } return nil } // CloseAppOrder 关闭app支付订单 func CloseAppOrder(outTradeNo string) error { client, err := createClient() if err != nil { return err } svc := app.AppApiService{Client: client} req := app.CloseOrderRequest{ OutTradeNo: &outTradeNo, Mchid: core.String(config.C.Wechat.Pay1281030301.MchId), } result, err := svc.CloseOrder(context.TODO(), req) if err != nil { return err } if result.Response.StatusCode != 204 { return errors.New("关闭订单失败") } return nil }