@waffo/waffo-node 2.0.4 → 2.2.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/README.md +84 -28
- package/dist/index.d.mts +283 -166
- package/dist/index.d.ts +283 -166
- package/dist/index.js +260 -342
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +232 -321
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -2
package/dist/index.mjs
CHANGED
|
@@ -1,278 +1,241 @@
|
|
|
1
1
|
import * as crypto from 'crypto';
|
|
2
2
|
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __esm = (fn, res) => function __init() {
|
|
8
|
-
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
9
|
-
};
|
|
10
|
-
var __export = (target, all) => {
|
|
11
|
-
for (var name in all)
|
|
12
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
-
};
|
|
14
|
-
var __copyProps = (to, from, except, desc) => {
|
|
15
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
-
for (let key of __getOwnPropNames(from))
|
|
17
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
-
}
|
|
20
|
-
return to;
|
|
21
|
-
};
|
|
22
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
-
|
|
24
3
|
// src/types/config/environment.ts
|
|
25
|
-
var Environment
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
["SANDBOX" /* SANDBOX */]: "https://api-sandbox.waffo.com/api/v1",
|
|
35
|
-
["PRODUCTION" /* PRODUCTION */]: "https://api.waffo.com/api/v1"
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
});
|
|
4
|
+
var Environment = /* @__PURE__ */ ((Environment2) => {
|
|
5
|
+
Environment2["SANDBOX"] = "SANDBOX";
|
|
6
|
+
Environment2["PRODUCTION"] = "PRODUCTION";
|
|
7
|
+
return Environment2;
|
|
8
|
+
})(Environment || {});
|
|
9
|
+
var EnvironmentBaseUrl = {
|
|
10
|
+
["SANDBOX" /* SANDBOX */]: "https://api-sandbox.waffo.com/api/v1",
|
|
11
|
+
["PRODUCTION" /* PRODUCTION */]: "https://api.waffo.com/api/v1"
|
|
12
|
+
};
|
|
39
13
|
|
|
40
14
|
// src/errors/waffo-error.ts
|
|
41
|
-
var WaffoError
|
|
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
|
-
toString() {
|
|
69
|
-
return `[${this.errorCode}] ${this.message}`;
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
WaffoErrorCode = {
|
|
73
|
-
/** Invalid public key */
|
|
74
|
-
INVALID_PUBLIC_KEY: "S0002",
|
|
75
|
-
/** Failed to sign data */
|
|
76
|
-
SIGN_FAILED: "S0003",
|
|
77
|
-
/** Response signature verification failed */
|
|
78
|
-
VERIFY_FAILED: "S0004",
|
|
79
|
-
/** Request serialization failed */
|
|
80
|
-
SERIALIZE_FAILED: "S0005",
|
|
81
|
-
/** Unexpected error */
|
|
82
|
-
UNEXPECTED: "S0006",
|
|
83
|
-
/** Invalid private key */
|
|
84
|
-
INVALID_PRIVATE_KEY: "S0007"
|
|
85
|
-
};
|
|
15
|
+
var WaffoError = class _WaffoError extends Error {
|
|
16
|
+
/** Error code identifying the type of error */
|
|
17
|
+
errorCode;
|
|
18
|
+
/** The underlying error that caused this error, if any */
|
|
19
|
+
cause;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new WaffoError.
|
|
22
|
+
*
|
|
23
|
+
* @param errorCode - The error code (e.g., "S0003" for signing failure)
|
|
24
|
+
* @param message - Human-readable error message
|
|
25
|
+
* @param cause - The underlying error that caused this error
|
|
26
|
+
*/
|
|
27
|
+
constructor(errorCode, message, cause) {
|
|
28
|
+
super(message);
|
|
29
|
+
this.name = "WaffoError";
|
|
30
|
+
this.errorCode = errorCode;
|
|
31
|
+
this.cause = cause;
|
|
32
|
+
if (Error.captureStackTrace) {
|
|
33
|
+
Error.captureStackTrace(this, _WaffoError);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Returns a string representation of the error.
|
|
38
|
+
*/
|
|
39
|
+
toString() {
|
|
40
|
+
return `[${this.errorCode}] ${this.message}`;
|
|
86
41
|
}
|
|
87
|
-
}
|
|
42
|
+
};
|
|
43
|
+
var WaffoErrorCode = {
|
|
44
|
+
/** Invalid public key */
|
|
45
|
+
INVALID_PUBLIC_KEY: "S0002",
|
|
46
|
+
/** Failed to sign data */
|
|
47
|
+
SIGN_FAILED: "S0003",
|
|
48
|
+
/** Response signature verification failed */
|
|
49
|
+
VERIFY_FAILED: "S0004",
|
|
50
|
+
/** Request serialization failed */
|
|
51
|
+
SERIALIZE_FAILED: "S0005",
|
|
52
|
+
/** Unexpected error */
|
|
53
|
+
UNEXPECTED: "S0006",
|
|
54
|
+
/** Invalid private key */
|
|
55
|
+
INVALID_PRIVATE_KEY: "S0007"
|
|
56
|
+
};
|
|
88
57
|
|
|
89
58
|
// src/errors/waffo-unknown-status-error.ts
|
|
90
|
-
var WaffoUnknownStatusError
|
|
91
|
-
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (Error.captureStackTrace) {
|
|
115
|
-
Error.captureStackTrace(this, _WaffoUnknownStatusError);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Returns a string representation of the error.
|
|
120
|
-
*/
|
|
121
|
-
toString() {
|
|
122
|
-
return `[${this.errorCode}] ${this.message}`;
|
|
123
|
-
}
|
|
124
|
-
};
|
|
59
|
+
var WaffoUnknownStatusError = class _WaffoUnknownStatusError extends Error {
|
|
60
|
+
/** Error code for network errors */
|
|
61
|
+
static CODE_NETWORK_ERROR = "S0001";
|
|
62
|
+
/** Error code for unknown server status */
|
|
63
|
+
static CODE_UNKNOWN_STATUS = "E0001";
|
|
64
|
+
/** Error code identifying the type of error */
|
|
65
|
+
errorCode;
|
|
66
|
+
/** The underlying error that caused this error, if any */
|
|
67
|
+
cause;
|
|
68
|
+
/**
|
|
69
|
+
* Creates a new WaffoUnknownStatusError.
|
|
70
|
+
*
|
|
71
|
+
* @param errorCode - The error code (e.g., "S0001" for network error)
|
|
72
|
+
* @param message - Human-readable error message
|
|
73
|
+
* @param cause - The underlying error that caused this error
|
|
74
|
+
*/
|
|
75
|
+
constructor(errorCode, message, cause) {
|
|
76
|
+
super(message);
|
|
77
|
+
this.name = "WaffoUnknownStatusError";
|
|
78
|
+
this.errorCode = errorCode;
|
|
79
|
+
this.cause = cause;
|
|
80
|
+
if (Error.captureStackTrace) {
|
|
81
|
+
Error.captureStackTrace(this, _WaffoUnknownStatusError);
|
|
82
|
+
}
|
|
125
83
|
}
|
|
126
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Returns a string representation of the error.
|
|
86
|
+
*/
|
|
87
|
+
toString() {
|
|
88
|
+
return `[${this.errorCode}] ${this.message}`;
|
|
89
|
+
}
|
|
90
|
+
};
|
|
127
91
|
|
|
128
|
-
// src/
|
|
129
|
-
var
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
RsaUtils2.validatePublicKey = validatePublicKey;
|
|
245
|
-
function generateKeyPair() {
|
|
246
|
-
try {
|
|
247
|
-
const { privateKey, publicKey } = crypto.generateKeyPairSync("rsa", {
|
|
248
|
-
modulusLength: KEY_SIZE,
|
|
249
|
-
publicKeyEncoding: {
|
|
250
|
-
type: "spki",
|
|
251
|
-
format: "der"
|
|
252
|
-
},
|
|
253
|
-
privateKeyEncoding: {
|
|
254
|
-
type: "pkcs8",
|
|
255
|
-
format: "der"
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
return {
|
|
259
|
-
privateKey: privateKey.toString("base64"),
|
|
260
|
-
publicKey: publicKey.toString("base64")
|
|
261
|
-
};
|
|
262
|
-
} catch (error) {
|
|
263
|
-
throw new WaffoError(
|
|
264
|
-
WaffoErrorCode.SIGN_FAILED,
|
|
265
|
-
`Failed to generate key pair: ${error instanceof Error ? error.message : String(error)}`,
|
|
266
|
-
error instanceof Error ? error : void 0
|
|
267
|
-
);
|
|
268
|
-
}
|
|
92
|
+
// src/utils/rsa-utils.ts
|
|
93
|
+
var ALGORITHM = "RSA-SHA256";
|
|
94
|
+
var KEY_SIZE = 2048;
|
|
95
|
+
function sign(data, base64PrivateKey) {
|
|
96
|
+
try {
|
|
97
|
+
const privateKeyBuffer = Buffer.from(base64PrivateKey, "base64");
|
|
98
|
+
const signer = crypto.createSign(ALGORITHM);
|
|
99
|
+
signer.update(data, "utf8");
|
|
100
|
+
const signature = signer.sign({
|
|
101
|
+
key: privateKeyBuffer,
|
|
102
|
+
format: "der",
|
|
103
|
+
type: "pkcs8"
|
|
104
|
+
});
|
|
105
|
+
return signature.toString("base64");
|
|
106
|
+
} catch (error) {
|
|
107
|
+
throw new WaffoError(
|
|
108
|
+
WaffoErrorCode.SIGN_FAILED,
|
|
109
|
+
`Failed to sign data: ${error instanceof Error ? error.message : String(error)}`,
|
|
110
|
+
error instanceof Error ? error : void 0
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function verify(data, base64Signature, base64PublicKey) {
|
|
115
|
+
try {
|
|
116
|
+
const publicKeyBuffer = Buffer.from(base64PublicKey, "base64");
|
|
117
|
+
const signatureBuffer = Buffer.from(base64Signature, "base64");
|
|
118
|
+
const verifier = crypto.createVerify(ALGORITHM);
|
|
119
|
+
verifier.update(data, "utf8");
|
|
120
|
+
return verifier.verify(
|
|
121
|
+
{
|
|
122
|
+
key: publicKeyBuffer,
|
|
123
|
+
format: "der",
|
|
124
|
+
type: "spki"
|
|
125
|
+
},
|
|
126
|
+
signatureBuffer
|
|
127
|
+
);
|
|
128
|
+
} catch {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function validatePrivateKey(base64PrivateKey) {
|
|
133
|
+
if (!base64PrivateKey || base64PrivateKey.trim() === "") {
|
|
134
|
+
throw new WaffoError(
|
|
135
|
+
WaffoErrorCode.INVALID_PRIVATE_KEY,
|
|
136
|
+
"Private key is null or empty"
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
const keyBuffer = Buffer.from(base64PrivateKey, "base64");
|
|
141
|
+
crypto.createPrivateKey({
|
|
142
|
+
key: keyBuffer,
|
|
143
|
+
format: "der",
|
|
144
|
+
type: "pkcs8"
|
|
145
|
+
});
|
|
146
|
+
} catch (error) {
|
|
147
|
+
if (error instanceof WaffoError) throw error;
|
|
148
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
149
|
+
if (message.includes("bad base64")) {
|
|
150
|
+
throw new WaffoError(
|
|
151
|
+
WaffoErrorCode.INVALID_PRIVATE_KEY,
|
|
152
|
+
"Invalid private key: not valid Base64 encoding",
|
|
153
|
+
error instanceof Error ? error : void 0
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
throw new WaffoError(
|
|
157
|
+
WaffoErrorCode.INVALID_PRIVATE_KEY,
|
|
158
|
+
`Invalid private key: ${message}`,
|
|
159
|
+
error instanceof Error ? error : void 0
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function validatePublicKey(base64PublicKey) {
|
|
164
|
+
if (!base64PublicKey || base64PublicKey.trim() === "") {
|
|
165
|
+
throw new WaffoError(
|
|
166
|
+
WaffoErrorCode.INVALID_PUBLIC_KEY,
|
|
167
|
+
"Public key is null or empty"
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
try {
|
|
171
|
+
const keyBuffer = Buffer.from(base64PublicKey, "base64");
|
|
172
|
+
crypto.createPublicKey({
|
|
173
|
+
key: keyBuffer,
|
|
174
|
+
format: "der",
|
|
175
|
+
type: "spki"
|
|
176
|
+
});
|
|
177
|
+
} catch (error) {
|
|
178
|
+
if (error instanceof WaffoError) throw error;
|
|
179
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
180
|
+
if (message.includes("bad base64")) {
|
|
181
|
+
throw new WaffoError(
|
|
182
|
+
WaffoErrorCode.INVALID_PUBLIC_KEY,
|
|
183
|
+
"Invalid public key: not valid Base64 encoding",
|
|
184
|
+
error instanceof Error ? error : void 0
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
throw new WaffoError(
|
|
188
|
+
WaffoErrorCode.INVALID_PUBLIC_KEY,
|
|
189
|
+
`Invalid public key: ${message}`,
|
|
190
|
+
error instanceof Error ? error : void 0
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
function generateKeyPair() {
|
|
195
|
+
try {
|
|
196
|
+
const { privateKey, publicKey } = crypto.generateKeyPairSync("rsa", {
|
|
197
|
+
modulusLength: KEY_SIZE,
|
|
198
|
+
publicKeyEncoding: {
|
|
199
|
+
type: "spki",
|
|
200
|
+
format: "der"
|
|
201
|
+
},
|
|
202
|
+
privateKeyEncoding: {
|
|
203
|
+
type: "pkcs8",
|
|
204
|
+
format: "der"
|
|
269
205
|
}
|
|
270
|
-
|
|
271
|
-
|
|
206
|
+
});
|
|
207
|
+
return {
|
|
208
|
+
privateKey: privateKey.toString("base64"),
|
|
209
|
+
publicKey: publicKey.toString("base64")
|
|
210
|
+
};
|
|
211
|
+
} catch (error) {
|
|
212
|
+
throw new WaffoError(
|
|
213
|
+
WaffoErrorCode.SIGN_FAILED,
|
|
214
|
+
`Failed to generate key pair: ${error instanceof Error ? error.message : String(error)}`,
|
|
215
|
+
error instanceof Error ? error : void 0
|
|
216
|
+
);
|
|
272
217
|
}
|
|
273
|
-
}
|
|
218
|
+
}
|
|
219
|
+
var RsaUtils = {
|
|
220
|
+
sign,
|
|
221
|
+
verify,
|
|
222
|
+
validatePrivateKey,
|
|
223
|
+
validatePublicKey,
|
|
224
|
+
generateKeyPair
|
|
225
|
+
};
|
|
274
226
|
|
|
275
227
|
// src/types/config/waffo-config.ts
|
|
228
|
+
var WaffoConfigEnvVars = {
|
|
229
|
+
API_KEY: "WAFFO_API_KEY",
|
|
230
|
+
PRIVATE_KEY: "WAFFO_PRIVATE_KEY",
|
|
231
|
+
PUBLIC_KEY: "WAFFO_PUBLIC_KEY",
|
|
232
|
+
MERCHANT_ID: "WAFFO_MERCHANT_ID",
|
|
233
|
+
ENVIRONMENT: "WAFFO_ENVIRONMENT"
|
|
234
|
+
};
|
|
235
|
+
var WaffoConfigDefaults = {
|
|
236
|
+
CONNECT_TIMEOUT: 1e4,
|
|
237
|
+
READ_TIMEOUT: 3e4
|
|
238
|
+
};
|
|
276
239
|
function createWaffoConfig(config) {
|
|
277
240
|
if (!config.apiKey) {
|
|
278
241
|
throw new Error("apiKey is required");
|
|
@@ -324,44 +287,6 @@ function fromEnv() {
|
|
|
324
287
|
merchantId
|
|
325
288
|
});
|
|
326
289
|
}
|
|
327
|
-
var WaffoConfigEnvVars, WaffoConfigDefaults;
|
|
328
|
-
var init_waffo_config = __esm({
|
|
329
|
-
"src/types/config/waffo-config.ts"() {
|
|
330
|
-
init_environment();
|
|
331
|
-
init_rsa_utils();
|
|
332
|
-
WaffoConfigEnvVars = {
|
|
333
|
-
API_KEY: "WAFFO_API_KEY",
|
|
334
|
-
PRIVATE_KEY: "WAFFO_PRIVATE_KEY",
|
|
335
|
-
PUBLIC_KEY: "WAFFO_PUBLIC_KEY",
|
|
336
|
-
MERCHANT_ID: "WAFFO_MERCHANT_ID",
|
|
337
|
-
ENVIRONMENT: "WAFFO_ENVIRONMENT"
|
|
338
|
-
};
|
|
339
|
-
WaffoConfigDefaults = {
|
|
340
|
-
CONNECT_TIMEOUT: 1e4,
|
|
341
|
-
READ_TIMEOUT: 3e4
|
|
342
|
-
};
|
|
343
|
-
}
|
|
344
|
-
});
|
|
345
|
-
|
|
346
|
-
// src/types/config/index.ts
|
|
347
|
-
var config_exports = {};
|
|
348
|
-
__export(config_exports, {
|
|
349
|
-
Environment: () => Environment,
|
|
350
|
-
EnvironmentBaseUrl: () => EnvironmentBaseUrl,
|
|
351
|
-
WaffoConfigDefaults: () => WaffoConfigDefaults,
|
|
352
|
-
WaffoConfigEnvVars: () => WaffoConfigEnvVars,
|
|
353
|
-
createWaffoConfig: () => createWaffoConfig,
|
|
354
|
-
fromEnv: () => fromEnv
|
|
355
|
-
});
|
|
356
|
-
var init_config = __esm({
|
|
357
|
-
"src/types/config/index.ts"() {
|
|
358
|
-
init_environment();
|
|
359
|
-
init_waffo_config();
|
|
360
|
-
}
|
|
361
|
-
});
|
|
362
|
-
|
|
363
|
-
// src/core/waffo-http-client.ts
|
|
364
|
-
init_config();
|
|
365
290
|
|
|
366
291
|
// src/types/api-response.ts
|
|
367
292
|
var ApiResponse = class _ApiResponse {
|
|
@@ -509,9 +434,6 @@ var DefaultHttpTransport = class {
|
|
|
509
434
|
};
|
|
510
435
|
|
|
511
436
|
// src/core/waffo-http-client.ts
|
|
512
|
-
init_rsa_utils();
|
|
513
|
-
init_waffo_error();
|
|
514
|
-
init_waffo_unknown_status_error();
|
|
515
437
|
var HEADER_API_KEY = "x-api-key";
|
|
516
438
|
var HEADER_SIGNATURE = "x-signature";
|
|
517
439
|
var HEADER_API_VERSION = "x-api-version";
|
|
@@ -519,7 +441,7 @@ var HEADER_SDK_VERSION = "x-sdk-version";
|
|
|
519
441
|
var HEADER_CONTENT_TYPE = "content-type";
|
|
520
442
|
var CONTENT_TYPE_JSON = "application/json";
|
|
521
443
|
var API_VERSION = "1.0.0";
|
|
522
|
-
var SDK_VERSION = "waffo-node/
|
|
444
|
+
var SDK_VERSION = "waffo-node/2.2.0";
|
|
523
445
|
var WaffoHttpClient = class {
|
|
524
446
|
baseUrl;
|
|
525
447
|
apiKey;
|
|
@@ -668,12 +590,10 @@ var WaffoHttpClient = class {
|
|
|
668
590
|
};
|
|
669
591
|
|
|
670
592
|
// src/core/webhook-handler.ts
|
|
671
|
-
init_rsa_utils();
|
|
672
593
|
var WebhookEventType = /* @__PURE__ */ ((WebhookEventType2) => {
|
|
673
594
|
WebhookEventType2["PAYMENT_NOTIFICATION"] = "PAYMENT_NOTIFICATION";
|
|
674
595
|
WebhookEventType2["REFUND_NOTIFICATION"] = "REFUND_NOTIFICATION";
|
|
675
596
|
WebhookEventType2["SUBSCRIPTION_STATUS_NOTIFICATION"] = "SUBSCRIPTION_STATUS_NOTIFICATION";
|
|
676
|
-
WebhookEventType2["SUBSCRIPTION_PAYMENT_NOTIFICATION"] = "SUBSCRIPTION_PAYMENT_NOTIFICATION";
|
|
677
597
|
WebhookEventType2["SUBSCRIPTION_PERIOD_CHANGED_NOTIFICATION"] = "SUBSCRIPTION_PERIOD_CHANGED_NOTIFICATION";
|
|
678
598
|
return WebhookEventType2;
|
|
679
599
|
})(WebhookEventType || {});
|
|
@@ -713,7 +633,8 @@ var WebhookHandler = class {
|
|
|
713
633
|
return this;
|
|
714
634
|
}
|
|
715
635
|
/**
|
|
716
|
-
* Registers a handler for
|
|
636
|
+
* Registers a fallback handler for SUBSCRIPTION_STATUS_NOTIFICATION events.
|
|
637
|
+
* Only called when onSubscriptionStatus handler is not registered.
|
|
717
638
|
*/
|
|
718
639
|
onSubscriptionPayment(handler) {
|
|
719
640
|
this.subscriptionPaymentHandler = handler;
|
|
@@ -760,10 +681,7 @@ var WebhookHandler = class {
|
|
|
760
681
|
case "SUBSCRIPTION_STATUS_NOTIFICATION" /* SUBSCRIPTION_STATUS_NOTIFICATION */:
|
|
761
682
|
if (this.subscriptionStatusHandler) {
|
|
762
683
|
await this.subscriptionStatusHandler(parsed);
|
|
763
|
-
}
|
|
764
|
-
break;
|
|
765
|
-
case "SUBSCRIPTION_PAYMENT_NOTIFICATION" /* SUBSCRIPTION_PAYMENT_NOTIFICATION */:
|
|
766
|
-
if (this.subscriptionPaymentHandler) {
|
|
684
|
+
} else if (this.subscriptionPaymentHandler) {
|
|
767
685
|
await this.subscriptionPaymentHandler(parsed);
|
|
768
686
|
}
|
|
769
687
|
break;
|
|
@@ -1183,8 +1101,7 @@ var Waffo = class _Waffo {
|
|
|
1183
1101
|
* @returns Waffo SDK instance
|
|
1184
1102
|
*/
|
|
1185
1103
|
static fromEnv() {
|
|
1186
|
-
|
|
1187
|
-
return new _Waffo(WaffoConfig.fromEnv());
|
|
1104
|
+
return new _Waffo(fromEnv());
|
|
1188
1105
|
}
|
|
1189
1106
|
/**
|
|
1190
1107
|
* Returns the order resource for managing payment orders.
|
|
@@ -1251,13 +1168,13 @@ var Waffo = class _Waffo {
|
|
|
1251
1168
|
* // Setup webhook handler
|
|
1252
1169
|
* const handler = waffo.webhook()
|
|
1253
1170
|
* .onPayment((notification) => {
|
|
1254
|
-
* console.log('Payment:', notification.orderStatus);
|
|
1171
|
+
* console.log('Payment:', notification.result?.orderStatus);
|
|
1255
1172
|
* })
|
|
1256
1173
|
* .onRefund((notification) => {
|
|
1257
|
-
* console.log('Refund:', notification.refundStatus);
|
|
1174
|
+
* console.log('Refund:', notification.result?.refundStatus);
|
|
1258
1175
|
* })
|
|
1259
1176
|
* .onSubscriptionStatus((notification) => {
|
|
1260
|
-
* console.log('Subscription:', notification.subscriptionStatus);
|
|
1177
|
+
* console.log('Subscription:', notification.result?.subscriptionStatus);
|
|
1261
1178
|
* });
|
|
1262
1179
|
*
|
|
1263
1180
|
* // In Express.js route handler
|
|
@@ -1284,12 +1201,6 @@ var Waffo = class _Waffo {
|
|
|
1284
1201
|
}
|
|
1285
1202
|
};
|
|
1286
1203
|
|
|
1287
|
-
// src/index.ts
|
|
1288
|
-
init_config();
|
|
1289
|
-
init_waffo_error();
|
|
1290
|
-
init_waffo_unknown_status_error();
|
|
1291
|
-
init_rsa_utils();
|
|
1292
|
-
|
|
1293
1204
|
export { ApiResponse, Environment, EnvironmentBaseUrl, MerchantConfigResource, OrderResource, PayMethodConfigResource, RefundResource, RsaUtils, SubscriptionResource, Waffo, WaffoConfigDefaults, WaffoError, WaffoErrorCode, WaffoHttpClient, WaffoUnknownStatusError, WebhookEventType, WebhookHandler };
|
|
1294
1205
|
//# sourceMappingURL=index.mjs.map
|
|
1295
1206
|
//# sourceMappingURL=index.mjs.map
|