@yunzhanghu/sdk-nodejs 0.0.1-beta.1
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/.eslintignore +4 -0
- package/.eslintrc.json +19 -0
- package/.husky/pre-commit +7 -0
- package/LICENSE +201 -0
- package/README.md +114 -0
- package/example/apiUserSign.js +70 -0
- package/example/authentication.js +142 -0
- package/example/bizlicXjjH5.js +46 -0
- package/example/bizlicXjjH5Api.js +65 -0
- package/example/conf/config.js +30 -0
- package/example/dataService.js +98 -0
- package/example/h5UserSign.js +68 -0
- package/example/invoice.js +91 -0
- package/example/notify.js +36 -0
- package/example/package.json +12 -0
- package/example/payment.js +186 -0
- package/example/tax.js +34 -0
- package/package.json +47 -0
- package/prettier.config.js +32 -0
- package/src/common/client.ts +367 -0
- package/src/common/exception/yzhSDKHttpException.ts +32 -0
- package/src/common/http/index.ts +57 -0
- package/src/common/utils/index.ts +18 -0
- package/src/index.ts +1 -0
- package/src/services/apiusersign/index.ts +125 -0
- package/src/services/authentication/index.ts +247 -0
- package/src/services/bizlicxjjh5/index.ts +129 -0
- package/src/services/bizlicxjjh5api/index.ts +169 -0
- package/src/services/dataservice/index.ts +315 -0
- package/src/services/h5usersign/index.ts +145 -0
- package/src/services/index.ts +10 -0
- package/src/services/invoice/index.ts +257 -0
- package/src/services/payment/index.ts +523 -0
- package/src/services/tax/index.ts +77 -0
- package/src/typings.d.ts +1 -0
- package/tsconfig.json +25 -0
- package/yzh/common/client.d.ts +119 -0
- package/yzh/common/client.js +314 -0
- package/yzh/common/exception/yzhSDKHttpException.d.ts +10 -0
- package/yzh/common/exception/yzhSDKHttpException.js +21 -0
- package/yzh/common/http/index.d.ts +6 -0
- package/yzh/common/http/index.js +51 -0
- package/yzh/common/utils/index.d.ts +14 -0
- package/yzh/common/utils/index.js +11 -0
- package/yzh/index.d.ts +1 -0
- package/yzh/index.js +4 -0
- package/yzh/services/apiusersign/index.d.ts +86 -0
- package/yzh/services/apiusersign/index.js +26 -0
- package/yzh/services/authentication/index.d.ts +153 -0
- package/yzh/services/authentication/index.js +42 -0
- package/yzh/services/bizlicxjjh5/index.d.ts +76 -0
- package/yzh/services/bizlicxjjh5/index.js +18 -0
- package/yzh/services/bizlicxjjh5api/index.d.ts +107 -0
- package/yzh/services/bizlicxjjh5api/index.js +22 -0
- package/yzh/services/dataservice/index.d.ts +243 -0
- package/yzh/services/dataservice/index.js +38 -0
- package/yzh/services/h5usersign/index.d.ts +90 -0
- package/yzh/services/h5usersign/index.js +26 -0
- package/yzh/services/index.d.ts +10 -0
- package/yzh/services/index.js +23 -0
- package/yzh/services/invoice/index.d.ts +158 -0
- package/yzh/services/invoice/index.js +34 -0
- package/yzh/services/payment/index.d.ts +358 -0
- package/yzh/services/payment/index.js +50 -0
- package/yzh/services/tax/index.d.ts +55 -0
- package/yzh/services/tax/index.js +18 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
const config = {
|
|
2
|
+
// 平台企业 ID,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取
|
|
3
|
+
dealer_id: "200***62",
|
|
4
|
+
// 综合服务主体 ID,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取
|
|
5
|
+
broker_id: "xj***t",
|
|
6
|
+
// 平台企业 App Key,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取
|
|
7
|
+
app_key: "36pr4E***ofEd",
|
|
8
|
+
// 平台企业 3DES Key,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取
|
|
9
|
+
des3_key: "Y54w5g***x9jv",
|
|
10
|
+
// 平台企业私钥,自行生成 RSA 公私钥,私钥请妥善保存,谨防泄露。平台企业公钥请登录云账户综合服务平台配置,选择“业务中心 > 业务管理 > 对接信息”,单击页面右上角的“编辑”,完成平台企业公钥配置
|
|
11
|
+
private_key: `-----BEGIN PRIVATE KEY-----
|
|
12
|
+
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC1LHsuXz2JQ01f
|
|
13
|
+
*
|
|
14
|
+
*
|
|
15
|
+
*
|
|
16
|
+
J3yJsY8L1j3V4sO5ykS76x8Y
|
|
17
|
+
-----END PRIVATE KEY-----`,
|
|
18
|
+
// 云账户公钥,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取
|
|
19
|
+
yzh_public_key: `-----BEGIN PUBLIC KEY-----
|
|
20
|
+
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDe4ipz4/EGFZphz2rYy8T2hdCL
|
|
21
|
+
*
|
|
22
|
+
*
|
|
23
|
+
*
|
|
24
|
+
QqP7lt6FdvzGxehaHwIDAQAB
|
|
25
|
+
-----END PUBLIC KEY-----`,
|
|
26
|
+
// 签名方式,登录云账户综合服务平台,选择“业务中心 > 业务管理 > 对接信息”获取,默认为 RSA 签名方式。
|
|
27
|
+
// rsa:RSA 签名方式 sha256:HMAC 签名方式
|
|
28
|
+
sign_type: "rsa",
|
|
29
|
+
}
|
|
30
|
+
module.exports = config
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
const yzhAPI = require("../yzh/index.js")
|
|
2
|
+
const config = require("./conf/config.js")
|
|
3
|
+
|
|
4
|
+
// 对账文件获取
|
|
5
|
+
|
|
6
|
+
const dataService = new yzhAPI.Dataservice(config)
|
|
7
|
+
|
|
8
|
+
// 查询日订单文件
|
|
9
|
+
dataService
|
|
10
|
+
.GetDailyOrderFile({
|
|
11
|
+
order_date: "2023-01-13",
|
|
12
|
+
})
|
|
13
|
+
.then((data) => {
|
|
14
|
+
console.log("响应内容:", data)
|
|
15
|
+
})
|
|
16
|
+
.catch((err) => {
|
|
17
|
+
console.log(err.toString())
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
// 查询日流水文件
|
|
21
|
+
dataService
|
|
22
|
+
.GetDailyBillFileV2({
|
|
23
|
+
bill_date: "2023-01-13",
|
|
24
|
+
})
|
|
25
|
+
.then((data) => {
|
|
26
|
+
console.log("响应内容:", data)
|
|
27
|
+
})
|
|
28
|
+
.catch((err) => {
|
|
29
|
+
console.log(err.toString())
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
// 查询平台企业预付业务服务费记录
|
|
33
|
+
dataService
|
|
34
|
+
.ListDealerRechargeRecordV2({
|
|
35
|
+
begin_at: "2023-01-01",
|
|
36
|
+
end_at: "2023-01-30",
|
|
37
|
+
})
|
|
38
|
+
.then((data) => {
|
|
39
|
+
console.log("响应内容:", JSON.stringify(data, null, 2))
|
|
40
|
+
})
|
|
41
|
+
.catch((err) => {
|
|
42
|
+
console.log(err.toString())
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
// 查询日订单数据
|
|
46
|
+
dataService
|
|
47
|
+
.ListDailyOrder({
|
|
48
|
+
order_date: "2023-01-13",
|
|
49
|
+
offset: 0,
|
|
50
|
+
length: 100,
|
|
51
|
+
channel: "",
|
|
52
|
+
data_type: "",
|
|
53
|
+
})
|
|
54
|
+
.then((data) => {
|
|
55
|
+
console.log("响应内容:", JSON.stringify(data, null, 2))
|
|
56
|
+
})
|
|
57
|
+
.catch((err) => {
|
|
58
|
+
console.log(err.toString())
|
|
59
|
+
})
|
|
60
|
+
|
|
61
|
+
// 查询日订单文件(支付和退款订单)
|
|
62
|
+
dataService
|
|
63
|
+
.GetDailyOrderFileV2({
|
|
64
|
+
order_date: "2023-01-13",
|
|
65
|
+
})
|
|
66
|
+
.then((data) => {
|
|
67
|
+
console.log("响应内容:", data)
|
|
68
|
+
})
|
|
69
|
+
.catch((err) => {
|
|
70
|
+
console.log(err.toString())
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
// 查询日流水数据
|
|
74
|
+
dataService
|
|
75
|
+
.ListDailyBill({
|
|
76
|
+
bill_date: "2022-10-28",
|
|
77
|
+
offset: 0,
|
|
78
|
+
length: 100,
|
|
79
|
+
data_type: "",
|
|
80
|
+
})
|
|
81
|
+
.then((data) => {
|
|
82
|
+
console.log("响应内容:", JSON.stringify(data, null, 2))
|
|
83
|
+
})
|
|
84
|
+
.catch((err) => {
|
|
85
|
+
console.log(err.toString())
|
|
86
|
+
})
|
|
87
|
+
|
|
88
|
+
// 查询余额日账单数据
|
|
89
|
+
dataService
|
|
90
|
+
.ListBalanceDailyStatement({
|
|
91
|
+
statement_date: "2022-10-28",
|
|
92
|
+
})
|
|
93
|
+
.then((data) => {
|
|
94
|
+
console.log("响应内容:", JSON.stringify(data, null, 2))
|
|
95
|
+
})
|
|
96
|
+
.catch((err) => {
|
|
97
|
+
console.log(err.toString())
|
|
98
|
+
})
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const yzhAPI = require("../yzh/index.js")
|
|
2
|
+
const config = require("./conf/config.js")
|
|
3
|
+
|
|
4
|
+
// H5 签约
|
|
5
|
+
|
|
6
|
+
const h5usersign = new yzhAPI.H5usersign(config)
|
|
7
|
+
|
|
8
|
+
// 预申请签约
|
|
9
|
+
h5usersign
|
|
10
|
+
.H5UserPresign({
|
|
11
|
+
dealer_id: config.dealer_id,
|
|
12
|
+
broker_id: config.broker_id,
|
|
13
|
+
real_name: "张三",
|
|
14
|
+
id_card: " 120110119990000111",
|
|
15
|
+
certificate_type: 0,
|
|
16
|
+
})
|
|
17
|
+
.then((data) => {
|
|
18
|
+
console.log("响应内容:", data)
|
|
19
|
+
})
|
|
20
|
+
.catch((err) => {
|
|
21
|
+
console.log(err.toString())
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
// 申请签约
|
|
25
|
+
h5usersign
|
|
26
|
+
.H5UserSign({
|
|
27
|
+
token: "55866120-532d-44dd-9251-cf453c7f4c63",
|
|
28
|
+
color: "",
|
|
29
|
+
url: "https://xxx",
|
|
30
|
+
redirect_url: "",
|
|
31
|
+
})
|
|
32
|
+
.then((data) => {
|
|
33
|
+
console.log("响应内容:", data)
|
|
34
|
+
})
|
|
35
|
+
.catch((err) => {
|
|
36
|
+
console.log(err.toString())
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
// 获取用户签约状态
|
|
40
|
+
h5usersign
|
|
41
|
+
.GetH5UserSignStatus({
|
|
42
|
+
dealer_id: config.dealer_id,
|
|
43
|
+
broker_id: config.broker_id,
|
|
44
|
+
real_name: "张三",
|
|
45
|
+
id_card: "120110119990000111",
|
|
46
|
+
})
|
|
47
|
+
.then((data) => {
|
|
48
|
+
console.log("响应内容:", data)
|
|
49
|
+
})
|
|
50
|
+
.catch((err) => {
|
|
51
|
+
console.log(err.toString())
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
// 用户解约(测试账号专用接口)
|
|
55
|
+
h5usersign
|
|
56
|
+
.H5UserRelease({
|
|
57
|
+
dealer_id: config.dealer_id,
|
|
58
|
+
broker_id: config.broker_id,
|
|
59
|
+
real_name: "张三",
|
|
60
|
+
id_card: "120110119990000111",
|
|
61
|
+
certificate_type: 0,
|
|
62
|
+
})
|
|
63
|
+
.then((data) => {
|
|
64
|
+
console.log("响应内容:", data)
|
|
65
|
+
})
|
|
66
|
+
.catch((err) => {
|
|
67
|
+
console.log(err.toString())
|
|
68
|
+
})
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
const yzhAPI = require("../yzh/index.js")
|
|
2
|
+
const config = require("./conf/config.js")
|
|
3
|
+
|
|
4
|
+
// 发票开具
|
|
5
|
+
|
|
6
|
+
const invoice = new yzhAPI.Invoice(config)
|
|
7
|
+
|
|
8
|
+
// 查询平台企业已开具和待开具发票金额
|
|
9
|
+
invoice
|
|
10
|
+
.GetInvoiceStat({
|
|
11
|
+
dealer_id: config.dealer_id,
|
|
12
|
+
broker_id: config.broker_id,
|
|
13
|
+
year: 2023,
|
|
14
|
+
})
|
|
15
|
+
.then((data) => {
|
|
16
|
+
console.log("响应内容:", data)
|
|
17
|
+
})
|
|
18
|
+
.catch((err) => {
|
|
19
|
+
console.log(err.toString())
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
// 查询可开具发票额度和发票开具信息
|
|
23
|
+
invoice
|
|
24
|
+
.GetInvoiceAmount({
|
|
25
|
+
dealer_id: config.dealer_id,
|
|
26
|
+
broker_id: config.broker_id,
|
|
27
|
+
})
|
|
28
|
+
.then((data) => {
|
|
29
|
+
console.log("响应内容:", data)
|
|
30
|
+
})
|
|
31
|
+
.catch((err) => {
|
|
32
|
+
console.log(err.toString())
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
// 发票开具申请
|
|
36
|
+
invoice
|
|
37
|
+
.ApplyInvoice({
|
|
38
|
+
dealer_id: config.dealer_id,
|
|
39
|
+
broker_id: config.broker_id,
|
|
40
|
+
invoice_apply_id: "20230118",
|
|
41
|
+
amount: "1.00",
|
|
42
|
+
invoice_type: "2",
|
|
43
|
+
bank_name_account: "",
|
|
44
|
+
goods_services_name: "*测试分类*test测试内容",
|
|
45
|
+
remark: "",
|
|
46
|
+
})
|
|
47
|
+
.then((data) => {
|
|
48
|
+
console.log("响应内容:", data)
|
|
49
|
+
})
|
|
50
|
+
.catch((err) => {
|
|
51
|
+
console.log(err.toString())
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
// 查询发票开具申请状态
|
|
55
|
+
invoice
|
|
56
|
+
.GetInvoiceStatus({
|
|
57
|
+
invoice_apply_id: "1",
|
|
58
|
+
application_id: "417481",
|
|
59
|
+
})
|
|
60
|
+
.then((data) => {
|
|
61
|
+
console.log("响应内容:", data)
|
|
62
|
+
})
|
|
63
|
+
.catch((err) => {
|
|
64
|
+
console.log(err.toString())
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
// 下载 PDF 版发票
|
|
68
|
+
invoice
|
|
69
|
+
.GetInvoiceFile({
|
|
70
|
+
invoice_apply_id: "20230118",
|
|
71
|
+
application_id: "417481",
|
|
72
|
+
})
|
|
73
|
+
.then((data) => {
|
|
74
|
+
console.log("响应内容:", data)
|
|
75
|
+
})
|
|
76
|
+
.catch((err) => {
|
|
77
|
+
console.log(err.toString())
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
// 发送发票扫描件压缩包下载链接邮件
|
|
81
|
+
invoice
|
|
82
|
+
.SendReminderEmail({
|
|
83
|
+
invoice_apply_id: "",
|
|
84
|
+
application_id: "416286",
|
|
85
|
+
})
|
|
86
|
+
.then((data) => {
|
|
87
|
+
console.log("响应内容:", data)
|
|
88
|
+
})
|
|
89
|
+
.catch((err) => {
|
|
90
|
+
console.log(err.toString())
|
|
91
|
+
})
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const yunzhanghu = require("../yzh/index.js")
|
|
2
|
+
|
|
3
|
+
// 模拟异步通知接口验签+解密
|
|
4
|
+
|
|
5
|
+
const util = new yunzhanghu.Util({
|
|
6
|
+
dealer_id: process.env.DEALER_ID,
|
|
7
|
+
broker_id: process.env.BROKER_ID,
|
|
8
|
+
app_key: process.env.APP_KEY,
|
|
9
|
+
des3_key: process.env.DES3_KEY,
|
|
10
|
+
private_key: process.env.PRIVATE_KEY,
|
|
11
|
+
yzh_public_key: process.env.YZH_PUBLIC_KEY,
|
|
12
|
+
sign_type: process.env.sign_type,
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
// 回调函数
|
|
16
|
+
Promise.resolve({
|
|
17
|
+
// 返回的数据
|
|
18
|
+
data: "xxxx",
|
|
19
|
+
// 返回的随机字符串
|
|
20
|
+
mess: "xxxx",
|
|
21
|
+
// 返回的时间戳
|
|
22
|
+
timestamp: "xxxx",
|
|
23
|
+
// 返回的签名
|
|
24
|
+
sign: "xxxx",
|
|
25
|
+
}).then((res) => {
|
|
26
|
+
// 接口返回结果
|
|
27
|
+
const result = util.notifyDecoder(res)
|
|
28
|
+
// 验签成功
|
|
29
|
+
if (result.result) {
|
|
30
|
+
console.log("解密后数据内容", result.plaintext)
|
|
31
|
+
// TODO:业务逻辑处理
|
|
32
|
+
} else {
|
|
33
|
+
// 验签失败
|
|
34
|
+
// TODO:业务逻辑处理
|
|
35
|
+
}
|
|
36
|
+
})
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
const yzhAPI = require("../yzh/index.js")
|
|
2
|
+
const config = require("./conf/config.js")
|
|
3
|
+
// 实时支付
|
|
4
|
+
const payment = new yzhAPI.Payment(config)
|
|
5
|
+
|
|
6
|
+
// 银行卡实时支付
|
|
7
|
+
payment
|
|
8
|
+
.CreateBankpayOrder({
|
|
9
|
+
order_id: "nodetest123",
|
|
10
|
+
dealer_id: config.dealer_id,
|
|
11
|
+
broker_id: config.broker_id,
|
|
12
|
+
real_name: "张三",
|
|
13
|
+
card_no: "1111111",
|
|
14
|
+
id_card: "11111111",
|
|
15
|
+
pay: "0.01",
|
|
16
|
+
pay_remark: "test",
|
|
17
|
+
notify_url: "https://xxx",
|
|
18
|
+
project_id: "",
|
|
19
|
+
})
|
|
20
|
+
.then((data) => {
|
|
21
|
+
console.log("响应内容:", data)
|
|
22
|
+
})
|
|
23
|
+
.catch((err) => {
|
|
24
|
+
console.log(err.toString())
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
// 支付宝实时支付
|
|
28
|
+
payment
|
|
29
|
+
.CreateAlipayOrder({
|
|
30
|
+
order_id: "nodetest123",
|
|
31
|
+
dealer_id: config.dealer_id,
|
|
32
|
+
broker_id: config.broker_id,
|
|
33
|
+
real_name: "张三",
|
|
34
|
+
card_no: "1111111",
|
|
35
|
+
id_card: "11111111",
|
|
36
|
+
pay: "0.01",
|
|
37
|
+
check_name: "Check",
|
|
38
|
+
pay_remark: "test",
|
|
39
|
+
notify_url: "https://xxx",
|
|
40
|
+
project_id: "",
|
|
41
|
+
})
|
|
42
|
+
.then((data) => {
|
|
43
|
+
console.log("响应内容:", data)
|
|
44
|
+
})
|
|
45
|
+
.catch((err) => {
|
|
46
|
+
console.log(err.toString())
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
// 微信实时支付
|
|
50
|
+
payment
|
|
51
|
+
.CreateWxpayOrder({
|
|
52
|
+
order_id: "nodetest1234",
|
|
53
|
+
dealer_id: config.dealer_id,
|
|
54
|
+
broker_id: config.broker_id,
|
|
55
|
+
real_name: "张三",
|
|
56
|
+
openid: "1111111",
|
|
57
|
+
id_card: "11111111",
|
|
58
|
+
pay: "0.3",
|
|
59
|
+
wx_app_id: "",
|
|
60
|
+
pay_remark: "test",
|
|
61
|
+
notify_url: "https://xxx",
|
|
62
|
+
project_id: "",
|
|
63
|
+
})
|
|
64
|
+
.then((data) => {
|
|
65
|
+
console.log("响应内容:", data)
|
|
66
|
+
})
|
|
67
|
+
.catch((err) => {
|
|
68
|
+
console.log(err.toString())
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
// 查询单笔订单信息
|
|
72
|
+
payment
|
|
73
|
+
.GetOrder({
|
|
74
|
+
order_id: "2222",
|
|
75
|
+
channel: "支付宝",
|
|
76
|
+
data_type: "",
|
|
77
|
+
})
|
|
78
|
+
.then((data) => {
|
|
79
|
+
console.log("响应内容:", data)
|
|
80
|
+
})
|
|
81
|
+
.catch((err) => {
|
|
82
|
+
console.log(err.toString())
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
// 查询平台企业余额
|
|
86
|
+
payment
|
|
87
|
+
.ListAccount({
|
|
88
|
+
dealer_id: config.dealer_id,
|
|
89
|
+
})
|
|
90
|
+
.then((data) => {
|
|
91
|
+
console.log("响应内容:", data)
|
|
92
|
+
})
|
|
93
|
+
.catch((err) => {
|
|
94
|
+
console.log(err.toString())
|
|
95
|
+
})
|
|
96
|
+
|
|
97
|
+
// 查询电子回单
|
|
98
|
+
payment
|
|
99
|
+
.GetEleReceiptFile({
|
|
100
|
+
order_id: "120530112204453",
|
|
101
|
+
ref: "",
|
|
102
|
+
})
|
|
103
|
+
.then((data) => {
|
|
104
|
+
console.log("响应内容:", data)
|
|
105
|
+
})
|
|
106
|
+
.catch((err) => {
|
|
107
|
+
console.log(err.toString())
|
|
108
|
+
})
|
|
109
|
+
|
|
110
|
+
// 取消待支付订单
|
|
111
|
+
payment
|
|
112
|
+
.CancelOrder({
|
|
113
|
+
dealer_id: config.dealer_id,
|
|
114
|
+
order_id: "2222",
|
|
115
|
+
})
|
|
116
|
+
.then((data) => {
|
|
117
|
+
console.log("响应内容:", data)
|
|
118
|
+
})
|
|
119
|
+
.catch((err) => {
|
|
120
|
+
console.log("@@@@@@", err.toString())
|
|
121
|
+
})
|
|
122
|
+
|
|
123
|
+
// 查询平台企业汇款信息
|
|
124
|
+
payment
|
|
125
|
+
.GetDealerVARechargeAccount({
|
|
126
|
+
dealer_id: config.dealer_id,
|
|
127
|
+
broker_id: config.broker_id,
|
|
128
|
+
})
|
|
129
|
+
.then((data) => {
|
|
130
|
+
console.log("响应内容:", data)
|
|
131
|
+
})
|
|
132
|
+
.catch((err) => {
|
|
133
|
+
console.log(err.toString())
|
|
134
|
+
})
|
|
135
|
+
|
|
136
|
+
// 批次下单
|
|
137
|
+
payment
|
|
138
|
+
.CreateBatchOrder({
|
|
139
|
+
batch_id: "batchtest123456",
|
|
140
|
+
dealer_id: config.dealer_id,
|
|
141
|
+
broker_id: config.broker_id,
|
|
142
|
+
channel: "支付宝",
|
|
143
|
+
total_pay: "0.02",
|
|
144
|
+
total_count: "2",
|
|
145
|
+
order_list: [
|
|
146
|
+
{
|
|
147
|
+
order_id: "2013011801111",
|
|
148
|
+
real_name: "张三",
|
|
149
|
+
card_no: "test333@163.com",
|
|
150
|
+
id_card: "11111",
|
|
151
|
+
pay: "0.01",
|
|
152
|
+
pay_remark: "测试订单1",
|
|
153
|
+
notify_url: "https://xxx",
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
order_id: "2013011802111",
|
|
157
|
+
real_name: "李四",
|
|
158
|
+
card_no: "test123@123.com",
|
|
159
|
+
id_card: "22",
|
|
160
|
+
pay: "0.01",
|
|
161
|
+
pay_remark: "测试订单2111",
|
|
162
|
+
notify_url: "https://xxx",
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
})
|
|
166
|
+
.then((data) => {
|
|
167
|
+
console.log("响应内容:", JSON.stringify(data, null, 2))
|
|
168
|
+
})
|
|
169
|
+
.catch((err) => {
|
|
170
|
+
console.log(err.toString())
|
|
171
|
+
})
|
|
172
|
+
|
|
173
|
+
// 批次确认
|
|
174
|
+
payment
|
|
175
|
+
.ConfirmBatchOrder({
|
|
176
|
+
batch_id: "batchtest1234",
|
|
177
|
+
dealer_id: config.dealer_id,
|
|
178
|
+
broker_id: config.broker_id,
|
|
179
|
+
channel: "支付宝",
|
|
180
|
+
})
|
|
181
|
+
.then((data) => {
|
|
182
|
+
console.log("响应内容:", data)
|
|
183
|
+
})
|
|
184
|
+
.catch((err) => {
|
|
185
|
+
console.log(err.toString())
|
|
186
|
+
})
|
package/example/tax.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const yzhAPI = require("../yzh/index.js")
|
|
2
|
+
const config = require("./conf/config.js")
|
|
3
|
+
|
|
4
|
+
// 个人所得税扣缴明细表
|
|
5
|
+
const tax = new yzhAPI.Tax(config)
|
|
6
|
+
|
|
7
|
+
// 下载个人所得税扣缴明细表
|
|
8
|
+
tax
|
|
9
|
+
.GetTaxFile({
|
|
10
|
+
dealer_id: config.dealer_id,
|
|
11
|
+
ent_id: "accumulus_tj",
|
|
12
|
+
year_month: "2022-10",
|
|
13
|
+
})
|
|
14
|
+
.then((data) => {
|
|
15
|
+
console.log("返回内容data", data)
|
|
16
|
+
})
|
|
17
|
+
.catch((err) => {
|
|
18
|
+
console.log(err.toString())
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
// 查询纳税人是否为跨集团用户
|
|
22
|
+
tax
|
|
23
|
+
.GetUserCross({
|
|
24
|
+
dealer_id: config.dealer_id,
|
|
25
|
+
ent_id: "accumulus_tj",
|
|
26
|
+
id_card: "1201101199900000",
|
|
27
|
+
year: "2022",
|
|
28
|
+
})
|
|
29
|
+
.then((data) => {
|
|
30
|
+
console.log("返回内容data", data)
|
|
31
|
+
})
|
|
32
|
+
.catch((err) => {
|
|
33
|
+
console.log(err.toString())
|
|
34
|
+
})
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@yunzhanghu/sdk-nodejs",
|
|
3
|
+
"version": "0.0.1-beta.1",
|
|
4
|
+
"description": "云账户 SDK for Node.js",
|
|
5
|
+
"main": "yzh/index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"prettier": "prettier --config prettier.config.js --write 'src/**/*.{ts,js}'",
|
|
10
|
+
"lint:tsc": "tsc -p tsconfig.json --noEmit",
|
|
11
|
+
"lint:es": "eslint --ext .js,ts --cache src",
|
|
12
|
+
"prepare": "husky install"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git@code.yunzhanghu.com:ts/sdk-nodejs.git"
|
|
17
|
+
},
|
|
18
|
+
"engines": {
|
|
19
|
+
"node": ">=12"
|
|
20
|
+
},
|
|
21
|
+
"author": "yunzhanghuapi",
|
|
22
|
+
"license": "Apache-2.0",
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/crypto-js": "^4.1.1",
|
|
25
|
+
"@types/node": "^18.11.18",
|
|
26
|
+
"@types/urlencode": "^1.1.2",
|
|
27
|
+
"@typescript-eslint/eslint-plugin": "^5.50.0",
|
|
28
|
+
"@typescript-eslint/parser": "^5.50.0",
|
|
29
|
+
"eslint": "^8.33.0",
|
|
30
|
+
"husky": "^8.0.3",
|
|
31
|
+
"lint-staged": "^13.1.0",
|
|
32
|
+
"prettier": "^2.8.3",
|
|
33
|
+
"typescript": "^4.9.4"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"axios": "^1.2.1",
|
|
37
|
+
"crypto-js": "^4.1.1",
|
|
38
|
+
"tslib": "^2.4.1",
|
|
39
|
+
"urlencode": "^1.1.0"
|
|
40
|
+
},
|
|
41
|
+
"lint-staged": {
|
|
42
|
+
"*.{js,ts}": [
|
|
43
|
+
"eslint --fix --ext .js,ts --cache src",
|
|
44
|
+
"git add"
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// prettier.config.js
|
|
2
|
+
module.exports = {
|
|
3
|
+
// 一行最多 100 字符
|
|
4
|
+
printWidth: 100,
|
|
5
|
+
// 使用 4 个空格缩进
|
|
6
|
+
tabWidth: 2,
|
|
7
|
+
// 不使用缩进符,而使用空格
|
|
8
|
+
useTabs: false,
|
|
9
|
+
// 行尾需要有分号
|
|
10
|
+
semi: false,
|
|
11
|
+
// 使用单引号
|
|
12
|
+
singleQuote: false,
|
|
13
|
+
// 对象的 key 仅在必要时用引号
|
|
14
|
+
quoteProps: "as-needed",
|
|
15
|
+
// 末尾不需要逗号
|
|
16
|
+
trailingComma: "es5",
|
|
17
|
+
// 大括号内的首尾需要空格
|
|
18
|
+
bracketSpacing: true,
|
|
19
|
+
// 箭头函数,只有一个参数的时候,也需要括号
|
|
20
|
+
arrowParens: "always",
|
|
21
|
+
// 每个文件格式化的范围是文件的全部内容
|
|
22
|
+
rangeStart: 0,
|
|
23
|
+
rangeEnd: Infinity,
|
|
24
|
+
// 不需要写文件开头的 @prettier
|
|
25
|
+
requirePragma: false,
|
|
26
|
+
// 不需要自动在文件开头插入 @prettier
|
|
27
|
+
insertPragma: false,
|
|
28
|
+
// 使用默认的折行标准
|
|
29
|
+
proseWrap: "preserve",
|
|
30
|
+
// 换行符使用 lf
|
|
31
|
+
endOfLine: "lf",
|
|
32
|
+
}
|