parent
ff052e838e
commit
d3ebd06eda
@ -1,5 +1,5 @@
|
||||
package go_library
|
||||
|
||||
func Version() string {
|
||||
return "1.0.159"
|
||||
return "1.0.160"
|
||||
}
|
||||
|
@ -0,0 +1,16 @@
|
||||
package wechatpayapiv2
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"github.com/dtapps/go-library/utils/gorequest"
|
||||
)
|
||||
|
||||
func (c *Client) Post(ctx context.Context, _method string, certStatus bool, cert *tls.Certificate, notMustParams ...gorequest.Params) ([]byte, error) {
|
||||
// 参数
|
||||
params := gorequest.NewParamsWith(notMustParams...)
|
||||
// 请求
|
||||
request, err := c.request(ctx, apiUrl+_method, params, true, cert)
|
||||
// 定义
|
||||
return request.ResponseBody, err
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package wechatpayapiv2
|
||||
|
||||
import "crypto/tls"
|
||||
|
||||
func GetP12ToPem(cert, key string) (*tls.Certificate, error) {
|
||||
pemCert, err := tls.X509KeyPair([]byte(cert), []byte(key))
|
||||
return &pemCert, err
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
package wechatpayapiv2
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"github.com/dtapps/go-library/utils/gomd5"
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// GetSign 获取签名
|
||||
func GetSign(param map[string]interface{}, key string) string {
|
||||
sortString := getSortString(param)
|
||||
sign := gomd5.Md5(sortString + "&key=" + key)
|
||||
return strings.ToUpper(sign)
|
||||
}
|
||||
|
||||
// 支付字符串拼接
|
||||
func getSortString(m map[string]interface{}) string {
|
||||
var buf bytes.Buffer
|
||||
keys := make([]string, 0, len(m))
|
||||
for k := range m {
|
||||
keys = append(keys, k)
|
||||
}
|
||||
sort.Strings(keys)
|
||||
for _, k := range keys {
|
||||
vs := m[k]
|
||||
if vs == "" {
|
||||
continue
|
||||
}
|
||||
if buf.Len() > 0 {
|
||||
buf.WriteByte('&')
|
||||
}
|
||||
buf.WriteString(k)
|
||||
buf.WriteByte('=')
|
||||
buf.WriteString(fmt.Sprintf("%v", vs))
|
||||
}
|
||||
return buf.String()
|
||||
}
|
Loading…
Reference in new issue