package payment import ( "encoding/json" "fmt" ) // EncryptRequest 加密支付请求 func EncryptRequest(request interface{}, cfg Config) (map[string]string, error) { _, err := json.Marshal(request) if err != nil { return nil, fmt.Errorf("序列化请求失败: %v", err) } client := NewClient(cfg) // 构造签名数据 signData := map[string]string{ "merchantNo": cfg.MchtNo, } signStr := MapToString(signData) // 构造订单数据 orderData := map[string]string{ "merchantNo": cfg.MchtNo, "orderNo": "", "amount": "", } orderStr := MapToString(orderData) // 加密 encryptedData, encryptedKey, err := client.EncryptMobile(orderStr, signStr) if err != nil { return nil, fmt.Errorf("加密失败: %v", err) } return map[string]string{ "request": encryptedData, "signature": "", "encryptKey": encryptedKey, "accessToken": "", }, nil }