kapital-bank-sdk 0.1.0

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 ADDED
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2026
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,90 @@
1
+ # Kapital Bank SDK
2
+
3
+ TypeScript SDK for Kapital Bank Payment Gateway API.
4
+
5
+ ## Features
6
+
7
+ * Create Order
8
+ * Get Order Details
9
+ * Refund Transaction
10
+ * Reverse Transaction
11
+ * TypeScript Support
12
+ * ESM & CommonJS Support
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ npm install kapital-bank-sdk
18
+ ```
19
+
20
+ ## Configuration
21
+
22
+ ```ts
23
+ import { KapitalBank } from "kapital-bank-sdk";
24
+
25
+ const kb = new KapitalBank({
26
+ username: "YOUR_USERNAME",
27
+ password: "YOUR_PASSWORD",
28
+ environment: "test",
29
+ });
30
+ ```
31
+
32
+ ## Create Order
33
+
34
+ ```ts
35
+ const order = await kb.createOrder({
36
+ typeRid: "Order_SMS",
37
+ amount: "1",
38
+ currency: "AZN",
39
+ language: "az",
40
+ description: "Test Order",
41
+ hppRedirectUrl: "https://example.com",
42
+ });
43
+
44
+ console.log(order);
45
+ ```
46
+
47
+ ## Get Order
48
+
49
+ ```ts
50
+ const order = await kb.getOrder(12345);
51
+
52
+ console.log(order);
53
+ ```
54
+
55
+ ## Refund
56
+
57
+ ```ts
58
+ await kb.refund(12345, {
59
+ phase: "Single",
60
+ amount: "1.00",
61
+ type: "Refund",
62
+ });
63
+ ```
64
+
65
+ ## Reverse
66
+
67
+ ```ts
68
+ await kb.reverse(12345, {
69
+ phase: "Single",
70
+ voidKind: "Full",
71
+ });
72
+ ```
73
+
74
+ ## Environments
75
+
76
+ ### Test
77
+
78
+ ```text
79
+ https://txpgtst.kapitalbank.az/api
80
+ ```
81
+
82
+ ### Production
83
+
84
+ ```text
85
+ https://e-commerce.kapitalbank.az/api
86
+ ```
87
+
88
+ ## License
89
+
90
+ MIT
package/dist/index.cjs ADDED
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ KapitalBank: () => KapitalBank
34
+ });
35
+ module.exports = __toCommonJS(index_exports);
36
+
37
+ // src/client/KapitalBankClient.ts
38
+ var import_axios = __toESM(require("axios"), 1);
39
+
40
+ // src/constants/environments.ts
41
+ var ENVIRONMENTS = {
42
+ test: "https://txpgtst.kapitalbank.az/api",
43
+ production: "https://e-commerce.kapitalbank.az/api"
44
+ };
45
+
46
+ // src/client/KapitalBankClient.ts
47
+ var KapitalBankClient = class {
48
+ constructor(config) {
49
+ this.config = {
50
+ environment: "test",
51
+ timeout: 3e4,
52
+ ...config
53
+ };
54
+ const baseURL = ENVIRONMENTS[this.config.environment];
55
+ this.axiosInstance = import_axios.default.create({
56
+ baseURL,
57
+ timeout: this.config.timeout,
58
+ auth: {
59
+ username: this.config.username,
60
+ password: this.config.password
61
+ },
62
+ headers: {
63
+ "Content-Type": "application/json",
64
+ Accept: "application/json"
65
+ }
66
+ });
67
+ }
68
+ get http() {
69
+ return this.axiosInstance;
70
+ }
71
+ getConfig() {
72
+ return this.config;
73
+ }
74
+ getHttp() {
75
+ return this.axiosInstance;
76
+ }
77
+ };
78
+
79
+ // src/services/orders.service.ts
80
+ var import_axios2 = __toESM(require("axios"), 1);
81
+
82
+ // src/constants/endpoints.ts
83
+ var ENDPOINTS = {
84
+ CREATE_ORDER: "/order",
85
+ GET_ORDER: (id) => `/order/${id}`,
86
+ EXEC_TRAN: (id) => `/order/${id}/exec-tran`
87
+ };
88
+
89
+ // src/errors/KapitalBankError.ts
90
+ var KapitalBankError = class extends Error {
91
+ constructor(message, statusCode, details) {
92
+ super(message);
93
+ this.statusCode = statusCode;
94
+ this.details = details;
95
+ this.name = "KapitalBankError";
96
+ }
97
+ };
98
+
99
+ // src/services/orders.service.ts
100
+ var OrdersService = class {
101
+ constructor(client) {
102
+ this.client = client;
103
+ }
104
+ async createOrder(payload) {
105
+ try {
106
+ const response = await this.client.getHttp().post(ENDPOINTS.CREATE_ORDER, {
107
+ order: payload
108
+ });
109
+ return response.data.order;
110
+ } catch (error) {
111
+ if (import_axios2.default.isAxiosError(error)) {
112
+ throw new KapitalBankError(
113
+ error.response?.data?.message ?? error.message,
114
+ error.response?.status,
115
+ error.response?.data
116
+ );
117
+ }
118
+ throw error;
119
+ }
120
+ }
121
+ };
122
+
123
+ // src/services/details.service.ts
124
+ var import_axios3 = __toESM(require("axios"), 1);
125
+ var DetailsService = class {
126
+ constructor(client) {
127
+ this.client = client;
128
+ }
129
+ async getOrder(id, options) {
130
+ try {
131
+ const response = await this.client.getHttp().get(
132
+ ENDPOINTS.GET_ORDER(id),
133
+ {
134
+ params: options
135
+ }
136
+ );
137
+ return response.data.order;
138
+ } catch (error) {
139
+ if (import_axios3.default.isAxiosError(error)) {
140
+ throw new KapitalBankError(
141
+ error.response?.data?.message ?? error.message,
142
+ error.response?.status,
143
+ error.response?.data
144
+ );
145
+ }
146
+ throw error;
147
+ }
148
+ }
149
+ };
150
+
151
+ // src/services/refunds.service.ts
152
+ var import_axios4 = __toESM(require("axios"), 1);
153
+ var RefundsService = class {
154
+ constructor(client) {
155
+ this.client = client;
156
+ }
157
+ async refund(orderId, payload) {
158
+ try {
159
+ const response = await this.client.getHttp().post(
160
+ ENDPOINTS.EXEC_TRAN(orderId),
161
+ {
162
+ tran: payload
163
+ }
164
+ );
165
+ return response.data;
166
+ } catch (error) {
167
+ if (import_axios4.default.isAxiosError(error)) {
168
+ throw new KapitalBankError(
169
+ error.response?.data?.message ?? error.message,
170
+ error.response?.status,
171
+ error.response?.data
172
+ );
173
+ }
174
+ throw error;
175
+ }
176
+ }
177
+ };
178
+
179
+ // src/services/reversals.service.ts
180
+ var import_axios5 = __toESM(require("axios"), 1);
181
+ var ReversalsService = class {
182
+ constructor(client) {
183
+ this.client = client;
184
+ }
185
+ async reverse(orderId, payload) {
186
+ try {
187
+ const response = await this.client.getHttp().post(
188
+ ENDPOINTS.EXEC_TRAN(orderId),
189
+ {
190
+ tran: payload
191
+ }
192
+ );
193
+ return response.data;
194
+ } catch (error) {
195
+ if (import_axios5.default.isAxiosError(error)) {
196
+ throw new KapitalBankError(
197
+ error.response?.data?.message ?? error.message,
198
+ error.response?.status,
199
+ error.response?.data
200
+ );
201
+ }
202
+ throw error;
203
+ }
204
+ }
205
+ };
206
+
207
+ // src/KapitalBank.ts
208
+ var KapitalBank = class {
209
+ constructor(config) {
210
+ const client = new KapitalBankClient(config);
211
+ this.ordersService = new OrdersService(client);
212
+ this.detailsService = new DetailsService(client);
213
+ this.refundsService = new RefundsService(client);
214
+ this.reversalsService = new ReversalsService(client);
215
+ }
216
+ async createOrder(payload) {
217
+ return this.ordersService.createOrder(payload);
218
+ }
219
+ async getOrder(id, options) {
220
+ return this.detailsService.getOrder(
221
+ id,
222
+ options
223
+ );
224
+ }
225
+ async refund(orderId, payload) {
226
+ return this.refundsService.refund(
227
+ orderId,
228
+ payload
229
+ );
230
+ }
231
+ async reverse(orderId, payload) {
232
+ return this.reversalsService.reverse(
233
+ orderId,
234
+ payload
235
+ );
236
+ }
237
+ };
238
+ // Annotate the CommonJS export names for ESM import in node:
239
+ 0 && (module.exports = {
240
+ KapitalBank
241
+ });
242
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/client/KapitalBankClient.ts","../src/constants/environments.ts","../src/services/orders.service.ts","../src/constants/endpoints.ts","../src/errors/KapitalBankError.ts","../src/services/details.service.ts","../src/services/refunds.service.ts","../src/services/reversals.service.ts","../src/KapitalBank.ts"],"sourcesContent":["export * from \"./KapitalBank\";\n\nexport * from \"./types/config\";\nexport * from \"./types/order\";\nexport * from \"./types/details\";\nexport * from \"./types/refund\";","import axios, { AxiosInstance } from \"axios\";\nimport { KapitalBankConfig } from \"../types/config\";\nimport { ENVIRONMENTS } from \"../constants/environments\";\n\n\nexport class KapitalBankClient {\n private readonly axiosInstance: AxiosInstance;\n private readonly config: Required<KapitalBankConfig>;\n\n constructor(config: KapitalBankConfig) {\n this.config = {\n environment: \"test\",\n timeout: 30000,\n ...config,\n };\n\n const baseURL = ENVIRONMENTS[this.config.environment];\n\n this.axiosInstance = axios.create({\n baseURL,\n timeout: this.config.timeout,\n auth: {\n username: this.config.username,\n password: this.config.password,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n });\n }\n\n protected get http(): AxiosInstance {\n return this.axiosInstance;\n }\n\n public getConfig(): Required<KapitalBankConfig> {\n return this.config;\n }\n\n public getHttp() {\n return this.axiosInstance;\n }\n}\n","export const ENVIRONMENTS = {\n test: \"https://txpgtst.kapitalbank.az/api\",\n production: \"https://e-commerce.kapitalbank.az/api\",\n} as const;","import axios from \"axios\";\nimport { KapitalBankClient } from \"../client/KapitalBankClient\";\nimport { ENDPOINTS } from \"../constants/endpoints\";\nimport { KapitalBankError } from \"../errors/KapitalBankError\";\nimport {\n CreateOrderRequest,\n CreateOrderResponse,\n} from \"../types/order\";\n\nexport class OrdersService {\n constructor(\n private readonly client: KapitalBankClient\n ) {}\n\n async createOrder(\n payload: CreateOrderRequest\n ): Promise<CreateOrderResponse> {\n try {\n const response = await this.client\n .getHttp()\n .post(ENDPOINTS.CREATE_ORDER, {\n order: payload,\n });\n\n return response.data.order;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n throw new KapitalBankError(\n error.response?.data?.message ??\n error.message,\n error.response?.status,\n error.response?.data\n );\n }\n\n throw error;\n }\n }\n}","export const ENDPOINTS = {\n CREATE_ORDER: \"/order\",\n\n GET_ORDER: (id: number | string) =>\n `/order/${id}`,\n \n EXEC_TRAN: (id: number | string) =>\n `/order/${id}/exec-tran`,\n} as const;","export class KapitalBankError extends Error {\n constructor(\n message: string,\n public readonly statusCode?: number,\n public readonly details?: unknown\n ) {\n super(message);\n\n this.name = \"KapitalBankError\";\n }\n}","import { KapitalBankClient } from \"../client/KapitalBankClient\";\nimport { ENDPOINTS } from \"../constants/endpoints\";\nimport { KapitalBankError } from \"../errors/KapitalBankError\";\nimport {\n GetOrderDetailsOptions,\n OrderDetails,\n} from \"../types/details\";\nimport axios from \"axios\";\n\nexport class DetailsService {\n constructor(\n private readonly client: KapitalBankClient\n ) {}\n\n async getOrder(\n id: number | string,\n options?: GetOrderDetailsOptions\n ): Promise<OrderDetails> {\n try {\n const response = await this.client\n .getHttp()\n .get(\n ENDPOINTS.GET_ORDER(id),\n {\n params: options,\n }\n );\n\n return response.data.order;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n throw new KapitalBankError(\n error.response?.data?.message ??\n error.message,\n error.response?.status,\n error.response?.data\n );\n }\n\n throw error;\n }\n }\n}","import axios from \"axios\";\n\nimport { KapitalBankClient } from \"../client/KapitalBankClient\";\nimport { ENDPOINTS } from \"../constants/endpoints\";\nimport { KapitalBankError } from \"../errors/KapitalBankError\";\nimport {\n RefundRequest,\n RefundResponse,\n} from \"../types/refund\";\n\nexport class RefundsService {\n constructor(\n private readonly client: KapitalBankClient\n ) {}\n\n async refund(\n orderId: number | string,\n payload: RefundRequest\n ): Promise<RefundResponse> {\n try {\n const response = await this.client\n .getHttp()\n .post(\n ENDPOINTS.EXEC_TRAN(orderId),\n {\n tran: payload,\n }\n );\n\n return response.data;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n throw new KapitalBankError(\n error.response?.data?.message ??\n error.message,\n error.response?.status,\n error.response?.data\n );\n }\n\n throw error;\n }\n }\n}","import axios from \"axios\";\n\nimport { KapitalBankClient } from \"../client/KapitalBankClient\";\nimport { ENDPOINTS } from \"../constants/endpoints\";\nimport { KapitalBankError } from \"../errors/KapitalBankError\";\n\nimport {\n ReversalRequest,\n ReversalResponse,\n} from \"../types/reversal\";\n\nexport class ReversalsService {\n constructor(\n private readonly client: KapitalBankClient\n ) {}\n\n async reverse(\n orderId: number | string,\n payload: ReversalRequest\n ): Promise<ReversalResponse> {\n try {\n const response = await this.client\n .getHttp()\n .post(\n ENDPOINTS.EXEC_TRAN(orderId),\n {\n tran: payload,\n }\n );\n\n return response.data;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n throw new KapitalBankError(\n error.response?.data?.message ??\n error.message,\n error.response?.status,\n error.response?.data\n );\n }\n\n throw error;\n }\n }\n}","import { KapitalBankClient } from \"./client/KapitalBankClient\";\r\n\r\nimport { KapitalBankConfig } from \"./types/config\";\r\n\r\nimport { OrdersService } from \"./services/orders.service\";\r\nimport { DetailsService } from \"./services/details.service\";\r\nimport { RefundsService } from \"./services/refunds.service\";\r\nimport { ReversalsService } from \"./services/reversals.service\";\r\n\r\nimport {\r\n CreateOrderRequest,\r\n CreateOrderResponse,\r\n} from \"./types/order\";\r\n\r\nimport {\r\n GetOrderDetailsOptions,\r\n OrderDetails,\r\n} from \"./types/details\";\r\n\r\nimport {\r\n RefundRequest,\r\n RefundResponse,\r\n} from \"./types/refund\";\r\n\r\nimport {\r\n ReversalRequest,\r\n ReversalResponse,\r\n} from \"./types/reversal\";\r\n\r\nexport class KapitalBank {\r\n private readonly ordersService: OrdersService;\r\n private readonly detailsService: DetailsService;\r\n private readonly refundsService: RefundsService;\r\n private readonly reversalsService: ReversalsService;\r\n\r\n constructor(config: KapitalBankConfig) {\r\n const client = new KapitalBankClient(config);\r\n\r\n this.ordersService = new OrdersService(client);\r\n this.detailsService = new DetailsService(client);\r\n this.refundsService = new RefundsService(client);\r\n this.reversalsService = new ReversalsService(client);\r\n }\r\n\r\n async createOrder(\r\n payload: CreateOrderRequest\r\n ): Promise<CreateOrderResponse> {\r\n return this.ordersService.createOrder(payload);\r\n }\r\n\r\n async getOrder(\r\n id: number | string,\r\n options?: GetOrderDetailsOptions\r\n ): Promise<OrderDetails> {\r\n return this.detailsService.getOrder(\r\n id,\r\n options\r\n );\r\n }\r\n\r\n async refund(\r\n orderId: number | string,\r\n payload: RefundRequest\r\n ): Promise<RefundResponse> {\r\n return this.refundsService.refund(\r\n orderId,\r\n payload\r\n );\r\n }\r\n\r\n async reverse(\r\n orderId: number | string,\r\n payload: ReversalRequest\r\n ): Promise<ReversalResponse> {\r\n return this.reversalsService.reverse(\r\n orderId,\r\n payload\r\n );\r\n }\r\n}"],"mappings":"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","names":["axios","import_axios","axios","import_axios","axios","import_axios","axios","import_axios","axios"]}
@@ -0,0 +1,97 @@
1
+ type Environment = "test" | "production";
2
+ interface KapitalBankConfig {
3
+ username: string;
4
+ password: string;
5
+ environment?: Environment;
6
+ timeout?: number;
7
+ }
8
+
9
+ type OrderType = "Order_SMS" | "Order_DMS" | "Order_REC" | "DMSN3D" | "OCT";
10
+ interface CreateOrderRequest {
11
+ typeRid: OrderType;
12
+ amount: string;
13
+ currency: string;
14
+ language: string;
15
+ description: string;
16
+ hppRedirectUrl?: string;
17
+ title?: string;
18
+ }
19
+ interface CreateOrderResponse {
20
+ id: number;
21
+ hppUrl: string;
22
+ password: string;
23
+ status: string;
24
+ cvv2AuthStatus: string;
25
+ secret: string;
26
+ }
27
+
28
+ type OrderStatus = "Preparing" | "FullyPaid" | "Refunded" | "Expired" | "Declined";
29
+ interface OrderTypeInfo {
30
+ title: string;
31
+ rid?: string;
32
+ }
33
+ interface OrderDetails {
34
+ id: number;
35
+ status: OrderStatus;
36
+ prevStatus?: OrderStatus;
37
+ amount: number;
38
+ currency: string;
39
+ createTime: string;
40
+ finishTime?: string;
41
+ title?: string;
42
+ description?: string;
43
+ language?: string;
44
+ hppUrl?: string;
45
+ hppRedirectUrl?: string;
46
+ password?: string;
47
+ cvv2AuthStatus?: string;
48
+ authorizedChargeAmount?: number;
49
+ clearedChargeAmount?: number;
50
+ clearedRefundAmount?: number;
51
+ type?: OrderTypeInfo;
52
+ terminal?: Record<string, unknown>;
53
+ merchant?: Record<string, unknown>;
54
+ }
55
+ interface GetOrderDetailsOptions {
56
+ tranDetailLevel?: 0 | 1 | 2;
57
+ tokenDetailLevel?: 0 | 1 | 2;
58
+ orderDetailLevel?: 0 | 1 | 2;
59
+ }
60
+
61
+ interface RefundRequest {
62
+ phase: "Single" | "Auth" | "Clearing";
63
+ amount: string;
64
+ type: "Refund";
65
+ }
66
+ interface RefundResponse {
67
+ orderId?: number;
68
+ status?: string;
69
+ approvalCode?: string;
70
+ }
71
+
72
+ type ReversalPhase = "Single" | "Auth" | "Clearing";
73
+ type VoidKind = "Full" | "Partial";
74
+ interface ReversalRequest {
75
+ phase: ReversalPhase;
76
+ voidKind: VoidKind;
77
+ amount?: string;
78
+ }
79
+ interface ReversalResponse {
80
+ orderId?: number;
81
+ status?: string;
82
+ approvalCode?: string;
83
+ }
84
+
85
+ declare class KapitalBank {
86
+ private readonly ordersService;
87
+ private readonly detailsService;
88
+ private readonly refundsService;
89
+ private readonly reversalsService;
90
+ constructor(config: KapitalBankConfig);
91
+ createOrder(payload: CreateOrderRequest): Promise<CreateOrderResponse>;
92
+ getOrder(id: number | string, options?: GetOrderDetailsOptions): Promise<OrderDetails>;
93
+ refund(orderId: number | string, payload: RefundRequest): Promise<RefundResponse>;
94
+ reverse(orderId: number | string, payload: ReversalRequest): Promise<ReversalResponse>;
95
+ }
96
+
97
+ export { type CreateOrderRequest, type CreateOrderResponse, type Environment, type GetOrderDetailsOptions, KapitalBank, type KapitalBankConfig, type OrderDetails, type OrderStatus, type OrderType, type OrderTypeInfo, type RefundRequest, type RefundResponse };
@@ -0,0 +1,97 @@
1
+ type Environment = "test" | "production";
2
+ interface KapitalBankConfig {
3
+ username: string;
4
+ password: string;
5
+ environment?: Environment;
6
+ timeout?: number;
7
+ }
8
+
9
+ type OrderType = "Order_SMS" | "Order_DMS" | "Order_REC" | "DMSN3D" | "OCT";
10
+ interface CreateOrderRequest {
11
+ typeRid: OrderType;
12
+ amount: string;
13
+ currency: string;
14
+ language: string;
15
+ description: string;
16
+ hppRedirectUrl?: string;
17
+ title?: string;
18
+ }
19
+ interface CreateOrderResponse {
20
+ id: number;
21
+ hppUrl: string;
22
+ password: string;
23
+ status: string;
24
+ cvv2AuthStatus: string;
25
+ secret: string;
26
+ }
27
+
28
+ type OrderStatus = "Preparing" | "FullyPaid" | "Refunded" | "Expired" | "Declined";
29
+ interface OrderTypeInfo {
30
+ title: string;
31
+ rid?: string;
32
+ }
33
+ interface OrderDetails {
34
+ id: number;
35
+ status: OrderStatus;
36
+ prevStatus?: OrderStatus;
37
+ amount: number;
38
+ currency: string;
39
+ createTime: string;
40
+ finishTime?: string;
41
+ title?: string;
42
+ description?: string;
43
+ language?: string;
44
+ hppUrl?: string;
45
+ hppRedirectUrl?: string;
46
+ password?: string;
47
+ cvv2AuthStatus?: string;
48
+ authorizedChargeAmount?: number;
49
+ clearedChargeAmount?: number;
50
+ clearedRefundAmount?: number;
51
+ type?: OrderTypeInfo;
52
+ terminal?: Record<string, unknown>;
53
+ merchant?: Record<string, unknown>;
54
+ }
55
+ interface GetOrderDetailsOptions {
56
+ tranDetailLevel?: 0 | 1 | 2;
57
+ tokenDetailLevel?: 0 | 1 | 2;
58
+ orderDetailLevel?: 0 | 1 | 2;
59
+ }
60
+
61
+ interface RefundRequest {
62
+ phase: "Single" | "Auth" | "Clearing";
63
+ amount: string;
64
+ type: "Refund";
65
+ }
66
+ interface RefundResponse {
67
+ orderId?: number;
68
+ status?: string;
69
+ approvalCode?: string;
70
+ }
71
+
72
+ type ReversalPhase = "Single" | "Auth" | "Clearing";
73
+ type VoidKind = "Full" | "Partial";
74
+ interface ReversalRequest {
75
+ phase: ReversalPhase;
76
+ voidKind: VoidKind;
77
+ amount?: string;
78
+ }
79
+ interface ReversalResponse {
80
+ orderId?: number;
81
+ status?: string;
82
+ approvalCode?: string;
83
+ }
84
+
85
+ declare class KapitalBank {
86
+ private readonly ordersService;
87
+ private readonly detailsService;
88
+ private readonly refundsService;
89
+ private readonly reversalsService;
90
+ constructor(config: KapitalBankConfig);
91
+ createOrder(payload: CreateOrderRequest): Promise<CreateOrderResponse>;
92
+ getOrder(id: number | string, options?: GetOrderDetailsOptions): Promise<OrderDetails>;
93
+ refund(orderId: number | string, payload: RefundRequest): Promise<RefundResponse>;
94
+ reverse(orderId: number | string, payload: ReversalRequest): Promise<ReversalResponse>;
95
+ }
96
+
97
+ export { type CreateOrderRequest, type CreateOrderResponse, type Environment, type GetOrderDetailsOptions, KapitalBank, type KapitalBankConfig, type OrderDetails, type OrderStatus, type OrderType, type OrderTypeInfo, type RefundRequest, type RefundResponse };
package/dist/index.js ADDED
@@ -0,0 +1,205 @@
1
+ // src/client/KapitalBankClient.ts
2
+ import axios from "axios";
3
+
4
+ // src/constants/environments.ts
5
+ var ENVIRONMENTS = {
6
+ test: "https://txpgtst.kapitalbank.az/api",
7
+ production: "https://e-commerce.kapitalbank.az/api"
8
+ };
9
+
10
+ // src/client/KapitalBankClient.ts
11
+ var KapitalBankClient = class {
12
+ constructor(config) {
13
+ this.config = {
14
+ environment: "test",
15
+ timeout: 3e4,
16
+ ...config
17
+ };
18
+ const baseURL = ENVIRONMENTS[this.config.environment];
19
+ this.axiosInstance = axios.create({
20
+ baseURL,
21
+ timeout: this.config.timeout,
22
+ auth: {
23
+ username: this.config.username,
24
+ password: this.config.password
25
+ },
26
+ headers: {
27
+ "Content-Type": "application/json",
28
+ Accept: "application/json"
29
+ }
30
+ });
31
+ }
32
+ get http() {
33
+ return this.axiosInstance;
34
+ }
35
+ getConfig() {
36
+ return this.config;
37
+ }
38
+ getHttp() {
39
+ return this.axiosInstance;
40
+ }
41
+ };
42
+
43
+ // src/services/orders.service.ts
44
+ import axios2 from "axios";
45
+
46
+ // src/constants/endpoints.ts
47
+ var ENDPOINTS = {
48
+ CREATE_ORDER: "/order",
49
+ GET_ORDER: (id) => `/order/${id}`,
50
+ EXEC_TRAN: (id) => `/order/${id}/exec-tran`
51
+ };
52
+
53
+ // src/errors/KapitalBankError.ts
54
+ var KapitalBankError = class extends Error {
55
+ constructor(message, statusCode, details) {
56
+ super(message);
57
+ this.statusCode = statusCode;
58
+ this.details = details;
59
+ this.name = "KapitalBankError";
60
+ }
61
+ };
62
+
63
+ // src/services/orders.service.ts
64
+ var OrdersService = class {
65
+ constructor(client) {
66
+ this.client = client;
67
+ }
68
+ async createOrder(payload) {
69
+ try {
70
+ const response = await this.client.getHttp().post(ENDPOINTS.CREATE_ORDER, {
71
+ order: payload
72
+ });
73
+ return response.data.order;
74
+ } catch (error) {
75
+ if (axios2.isAxiosError(error)) {
76
+ throw new KapitalBankError(
77
+ error.response?.data?.message ?? error.message,
78
+ error.response?.status,
79
+ error.response?.data
80
+ );
81
+ }
82
+ throw error;
83
+ }
84
+ }
85
+ };
86
+
87
+ // src/services/details.service.ts
88
+ import axios3 from "axios";
89
+ var DetailsService = class {
90
+ constructor(client) {
91
+ this.client = client;
92
+ }
93
+ async getOrder(id, options) {
94
+ try {
95
+ const response = await this.client.getHttp().get(
96
+ ENDPOINTS.GET_ORDER(id),
97
+ {
98
+ params: options
99
+ }
100
+ );
101
+ return response.data.order;
102
+ } catch (error) {
103
+ if (axios3.isAxiosError(error)) {
104
+ throw new KapitalBankError(
105
+ error.response?.data?.message ?? error.message,
106
+ error.response?.status,
107
+ error.response?.data
108
+ );
109
+ }
110
+ throw error;
111
+ }
112
+ }
113
+ };
114
+
115
+ // src/services/refunds.service.ts
116
+ import axios4 from "axios";
117
+ var RefundsService = class {
118
+ constructor(client) {
119
+ this.client = client;
120
+ }
121
+ async refund(orderId, payload) {
122
+ try {
123
+ const response = await this.client.getHttp().post(
124
+ ENDPOINTS.EXEC_TRAN(orderId),
125
+ {
126
+ tran: payload
127
+ }
128
+ );
129
+ return response.data;
130
+ } catch (error) {
131
+ if (axios4.isAxiosError(error)) {
132
+ throw new KapitalBankError(
133
+ error.response?.data?.message ?? error.message,
134
+ error.response?.status,
135
+ error.response?.data
136
+ );
137
+ }
138
+ throw error;
139
+ }
140
+ }
141
+ };
142
+
143
+ // src/services/reversals.service.ts
144
+ import axios5 from "axios";
145
+ var ReversalsService = class {
146
+ constructor(client) {
147
+ this.client = client;
148
+ }
149
+ async reverse(orderId, payload) {
150
+ try {
151
+ const response = await this.client.getHttp().post(
152
+ ENDPOINTS.EXEC_TRAN(orderId),
153
+ {
154
+ tran: payload
155
+ }
156
+ );
157
+ return response.data;
158
+ } catch (error) {
159
+ if (axios5.isAxiosError(error)) {
160
+ throw new KapitalBankError(
161
+ error.response?.data?.message ?? error.message,
162
+ error.response?.status,
163
+ error.response?.data
164
+ );
165
+ }
166
+ throw error;
167
+ }
168
+ }
169
+ };
170
+
171
+ // src/KapitalBank.ts
172
+ var KapitalBank = class {
173
+ constructor(config) {
174
+ const client = new KapitalBankClient(config);
175
+ this.ordersService = new OrdersService(client);
176
+ this.detailsService = new DetailsService(client);
177
+ this.refundsService = new RefundsService(client);
178
+ this.reversalsService = new ReversalsService(client);
179
+ }
180
+ async createOrder(payload) {
181
+ return this.ordersService.createOrder(payload);
182
+ }
183
+ async getOrder(id, options) {
184
+ return this.detailsService.getOrder(
185
+ id,
186
+ options
187
+ );
188
+ }
189
+ async refund(orderId, payload) {
190
+ return this.refundsService.refund(
191
+ orderId,
192
+ payload
193
+ );
194
+ }
195
+ async reverse(orderId, payload) {
196
+ return this.reversalsService.reverse(
197
+ orderId,
198
+ payload
199
+ );
200
+ }
201
+ };
202
+ export {
203
+ KapitalBank
204
+ };
205
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client/KapitalBankClient.ts","../src/constants/environments.ts","../src/services/orders.service.ts","../src/constants/endpoints.ts","../src/errors/KapitalBankError.ts","../src/services/details.service.ts","../src/services/refunds.service.ts","../src/services/reversals.service.ts","../src/KapitalBank.ts"],"sourcesContent":["import axios, { AxiosInstance } from \"axios\";\nimport { KapitalBankConfig } from \"../types/config\";\nimport { ENVIRONMENTS } from \"../constants/environments\";\n\n\nexport class KapitalBankClient {\n private readonly axiosInstance: AxiosInstance;\n private readonly config: Required<KapitalBankConfig>;\n\n constructor(config: KapitalBankConfig) {\n this.config = {\n environment: \"test\",\n timeout: 30000,\n ...config,\n };\n\n const baseURL = ENVIRONMENTS[this.config.environment];\n\n this.axiosInstance = axios.create({\n baseURL,\n timeout: this.config.timeout,\n auth: {\n username: this.config.username,\n password: this.config.password,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n });\n }\n\n protected get http(): AxiosInstance {\n return this.axiosInstance;\n }\n\n public getConfig(): Required<KapitalBankConfig> {\n return this.config;\n }\n\n public getHttp() {\n return this.axiosInstance;\n }\n}\n","export const ENVIRONMENTS = {\n test: \"https://txpgtst.kapitalbank.az/api\",\n production: \"https://e-commerce.kapitalbank.az/api\",\n} as const;","import axios from \"axios\";\nimport { KapitalBankClient } from \"../client/KapitalBankClient\";\nimport { ENDPOINTS } from \"../constants/endpoints\";\nimport { KapitalBankError } from \"../errors/KapitalBankError\";\nimport {\n CreateOrderRequest,\n CreateOrderResponse,\n} from \"../types/order\";\n\nexport class OrdersService {\n constructor(\n private readonly client: KapitalBankClient\n ) {}\n\n async createOrder(\n payload: CreateOrderRequest\n ): Promise<CreateOrderResponse> {\n try {\n const response = await this.client\n .getHttp()\n .post(ENDPOINTS.CREATE_ORDER, {\n order: payload,\n });\n\n return response.data.order;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n throw new KapitalBankError(\n error.response?.data?.message ??\n error.message,\n error.response?.status,\n error.response?.data\n );\n }\n\n throw error;\n }\n }\n}","export const ENDPOINTS = {\n CREATE_ORDER: \"/order\",\n\n GET_ORDER: (id: number | string) =>\n `/order/${id}`,\n \n EXEC_TRAN: (id: number | string) =>\n `/order/${id}/exec-tran`,\n} as const;","export class KapitalBankError extends Error {\n constructor(\n message: string,\n public readonly statusCode?: number,\n public readonly details?: unknown\n ) {\n super(message);\n\n this.name = \"KapitalBankError\";\n }\n}","import { KapitalBankClient } from \"../client/KapitalBankClient\";\nimport { ENDPOINTS } from \"../constants/endpoints\";\nimport { KapitalBankError } from \"../errors/KapitalBankError\";\nimport {\n GetOrderDetailsOptions,\n OrderDetails,\n} from \"../types/details\";\nimport axios from \"axios\";\n\nexport class DetailsService {\n constructor(\n private readonly client: KapitalBankClient\n ) {}\n\n async getOrder(\n id: number | string,\n options?: GetOrderDetailsOptions\n ): Promise<OrderDetails> {\n try {\n const response = await this.client\n .getHttp()\n .get(\n ENDPOINTS.GET_ORDER(id),\n {\n params: options,\n }\n );\n\n return response.data.order;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n throw new KapitalBankError(\n error.response?.data?.message ??\n error.message,\n error.response?.status,\n error.response?.data\n );\n }\n\n throw error;\n }\n }\n}","import axios from \"axios\";\n\nimport { KapitalBankClient } from \"../client/KapitalBankClient\";\nimport { ENDPOINTS } from \"../constants/endpoints\";\nimport { KapitalBankError } from \"../errors/KapitalBankError\";\nimport {\n RefundRequest,\n RefundResponse,\n} from \"../types/refund\";\n\nexport class RefundsService {\n constructor(\n private readonly client: KapitalBankClient\n ) {}\n\n async refund(\n orderId: number | string,\n payload: RefundRequest\n ): Promise<RefundResponse> {\n try {\n const response = await this.client\n .getHttp()\n .post(\n ENDPOINTS.EXEC_TRAN(orderId),\n {\n tran: payload,\n }\n );\n\n return response.data;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n throw new KapitalBankError(\n error.response?.data?.message ??\n error.message,\n error.response?.status,\n error.response?.data\n );\n }\n\n throw error;\n }\n }\n}","import axios from \"axios\";\n\nimport { KapitalBankClient } from \"../client/KapitalBankClient\";\nimport { ENDPOINTS } from \"../constants/endpoints\";\nimport { KapitalBankError } from \"../errors/KapitalBankError\";\n\nimport {\n ReversalRequest,\n ReversalResponse,\n} from \"../types/reversal\";\n\nexport class ReversalsService {\n constructor(\n private readonly client: KapitalBankClient\n ) {}\n\n async reverse(\n orderId: number | string,\n payload: ReversalRequest\n ): Promise<ReversalResponse> {\n try {\n const response = await this.client\n .getHttp()\n .post(\n ENDPOINTS.EXEC_TRAN(orderId),\n {\n tran: payload,\n }\n );\n\n return response.data;\n } catch (error) {\n if (axios.isAxiosError(error)) {\n throw new KapitalBankError(\n error.response?.data?.message ??\n error.message,\n error.response?.status,\n error.response?.data\n );\n }\n\n throw error;\n }\n }\n}","import { KapitalBankClient } from \"./client/KapitalBankClient\";\r\n\r\nimport { KapitalBankConfig } from \"./types/config\";\r\n\r\nimport { OrdersService } from \"./services/orders.service\";\r\nimport { DetailsService } from \"./services/details.service\";\r\nimport { RefundsService } from \"./services/refunds.service\";\r\nimport { ReversalsService } from \"./services/reversals.service\";\r\n\r\nimport {\r\n CreateOrderRequest,\r\n CreateOrderResponse,\r\n} from \"./types/order\";\r\n\r\nimport {\r\n GetOrderDetailsOptions,\r\n OrderDetails,\r\n} from \"./types/details\";\r\n\r\nimport {\r\n RefundRequest,\r\n RefundResponse,\r\n} from \"./types/refund\";\r\n\r\nimport {\r\n ReversalRequest,\r\n ReversalResponse,\r\n} from \"./types/reversal\";\r\n\r\nexport class KapitalBank {\r\n private readonly ordersService: OrdersService;\r\n private readonly detailsService: DetailsService;\r\n private readonly refundsService: RefundsService;\r\n private readonly reversalsService: ReversalsService;\r\n\r\n constructor(config: KapitalBankConfig) {\r\n const client = new KapitalBankClient(config);\r\n\r\n this.ordersService = new OrdersService(client);\r\n this.detailsService = new DetailsService(client);\r\n this.refundsService = new RefundsService(client);\r\n this.reversalsService = new ReversalsService(client);\r\n }\r\n\r\n async createOrder(\r\n payload: CreateOrderRequest\r\n ): Promise<CreateOrderResponse> {\r\n return this.ordersService.createOrder(payload);\r\n }\r\n\r\n async getOrder(\r\n id: number | string,\r\n options?: GetOrderDetailsOptions\r\n ): Promise<OrderDetails> {\r\n return this.detailsService.getOrder(\r\n id,\r\n options\r\n );\r\n }\r\n\r\n async refund(\r\n orderId: number | string,\r\n payload: RefundRequest\r\n ): Promise<RefundResponse> {\r\n return this.refundsService.refund(\r\n orderId,\r\n payload\r\n );\r\n }\r\n\r\n async reverse(\r\n orderId: number | string,\r\n payload: ReversalRequest\r\n ): Promise<ReversalResponse> {\r\n return this.reversalsService.reverse(\r\n orderId,\r\n payload\r\n );\r\n }\r\n}"],"mappings":"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","names":["axios","axios","axios","axios","axios","axios","axios"]}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "kapital-bank-sdk",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript SDK for Kapital Bank payment services",
5
+ "main": "./dist/index.cjs",
6
+ "module": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "type": "module",
9
+
10
+ "scripts": {
11
+ "build": "tsup",
12
+ "test": "vitest",
13
+ "test:run": "vitest run",
14
+ "dev": "tsup --watch",
15
+ "example": "tsx examples/create-order.ts",
16
+ "get-order": "tsx examples/get-order.ts",
17
+ "reverse": "tsx examples/reverse.ts"
18
+ },
19
+
20
+ "keywords": [
21
+ "kapital-bank",
22
+ "payment",
23
+ "sdk",
24
+ "typescript"
25
+ ],
26
+
27
+ "author": "Umud Quliyev",
28
+ "license": "MIT",
29
+
30
+ "dependencies": {
31
+ "axios": "^1.17.0"
32
+ },
33
+
34
+ "devDependencies": {
35
+ "@types/node": "^25.9.2",
36
+ "tsup": "^8.5.1",
37
+ "tsx": "^4.22.4",
38
+ "typescript": "^5.9.2",
39
+ "vitest": "^4.1.8"
40
+ },
41
+
42
+ "exports": {
43
+ ".": {
44
+ "types": "./dist/index.d.ts",
45
+ "import": "./dist/index.js",
46
+ "require": "./dist/index.cjs"
47
+ }
48
+ },
49
+
50
+ "repository": {
51
+ "type": "git",
52
+ "url": "git+https://github.com/Umud-Quliyev/kapital-bank-sdk.git"
53
+ },
54
+
55
+ "homepage": "https://github.com/Umud-Quliyev/kapital-bank-sdk",
56
+
57
+ "bugs": {
58
+ "url": "https://github.com/Umud-Quliyev/kapital-bank-sdk/issues"
59
+ },
60
+ "files": [
61
+ "dist",
62
+ "README.md",
63
+ "LICENSE"
64
+ ]
65
+ }