@up-im/medotvet_sdk 0.0.20 → 0.0.21
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/README.md +5 -4
- package/dist/api/payment.d.ts +8 -16
- package/dist/api/payment.js +9 -23
- package/dist/interfaces/iPayment.d.ts +0 -2
- package/package.json +1 -1
- package/src/api/payment.ts +76 -89
- package/src/interfaces/iPayment.ts +1 -3
package/README.md
CHANGED
|
@@ -90,12 +90,13 @@ const client = createClient({
|
|
|
90
90
|
- `getHistory({ page? })` — история прохождений.
|
|
91
91
|
|
|
92
92
|
### payment
|
|
93
|
-
- `
|
|
94
|
-
|
|
95
|
-
- `addCard({ sum, card_number })` — заявка на карту, вернёт `iPayment`.
|
|
93
|
+
- `add({ sum })` — заявка на выплату. Реквизиты выплат (карта/СБП/счёт)
|
|
94
|
+
пользователь указывает сам на странице верификации SolarStaff.
|
|
96
95
|
- `getList({ page?, select })` — список выплат, сортировка `id desc`.
|
|
97
96
|
- `balance()` — баланс и суммы начислений/выплат.
|
|
98
|
-
- `getVerificationUrl()` — ссылка на KYC SolarStaff
|
|
97
|
+
- `getVerificationUrl()` — ссылка на KYC-страницу SolarStaff, где
|
|
98
|
+
пользователь проходит верификацию и добавляет платёжные реквизиты.
|
|
99
|
+
Возвращает `{ url, verified }`.
|
|
99
100
|
- `checkVerificationStatus()` — статус KYC:
|
|
100
101
|
`not_started|pending|active|blocked` + текст.
|
|
101
102
|
|
package/dist/api/payment.d.ts
CHANGED
|
@@ -4,22 +4,14 @@ import { iPayment } from "../interfaces/iPayment";
|
|
|
4
4
|
import { iBalance } from "../interfaces/iBalance";
|
|
5
5
|
export declare class ApiPayment extends ApiAbstract {
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Добавление запроса на выплату.
|
|
8
|
+
* Реквизиты выплаты (карта/СБП/счёт) пользователь добавляет сам
|
|
9
|
+
* на странице верификации SolarStaff (см. getVerificationUrl) — в этот
|
|
10
|
+
* запрос они не передаются.
|
|
11
|
+
* @param {number} props.sum - сумма выплаты
|
|
10
12
|
*/
|
|
11
|
-
|
|
13
|
+
add(props: {
|
|
12
14
|
sum: number;
|
|
13
|
-
bank: number;
|
|
14
|
-
}): Promise<iPayment>;
|
|
15
|
-
/**
|
|
16
|
-
* добавление запроса на выплату по номеру карты
|
|
17
|
-
* * @param {number} props.sum - сумма выплаты
|
|
18
|
-
* * @param {number} props.card_number - номер карты
|
|
19
|
-
*/
|
|
20
|
-
addCard(props: {
|
|
21
|
-
sum: number;
|
|
22
|
-
card_number: number;
|
|
23
15
|
}): Promise<iPayment>;
|
|
24
16
|
/**
|
|
25
17
|
* список начислений
|
|
@@ -36,8 +28,8 @@ export declare class ApiPayment extends ApiAbstract {
|
|
|
36
28
|
*/
|
|
37
29
|
balance(): Promise<iBalance>;
|
|
38
30
|
/**
|
|
39
|
-
* Получить URL
|
|
40
|
-
*
|
|
31
|
+
* Получить URL страницы верификации в SolarStaff.
|
|
32
|
+
* На этой же странице пользователь добавляет реквизиты выплат.
|
|
41
33
|
*/
|
|
42
34
|
getVerificationUrl(): Promise<{
|
|
43
35
|
url: string;
|
package/dist/api/payment.js
CHANGED
|
@@ -3,35 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ApiPayment = void 0;
|
|
4
4
|
const abstract_1 = require("./abstract");
|
|
5
5
|
const apiRoute_1 = require("../http/apiRoute");
|
|
6
|
-
const payoutType_1 = require("../interfaces/payoutType");
|
|
7
6
|
const apiError_1 = require("../http/apiError");
|
|
8
7
|
class ApiPayment extends abstract_1.ApiAbstract {
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* Добавление запроса на выплату.
|
|
10
|
+
* Реквизиты выплаты (карта/СБП/счёт) пользователь добавляет сам
|
|
11
|
+
* на странице верификации SolarStaff (см. getVerificationUrl) — в этот
|
|
12
|
+
* запрос они не передаются.
|
|
13
|
+
* @param {number} props.sum - сумма выплаты
|
|
13
14
|
*/
|
|
14
|
-
async
|
|
15
|
+
async add(props) {
|
|
15
16
|
if (!await this.userStorage.isAuth())
|
|
16
17
|
throw new apiError_1.ApiError(401, "Пользователь не авторизован");
|
|
17
18
|
const data = await this.fetcher({
|
|
18
19
|
route: apiRoute_1.apiRoutePaymentAdd,
|
|
19
|
-
postBody:
|
|
20
|
-
options: { addToken: true }
|
|
21
|
-
});
|
|
22
|
-
return data.payment;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* добавление запроса на выплату по номеру карты
|
|
26
|
-
* * @param {number} props.sum - сумма выплаты
|
|
27
|
-
* * @param {number} props.card_number - номер карты
|
|
28
|
-
*/
|
|
29
|
-
async addCard(props) {
|
|
30
|
-
if (!await this.userStorage.isAuth())
|
|
31
|
-
throw new apiError_1.ApiError(401, "Пользователь не авторизован");
|
|
32
|
-
const data = await this.fetcher({
|
|
33
|
-
route: apiRoute_1.apiRoutePaymentAdd,
|
|
34
|
-
postBody: { ...props, type: payoutType_1.PayoutType.card },
|
|
20
|
+
postBody: props,
|
|
35
21
|
options: { addToken: true }
|
|
36
22
|
});
|
|
37
23
|
return data.payment;
|
|
@@ -64,8 +50,8 @@ class ApiPayment extends abstract_1.ApiAbstract {
|
|
|
64
50
|
});
|
|
65
51
|
}
|
|
66
52
|
/**
|
|
67
|
-
* Получить URL
|
|
68
|
-
*
|
|
53
|
+
* Получить URL страницы верификации в SolarStaff.
|
|
54
|
+
* На этой же странице пользователь добавляет реквизиты выплат.
|
|
69
55
|
*/
|
|
70
56
|
async getVerificationUrl() {
|
|
71
57
|
if (!await this.userStorage.isAuth())
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { PaymentStatus, PaymentStatusKeys } from "./paymentStatus";
|
|
2
2
|
import { PaymentType, PaymentTypeKeys } from "./paymentType";
|
|
3
|
-
import { PayoutType, PayoutTypeKeys } from "./payoutType";
|
|
4
3
|
export interface iPayment {
|
|
5
4
|
id: number;
|
|
6
5
|
reg_date: string;
|
|
@@ -14,7 +13,6 @@ export interface iPayment {
|
|
|
14
13
|
shop: number | null;
|
|
15
14
|
cashback_level: 0 | 1 | 2 | 3;
|
|
16
15
|
max_cashback_level: null | 0 | 1 | 2 | 3;
|
|
17
|
-
payout_type: typeof PayoutType[PayoutTypeKeys] | null;
|
|
18
16
|
last_error: string;
|
|
19
17
|
price: number;
|
|
20
18
|
}
|
package/package.json
CHANGED
package/src/api/payment.ts
CHANGED
|
@@ -8,98 +8,85 @@ import {
|
|
|
8
8
|
} from "../http/apiRoute"
|
|
9
9
|
import { iPagingItems } from "../interfaces/iPagingItems"
|
|
10
10
|
import { iPayment } from "../interfaces/iPayment"
|
|
11
|
-
import { PayoutType } from "../interfaces/payoutType"
|
|
12
11
|
import { ApiError } from "../http/apiError"
|
|
13
12
|
import { iBalance } from "../interfaces/iBalance"
|
|
14
13
|
|
|
15
14
|
export class ApiPayment extends ApiAbstract {
|
|
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
|
-
async balance() {
|
|
69
|
-
if (!await this.userStorage.isAuth()) throw new ApiError(401, "Пользователь не авторизован")
|
|
70
|
-
return await this.fetcher<iBalance>({
|
|
71
|
-
route: apiRoutePaymentBalance,
|
|
72
|
-
options: { addToken: true }
|
|
73
|
-
})
|
|
74
|
-
}
|
|
15
|
+
/**
|
|
16
|
+
* Добавление запроса на выплату.
|
|
17
|
+
* Реквизиты выплаты (карта/СБП/счёт) пользователь добавляет сам
|
|
18
|
+
* на странице верификации SolarStaff (см. getVerificationUrl) — в этот
|
|
19
|
+
* запрос они не передаются.
|
|
20
|
+
* @param {number} props.sum - сумма выплаты
|
|
21
|
+
*/
|
|
22
|
+
async add(props: { sum: number }) {
|
|
23
|
+
if (!await this.userStorage.isAuth()) throw new ApiError(401, "Пользователь не авторизован")
|
|
24
|
+
const data = await this.fetcher<{ payment: iPayment }>({
|
|
25
|
+
route: apiRoutePaymentAdd,
|
|
26
|
+
postBody: props,
|
|
27
|
+
options: { addToken: true }
|
|
28
|
+
})
|
|
29
|
+
return data.payment
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* список начислений
|
|
33
|
+
* * @param {number} page - отсчет страниц с первой, чтобы не было путаницы
|
|
34
|
+
*/
|
|
35
|
+
async getList<Keys extends keyof iPayment>({
|
|
36
|
+
page = 1,
|
|
37
|
+
select,
|
|
38
|
+
}: {
|
|
39
|
+
page: number
|
|
40
|
+
select: Keys[],
|
|
41
|
+
}) {
|
|
42
|
+
if (!await this.userStorage.isAuth()) throw new ApiError(401, "Пользователь не авторизован")
|
|
43
|
+
return await this.fetcher<iPagingItems<Pick<iPayment, Keys>>>({
|
|
44
|
+
route: apiRoutePaymentList({
|
|
45
|
+
page,
|
|
46
|
+
sorters: ["id desc"],
|
|
47
|
+
select
|
|
48
|
+
}),
|
|
49
|
+
options: { addToken: true }
|
|
50
|
+
})
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* баланс пользователя
|
|
54
|
+
*/
|
|
55
|
+
async balance() {
|
|
56
|
+
if (!await this.userStorage.isAuth()) throw new ApiError(401, "Пользователь не авторизован")
|
|
57
|
+
return await this.fetcher<iBalance>({
|
|
58
|
+
route: apiRoutePaymentBalance,
|
|
59
|
+
options: { addToken: true }
|
|
60
|
+
})
|
|
61
|
+
}
|
|
75
62
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Получить URL страницы верификации в SolarStaff.
|
|
65
|
+
* На этой же странице пользователь добавляет реквизиты выплат.
|
|
66
|
+
*/
|
|
67
|
+
async getVerificationUrl() {
|
|
68
|
+
if (!await this.userStorage.isAuth()) throw new ApiError(401, "Пользователь не авторизован")
|
|
69
|
+
return await this.fetcher<{
|
|
70
|
+
url: string,
|
|
71
|
+
verified: boolean
|
|
72
|
+
}>({
|
|
73
|
+
route: apiRoutePaymentVerificationUrl,
|
|
74
|
+
options: { addToken: true }
|
|
75
|
+
})
|
|
76
|
+
}
|
|
90
77
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
78
|
+
/**
|
|
79
|
+
* Проверить статус верификации пользователя в SolarStaff
|
|
80
|
+
*/
|
|
81
|
+
async checkVerificationStatus() {
|
|
82
|
+
if (!await this.userStorage.isAuth()) throw new ApiError(401, "Пользователь не авторизован")
|
|
83
|
+
return await this.fetcher<{
|
|
84
|
+
verified: boolean,
|
|
85
|
+
status: "not_started" | "pending" | "active" | "blocked",
|
|
86
|
+
message: string
|
|
87
|
+
}>({
|
|
88
|
+
route: apiRoutePaymentVerificationStatus,
|
|
89
|
+
options: { addToken: true }
|
|
90
|
+
})
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { PaymentStatus, PaymentStatusKeys } from "./paymentStatus";
|
|
2
2
|
import { PaymentType, PaymentTypeKeys } from "./paymentType";
|
|
3
|
-
import { PayoutType, PayoutTypeKeys } from "./payoutType";
|
|
4
3
|
|
|
5
4
|
|
|
6
5
|
export interface iPayment {
|
|
@@ -17,10 +16,9 @@ export interface iPayment {
|
|
|
17
16
|
sku: number | null//id акции
|
|
18
17
|
shop: number | null//id аптеки
|
|
19
18
|
cashback_level: 0 | 1 | 2 | 3//уровень кэшбека по которому произошло начисление
|
|
20
|
-
max_cashback_level: null | 0 | 1 | 2 | 3 //макс. возможный уровень кэшбека по акции, поле есть только у начислений в чеках
|
|
19
|
+
max_cashback_level: null | 0 | 1 | 2 | 3 //макс. возможный уровень кэшбека по акции, поле есть только у начислений в чеках
|
|
21
20
|
|
|
22
21
|
//списание
|
|
23
|
-
payout_type: typeof PayoutType[PayoutTypeKeys] | null //способ выплаты
|
|
24
22
|
last_error: string//текст ошибки выплаты
|
|
25
23
|
|
|
26
24
|
//размер
|