forked from smartwalle/alipay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathalipay_type.go
55 lines (44 loc) · 1.08 KB
/
alipay_type.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package alipay
import (
"encoding/json"
)
const (
kSandboxURL = "https://openapi.alipaydev.com/gateway.do"
kProductionURL = "https://openapi.alipay.com/gateway.do"
kProductionMAPIURL = "https://mapi.alipay.com/gateway.do"
kFormat = "JSON"
kCharset = "utf-8"
kVersion = "1.0"
kContentType = "application/x-www-form-urlencoded;charset=utf-8"
kTimeFormat = "2006-01-02 15:04:05"
)
const (
kResponseSuffix = "_response"
kErrorResponse = "error_response"
kSignNodeName = "sign"
)
const (
K_SIGN_TYPE_RSA2 = "RSA2"
K_SIGN_TYPE_RSA = "RSA"
)
const (
// https://doc.open.alipay.com/docs/doc.htm?treeId=291&articleId=105806&docType=1
K_SUCCESS_CODE = "10000"
)
type Param interface {
// 用于提供访问的 method
APIName() string
// 返回参数列表
Params() map[string]string
// 返回扩展 JSON 参数的字段名称
ExtJSONParamName() string
// 返回扩展 JSON 参数的字段值
ExtJSONParamValue() string
}
func marshal(obj interface{}) string {
var bytes, err = json.Marshal(obj)
if err != nil {
return ""
}
return string(bytes)
}