2024-12-30 16:34:26 +08:00

63 lines
1.2 KiB
Go

package weChat
import (
"case-open-api/config"
"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"
)
// 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
}