wxpay-node-v3 4.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +198 -0
- package/dist/define.d.ts +2 -0
- package/dist/define.js +13 -0
- package/dist/index.d.ts +305 -0
- package/dist/index.js +1215 -0
- package/dist/lib/base.d.ts +49 -0
- package/dist/lib/base.js +270 -0
- package/dist/lib/combine_interface.d.ts +84 -0
- package/dist/lib/combine_interface.js +2 -0
- package/dist/lib/interface-v2.d.ts +557 -0
- package/dist/lib/interface-v2.js +2 -0
- package/dist/lib/interface-v3.d.ts +97 -0
- package/dist/lib/interface-v3.js +2 -0
- package/dist/lib/interface.d.ts +181 -0
- package/dist/lib/interface.js +2 -0
- package/dist/lib/pay-request.d.ts +7 -0
- package/dist/lib/pay-request.interface.d.ts +23 -0
- package/dist/lib/pay-request.interface.js +2 -0
- package/dist/lib/pay-request.js +153 -0
- package/package.json +48 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Output } from './interface-v2';
|
|
2
|
+
export declare class Base {
|
|
3
|
+
protected userAgent: string;
|
|
4
|
+
/**
|
|
5
|
+
* get 请求参数处理
|
|
6
|
+
* @param object query 请求参数
|
|
7
|
+
* @param exclude 需要排除的字段
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
protected objectToQueryString(object: Record<string, any>, exclude?: string[]): string;
|
|
11
|
+
/**
|
|
12
|
+
* 获取请求头
|
|
13
|
+
* @param authorization
|
|
14
|
+
*/
|
|
15
|
+
protected getHeaders(authorization: string, headers?: {}): {
|
|
16
|
+
Accept: string;
|
|
17
|
+
'User-Agent': string;
|
|
18
|
+
Authorization: string;
|
|
19
|
+
'Accept-Encoding': string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* post 请求
|
|
23
|
+
* @param url 请求接口
|
|
24
|
+
* @param params 请求参数
|
|
25
|
+
* @deprecated 弃用
|
|
26
|
+
*/
|
|
27
|
+
protected postRequest(url: string, params: Record<string, any>, authorization: string): Promise<Record<string, any>>;
|
|
28
|
+
/**
|
|
29
|
+
* post 请求 V2
|
|
30
|
+
* @param url 请求接口
|
|
31
|
+
* @param params 请求参数
|
|
32
|
+
* @deprecated 弃用
|
|
33
|
+
*/
|
|
34
|
+
protected postRequestV2(url: string, params: Record<string, any>, authorization: string, headers?: {}): Promise<Output>;
|
|
35
|
+
/**
|
|
36
|
+
* get 请求
|
|
37
|
+
* @param url 请求接口
|
|
38
|
+
* @param query 请求参数
|
|
39
|
+
* @deprecated 弃用
|
|
40
|
+
*/
|
|
41
|
+
protected getRequest(url: string, authorization: string, query?: Record<string, any>): Promise<Record<string, any>>;
|
|
42
|
+
/**
|
|
43
|
+
* get 请求 v2
|
|
44
|
+
* @param url 请求接口
|
|
45
|
+
* @param query 请求参数
|
|
46
|
+
* @deprecated 弃用
|
|
47
|
+
*/
|
|
48
|
+
protected getRequestV2(url: string, authorization: string, query?: Record<string, any>): Promise<Output>;
|
|
49
|
+
}
|
package/dist/lib/base.js
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (_) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
exports.Base = void 0;
|
|
54
|
+
var superagent_1 = __importDefault(require("superagent"));
|
|
55
|
+
var Base = /** @class */ (function () {
|
|
56
|
+
function Base() {
|
|
57
|
+
this.userAgent = '127.0.0.1'; // User-Agent
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* get 请求参数处理
|
|
61
|
+
* @param object query 请求参数
|
|
62
|
+
* @param exclude 需要排除的字段
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
65
|
+
Base.prototype.objectToQueryString = function (object, exclude) {
|
|
66
|
+
if (exclude === void 0) { exclude = []; }
|
|
67
|
+
var str = Object.keys(object)
|
|
68
|
+
.filter(function (key) { return !exclude.includes(key); })
|
|
69
|
+
.map(function (key) {
|
|
70
|
+
return encodeURIComponent(key) + '=' + encodeURIComponent(object[key]);
|
|
71
|
+
})
|
|
72
|
+
.join('&');
|
|
73
|
+
if (str)
|
|
74
|
+
str = '?' + str;
|
|
75
|
+
return str || '';
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* 获取请求头
|
|
79
|
+
* @param authorization
|
|
80
|
+
*/
|
|
81
|
+
Base.prototype.getHeaders = function (authorization, headers) {
|
|
82
|
+
if (headers === void 0) { headers = {}; }
|
|
83
|
+
return __assign(__assign({}, headers), { Accept: 'application/json', 'User-Agent': this.userAgent, Authorization: authorization, 'Accept-Encoding': 'gzip' });
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* post 请求
|
|
87
|
+
* @param url 请求接口
|
|
88
|
+
* @param params 请求参数
|
|
89
|
+
* @deprecated 弃用
|
|
90
|
+
*/
|
|
91
|
+
Base.prototype.postRequest = function (url, params, authorization) {
|
|
92
|
+
var _a, _b;
|
|
93
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
94
|
+
var result, error_1, err;
|
|
95
|
+
return __generator(this, function (_c) {
|
|
96
|
+
switch (_c.label) {
|
|
97
|
+
case 0:
|
|
98
|
+
_c.trys.push([0, 2, , 3]);
|
|
99
|
+
return [4 /*yield*/, superagent_1.default
|
|
100
|
+
.post(url)
|
|
101
|
+
.send(params)
|
|
102
|
+
.set({
|
|
103
|
+
Accept: 'application/json',
|
|
104
|
+
'Content-Type': 'application/json',
|
|
105
|
+
'User-Agent': this.userAgent,
|
|
106
|
+
Authorization: authorization,
|
|
107
|
+
'Accept-Encoding': 'gzip',
|
|
108
|
+
})];
|
|
109
|
+
case 1:
|
|
110
|
+
result = _c.sent();
|
|
111
|
+
return [2 /*return*/, __assign({ status: result.status }, result.body)];
|
|
112
|
+
case 2:
|
|
113
|
+
error_1 = _c.sent();
|
|
114
|
+
err = JSON.parse(JSON.stringify(error_1));
|
|
115
|
+
return [2 /*return*/, __assign({ status: err.status, errRaw: err }, (((_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.text) && JSON.parse((_b = err === null || err === void 0 ? void 0 : err.response) === null || _b === void 0 ? void 0 : _b.text)))];
|
|
116
|
+
case 3: return [2 /*return*/];
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* post 请求 V2
|
|
123
|
+
* @param url 请求接口
|
|
124
|
+
* @param params 请求参数
|
|
125
|
+
* @deprecated 弃用
|
|
126
|
+
*/
|
|
127
|
+
Base.prototype.postRequestV2 = function (url, params, authorization, headers) {
|
|
128
|
+
var _a;
|
|
129
|
+
if (headers === void 0) { headers = {}; }
|
|
130
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
131
|
+
var result, error_2, err;
|
|
132
|
+
return __generator(this, function (_b) {
|
|
133
|
+
switch (_b.label) {
|
|
134
|
+
case 0:
|
|
135
|
+
_b.trys.push([0, 2, , 3]);
|
|
136
|
+
return [4 /*yield*/, superagent_1.default
|
|
137
|
+
.post(url)
|
|
138
|
+
.send(params)
|
|
139
|
+
.set(__assign(__assign({}, headers), { Accept: 'application/json', 'Content-Type': 'application/json', 'User-Agent': this.userAgent, Authorization: authorization, 'Accept-Encoding': 'gzip' }))];
|
|
140
|
+
case 1:
|
|
141
|
+
result = _b.sent();
|
|
142
|
+
return [2 /*return*/, {
|
|
143
|
+
status: result.status,
|
|
144
|
+
data: result.body,
|
|
145
|
+
}];
|
|
146
|
+
case 2:
|
|
147
|
+
error_2 = _b.sent();
|
|
148
|
+
err = JSON.parse(JSON.stringify(error_2));
|
|
149
|
+
return [2 /*return*/, {
|
|
150
|
+
status: err.status,
|
|
151
|
+
errRaw: err,
|
|
152
|
+
error: (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.text,
|
|
153
|
+
}];
|
|
154
|
+
case 3: return [2 /*return*/];
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* get 请求
|
|
161
|
+
* @param url 请求接口
|
|
162
|
+
* @param query 请求参数
|
|
163
|
+
* @deprecated 弃用
|
|
164
|
+
*/
|
|
165
|
+
Base.prototype.getRequest = function (url, authorization, query) {
|
|
166
|
+
var _a, _b;
|
|
167
|
+
if (query === void 0) { query = {}; }
|
|
168
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
169
|
+
var result, data, error_3, err;
|
|
170
|
+
return __generator(this, function (_c) {
|
|
171
|
+
switch (_c.label) {
|
|
172
|
+
case 0:
|
|
173
|
+
_c.trys.push([0, 2, , 3]);
|
|
174
|
+
return [4 /*yield*/, superagent_1.default
|
|
175
|
+
.get(url)
|
|
176
|
+
.query(query)
|
|
177
|
+
.set({
|
|
178
|
+
Accept: 'application/json',
|
|
179
|
+
'User-Agent': this.userAgent,
|
|
180
|
+
Authorization: authorization,
|
|
181
|
+
'Accept-Encoding': 'gzip',
|
|
182
|
+
})];
|
|
183
|
+
case 1:
|
|
184
|
+
result = _c.sent();
|
|
185
|
+
data = {};
|
|
186
|
+
switch (result.type) {
|
|
187
|
+
case 'application/json':
|
|
188
|
+
data = __assign({ status: result.status }, result.body);
|
|
189
|
+
break;
|
|
190
|
+
case 'text/plain':
|
|
191
|
+
data = {
|
|
192
|
+
status: result.status,
|
|
193
|
+
data: result.text,
|
|
194
|
+
};
|
|
195
|
+
break;
|
|
196
|
+
case 'application/x-gzip':
|
|
197
|
+
data = {
|
|
198
|
+
status: result.status,
|
|
199
|
+
data: result.body,
|
|
200
|
+
};
|
|
201
|
+
break;
|
|
202
|
+
default:
|
|
203
|
+
data = __assign({ status: result.status }, result.body);
|
|
204
|
+
}
|
|
205
|
+
return [2 /*return*/, data];
|
|
206
|
+
case 2:
|
|
207
|
+
error_3 = _c.sent();
|
|
208
|
+
err = JSON.parse(JSON.stringify(error_3));
|
|
209
|
+
return [2 /*return*/, __assign({ status: err.status, errRaw: err }, (((_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.text) && JSON.parse((_b = err === null || err === void 0 ? void 0 : err.response) === null || _b === void 0 ? void 0 : _b.text)))];
|
|
210
|
+
case 3: return [2 /*return*/];
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* get 请求 v2
|
|
217
|
+
* @param url 请求接口
|
|
218
|
+
* @param query 请求参数
|
|
219
|
+
* @deprecated 弃用
|
|
220
|
+
*/
|
|
221
|
+
Base.prototype.getRequestV2 = function (url, authorization, query) {
|
|
222
|
+
var _a;
|
|
223
|
+
if (query === void 0) { query = {}; }
|
|
224
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
225
|
+
var result, data, error_4, err;
|
|
226
|
+
return __generator(this, function (_b) {
|
|
227
|
+
switch (_b.label) {
|
|
228
|
+
case 0:
|
|
229
|
+
_b.trys.push([0, 2, , 3]);
|
|
230
|
+
return [4 /*yield*/, superagent_1.default
|
|
231
|
+
.get(url)
|
|
232
|
+
.query(query)
|
|
233
|
+
.set({
|
|
234
|
+
Accept: 'application/json',
|
|
235
|
+
'User-Agent': this.userAgent,
|
|
236
|
+
Authorization: authorization,
|
|
237
|
+
'Accept-Encoding': 'gzip',
|
|
238
|
+
})];
|
|
239
|
+
case 1:
|
|
240
|
+
result = _b.sent();
|
|
241
|
+
data = {};
|
|
242
|
+
if (result.type === 'text/plain') {
|
|
243
|
+
data = {
|
|
244
|
+
status: result.status,
|
|
245
|
+
data: result.text,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
data = {
|
|
250
|
+
status: result.status,
|
|
251
|
+
data: result.body,
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
return [2 /*return*/, data];
|
|
255
|
+
case 2:
|
|
256
|
+
error_4 = _b.sent();
|
|
257
|
+
err = JSON.parse(JSON.stringify(error_4));
|
|
258
|
+
return [2 /*return*/, {
|
|
259
|
+
status: err.status,
|
|
260
|
+
errRaw: err,
|
|
261
|
+
error: (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.text,
|
|
262
|
+
}];
|
|
263
|
+
case 3: return [2 /*return*/];
|
|
264
|
+
}
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
};
|
|
268
|
+
return Base;
|
|
269
|
+
}());
|
|
270
|
+
exports.Base = Base;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
interface Ih5Info {
|
|
2
|
+
type: string;
|
|
3
|
+
app_name: string;
|
|
4
|
+
app_url?: string;
|
|
5
|
+
bundle_id?: string;
|
|
6
|
+
package_name?: string;
|
|
7
|
+
}
|
|
8
|
+
interface IsceneInfoNative {
|
|
9
|
+
device_id?: string;
|
|
10
|
+
payer_client_ip: string;
|
|
11
|
+
}
|
|
12
|
+
interface IsceneInfoH5 {
|
|
13
|
+
payer_client_ip: string;
|
|
14
|
+
device_id: string;
|
|
15
|
+
h5_info: Ih5Info;
|
|
16
|
+
}
|
|
17
|
+
interface Iamount {
|
|
18
|
+
total_amount: number;
|
|
19
|
+
currency: string;
|
|
20
|
+
}
|
|
21
|
+
interface IsettleInfo {
|
|
22
|
+
profit_sharing?: boolean;
|
|
23
|
+
subsidy_amount?: number;
|
|
24
|
+
}
|
|
25
|
+
interface IsubOrders {
|
|
26
|
+
mchid: string;
|
|
27
|
+
attach: string;
|
|
28
|
+
amount: Iamount;
|
|
29
|
+
out_trade_no: string;
|
|
30
|
+
sub_mchid?: string;
|
|
31
|
+
description: string;
|
|
32
|
+
settle_info?: IsettleInfo;
|
|
33
|
+
}
|
|
34
|
+
interface IcombinePayerInfo {
|
|
35
|
+
openid: string;
|
|
36
|
+
}
|
|
37
|
+
export interface IcombineH5 {
|
|
38
|
+
combine_appid?: string;
|
|
39
|
+
combine_mchid?: string;
|
|
40
|
+
combine_out_trade_no: string;
|
|
41
|
+
scene_info: IsceneInfoH5;
|
|
42
|
+
time_start?: string;
|
|
43
|
+
time_expire?: string;
|
|
44
|
+
notify_url: string;
|
|
45
|
+
sub_orders: IsubOrders[];
|
|
46
|
+
}
|
|
47
|
+
export interface IcombineNative {
|
|
48
|
+
combine_appid?: string;
|
|
49
|
+
combine_mchid?: string;
|
|
50
|
+
combine_out_trade_no: string;
|
|
51
|
+
scene_info: IsceneInfoNative;
|
|
52
|
+
time_start?: string;
|
|
53
|
+
time_expire?: string;
|
|
54
|
+
notify_url: string;
|
|
55
|
+
sub_orders: IsubOrders[];
|
|
56
|
+
}
|
|
57
|
+
export interface IcombineApp {
|
|
58
|
+
combine_appid?: string;
|
|
59
|
+
combine_mchid?: string;
|
|
60
|
+
combine_out_trade_no: string;
|
|
61
|
+
scene_info: IsceneInfoNative;
|
|
62
|
+
time_start?: string;
|
|
63
|
+
time_expire?: string;
|
|
64
|
+
notify_url: string;
|
|
65
|
+
sub_orders: IsubOrders[];
|
|
66
|
+
combine_payer_info?: IcombinePayerInfo;
|
|
67
|
+
}
|
|
68
|
+
export interface IcombineJsapi {
|
|
69
|
+
combine_appid?: string;
|
|
70
|
+
combine_mchid?: string;
|
|
71
|
+
combine_out_trade_no: string;
|
|
72
|
+
scene_info: IsceneInfoNative;
|
|
73
|
+
time_start?: string;
|
|
74
|
+
time_expire?: string;
|
|
75
|
+
notify_url: string;
|
|
76
|
+
sub_orders: IsubOrders[];
|
|
77
|
+
combine_payer_info: IcombinePayerInfo;
|
|
78
|
+
}
|
|
79
|
+
export interface IcloseSubOrders {
|
|
80
|
+
mchid: string;
|
|
81
|
+
out_trade_no: string;
|
|
82
|
+
sub_mchid?: string;
|
|
83
|
+
}
|
|
84
|
+
export {};
|