# vk-pay-config
# 说明
统一支付配置表
该表为插件支付专用表,主要存放商户的支付配置
# 字段
字段名称 | 字段类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
_id | string | 是 | 商户支付pid | |
alipay | object | 否 | 支付宝支付配置 详情 | |
wxpay | object | 否 | 微信支付配置详情 | |
alipayAppPayToH5Pay | boolean | 否 | false | 是否使用当面付接口来代替支付宝app支付 优势:可免去申请支付宝APP支付的接口 |
appleiap | object | 否 | ios内购支付配置 | |
vkspay | object | 否 | VksPay个人支付配置 | |
wxpay-virtual | object | 否 | 微信小程序虚拟支付配置 | |
douyin | object | 否 | 抖音支付配置 |
# 完整数据格式示例
{
"_id":"001",
"wxpay": {
"mp-weixin": {
"appId": "",
"secret": "",
"mchId": "",
"key": "",
"pfx": "",
"v3Key": "",
"appCertContent": "",
"appPrivateKeyContent": "",
"version": 3
},
"app-plus": {
"appId": "",
"secret": "",
"mchId": "",
"key": "",
"pfx": "",
"v3Key": "",
"appCertContent": "",
"appPrivateKeyContent": "",
"version": 3
},
"h5": {
"appId": "",
"secret": "",
"mchId": "",
"key": "",
"pfx": "",
"v3Key": "",
"appCertContent": "",
"appPrivateKeyContent": "",
"version": 3
},
"h5-weixin": {
"appId": "",
"secret": "",
"mchId": "",
"key": "",
"pfx": "",
"v3Key": "",
"appCertContent": "",
"appPrivateKeyContent": "",
"version": 3
},
"mweb": {
"appId": "",
"secret": "",
"mchId": "",
"key": "",
"pfx": "",
"v3Key": "",
"appCertContent": "",
"appPrivateKeyContent": "",
"version": 3,
"sceneInfo": {
"h5_info": {
"type": "Wap",
"wap_url": "https://www.xxxxxx.com",
"wap_name": "网站名称"
}
}
},
"transfer": {
"appId": "",
"mchId": "",
"v3Key": "",
"appCertContent": "",
"appPrivateKeyContent": "",
"wxpayPublicCertSn": "",
"wxpayPublicCertContent": ""
}
},
"alipay": {
"mp-alipay": {
"appId": "",
"privateKey": "",
"alipayPublicCertContent": "",
"alipayRootCertContent": "",
"appCertContent": "",
"sandbox": false
},
"app-plus": {
"appId": "",
"privateKey": "",
"alipayPublicCertContent": "",
"alipayRootCertContent": "",
"appCertContent": "",
"sandbox": false
},
"h5": {
"appId": "",
"privateKey": "",
"alipayPublicCertContent": "",
"alipayRootCertContent": "",
"appCertContent": "",
"sandbox": false
},
"transfer": {
"appId": "",
"privateKey": "",
"alipayPublicCertContent": "",
"alipayRootCertContent": "",
"appCertContent": "",
"sandbox": false
}
},
"appleiap": {
"app-plus": {
"password": "",
"timeout": 10000,
"receiptExpiresIn": 86400,
"sandbox": false
}
},
"wxpay-virtual": {
"mp-weixin": {
"appId": "",
"secret": "",
"mchId": "",
"offerId": "",
"appKey": "",
"sandboxAppKey": "",
"rate": 100,
"token": "",
"encodingAESKey": "",
"sandbox": false
}
},
"vkspay": {
"mchId": "",
"key": ""
},
"douyin": {
"mp-toutiao": {
"appId": "",
"secret": "",
"mchId": "",
"salt": "",
"token": "",
"sandbox": false
}
}
}
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# wxpay字段(微信支付配置说明)
# v2版本
字段名称 | 字段类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
appId | string | 是 | 微信后台的appId | |
secret | string | 是 | 微信后台的secret(微信小程序、微信公众号必填) | |
mchId | string | 是 | 微信支付的商户id | |
key | string | 是 | 微信支付V2版本的api密钥 | |
pfx | string | 否 | 微信支付V2版本的p12证书(apiclient_cert.p12证书转base64后的值) | |
version | number | 是 | 2 | 启用支付的版本 2代表v2版本 3 代表v3版本 |
# v3版本
字段名称 | 字段类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
appId | string | 是 | 微信后台的appId | |
secret | string | 是 | 微信后台的secret(微信小程序、微信公众号必填) | |
mchId | string | 是 | 微信支付的商户id | |
v3Key | string | 是 | 微信支付V3版本的api密钥 | |
appCertContent | string | 是 | 微信支付V3版本需要用到的证书 apiclient_cert.pem 文件内的字符串的值(变成一行,且换行处需要加\n) | |
appPrivateKeyContent | string | 是 | 微信支付V3版本需要用到的证书 apiclient_key.pem 文件内的字符串的值(变成一行,且换行处需要加\n) | |
version | number | 是 | 3 | 启用支付的版本 2代表v2版本 3 代表v3版本 |
# alipay字段(支付宝配置说明)
字段名称 | 字段类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
appId | string | 是 | 支付宝开放平台的应用appId | |
privateKey | string | 是 | 应用私钥 | |
alipayPublicCertContent | string | 是 | 支付宝公钥证书 alipayCertPublicKey_RSA2.crt 文件内的字符串的值(变成一行,且换行处需要加\n) | |
alipayRootCertContent | string | 是 | 支付宝根证书 alipayRootCert.crt 文件内的字符串的值(变成一行,且换行处需要加\n) | |
appCertContent | string | 是 | 应用公钥证书 appCertPublicKey.crt 文件内的字符串的值(变成一行,且换行处需要加\n) | |
sandbox | string | 否 | false | 是否沙箱模式 true 沙箱模式 false 正常模式 |
# 特别说明
- 微信V2版本的
pfx
的值是apiclient_cert.p12
证书文件转base64
后的值 - 微信V3版本的
appCertContent
的值是apiclient_cert.pem
证书文件内的字符串的值(变成一行,且换行处需要加\n) - 微信V3版本的
appPrivateKeyContent
的值是apiclient_key.pem
证书文件内的字符串的值(变成一行,且换行处需要加\n) - 支付宝的
alipayPublicCertContent
的值是alipayCertPublicKey_RSA2.crt
证书文件内的字符串的值(变成一行,且换行处需要加\n) - 支付宝的
alipayRootCertContent
的值是alipayRootCert.crt
证书文件内的字符串的值(变成一行,且换行处需要加\n) - 支付宝的
appCertContent
的值是appCertPublicKey.crt
证书文件内的字符串的值(变成一行,且换行处需要加\n)
# 证书如何转base64
新建一个云函数,同时将微信p12证书复制到跟这个云函数同级目录,运行以下代码即可获得base64。
const fs = require('fs');
let pfx = fs.readFileSync(__dirname + '/apiclient_cert.p12');
let base64 = pfx.toString('base64');
console.log('base64: ', base64)
1
2
3
4
2
3
4
或直接使用证书转换工具 传送门 - 证书转换工具 (opens new window)