@sakeetech/viva-payments-core 0.2.5 → 0.2.7
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/dist/types/webhook-events.d.ts +3 -12
- package/dist/types/webhook-events.d.ts.map +1 -1
- package/dist/types/webhook-events.js +0 -10
- package/dist/types/webhook-events.js.map +1 -1
- package/dist/webhooks/event-types.d.ts +29 -5
- package/dist/webhooks/event-types.d.ts.map +1 -1
- package/dist/webhooks/event-types.js +32 -6
- package/dist/webhooks/event-types.js.map +1 -1
- package/dist/webhooks/index.d.ts +5 -4
- package/dist/webhooks/index.d.ts.map +1 -1
- package/dist/webhooks/index.js +6 -5
- package/dist/webhooks/index.js.map +1 -1
- package/package.json +2 -1
|
@@ -10,9 +10,6 @@
|
|
|
10
10
|
* 8193 — Account Connected
|
|
11
11
|
* 8194 — Account Verification Status Changed
|
|
12
12
|
*
|
|
13
|
-
* Event 7936 (Sale Transactions) is NOT in v1 scope per plan A8.
|
|
14
|
-
* HMAC verification only applies to 7936; not implemented in v1.
|
|
15
|
-
*
|
|
16
13
|
* @see references/viva-docs/md/webhooks-for-payments.txt:141
|
|
17
14
|
* @see references/viva-docs/md/wh-transaction-payment-created.txt:158
|
|
18
15
|
* @see references/viva-docs/md/wh-transaction-failed.txt:162
|
|
@@ -65,13 +62,6 @@ export declare const DEFERRED_EVENT_TYPES: {
|
|
|
65
62
|
readonly COMMAND_BANK_TRANSFER_CREATED: 768;
|
|
66
63
|
/** Bank transfer executed. Post-v1. */
|
|
67
64
|
readonly COMMAND_BANK_TRANSFER_EXECUTED: 769;
|
|
68
|
-
/**
|
|
69
|
-
* Sale transactions report file available. NOT in v1 — HMAC-signed webhook
|
|
70
|
-
* distinct from transaction events. Re-add in v1.1 if needed.
|
|
71
|
-
*
|
|
72
|
-
* @see references/viva-docs/md/wh-sale-transactions.txt:118
|
|
73
|
-
*/
|
|
74
|
-
readonly SALE_TRANSACTIONS: 7936;
|
|
75
65
|
/** Marketplace-only: a transfer has been made. Post-v1. */
|
|
76
66
|
readonly TRANSFER_CREATED: 8448;
|
|
77
67
|
};
|
|
@@ -253,8 +243,9 @@ export interface TransactionEventData {
|
|
|
253
243
|
/** Name of the card-issuing bank. */
|
|
254
244
|
readonly CardIssuingBank: string | null;
|
|
255
245
|
/**
|
|
256
|
-
*
|
|
257
|
-
*
|
|
246
|
+
* Viva-internal EventId of the transaction, used for Viva's internal
|
|
247
|
+
* operations logging. Present on 1798 failures, but it is NOT a public
|
|
248
|
+
* decline-reason code — the decline reason is carried in `ResponseCode`.
|
|
258
249
|
*
|
|
259
250
|
* @see references/viva-docs/md/wh-transaction-failed.txt:243
|
|
260
251
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-events.d.ts","sourceRoot":"","sources":["../../src/types/webhook-events.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"webhook-events.d.ts","sourceRoot":"","sources":["../../src/types/webhook-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,9 +11,6 @@
|
|
|
11
11
|
* 8193 — Account Connected
|
|
12
12
|
* 8194 — Account Verification Status Changed
|
|
13
13
|
*
|
|
14
|
-
* Event 7936 (Sale Transactions) is NOT in v1 scope per plan A8.
|
|
15
|
-
* HMAC verification only applies to 7936; not implemented in v1.
|
|
16
|
-
*
|
|
17
14
|
* @see references/viva-docs/md/webhooks-for-payments.txt:141
|
|
18
15
|
* @see references/viva-docs/md/wh-transaction-payment-created.txt:158
|
|
19
16
|
* @see references/viva-docs/md/wh-transaction-failed.txt:162
|
|
@@ -66,13 +63,6 @@ exports.DEFERRED_EVENT_TYPES = {
|
|
|
66
63
|
COMMAND_BANK_TRANSFER_CREATED: 768,
|
|
67
64
|
/** Bank transfer executed. Post-v1. */
|
|
68
65
|
COMMAND_BANK_TRANSFER_EXECUTED: 769,
|
|
69
|
-
/**
|
|
70
|
-
* Sale transactions report file available. NOT in v1 — HMAC-signed webhook
|
|
71
|
-
* distinct from transaction events. Re-add in v1.1 if needed.
|
|
72
|
-
*
|
|
73
|
-
* @see references/viva-docs/md/wh-sale-transactions.txt:118
|
|
74
|
-
*/
|
|
75
|
-
SALE_TRANSACTIONS: 7936,
|
|
76
66
|
/** Marketplace-only: a transfer has been made. Post-v1. */
|
|
77
67
|
TRANSFER_CREATED: 8448,
|
|
78
68
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-events.js","sourceRoot":"","sources":["../../src/types/webhook-events.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"webhook-events.js","sourceRoot":"","sources":["../../src/types/webhook-events.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;;AAIH,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E;;;;;;;GAOG;AACU,QAAA,WAAW,GAAG;IACzB,8CAA8C;IAC9C,2BAA2B,EAAE,IAAI;IACjC,wDAAwD;IACxD,4BAA4B,EAAE,IAAI;IAClC,iCAAiC;IACjC,kBAAkB,EAAE,IAAI;IACxB,kEAAkE;IAClE,aAAa,EAAE,IAAI;IACnB,+DAA+D;IAC/D,iBAAiB,EAAE,IAAI;IACvB,0DAA0D;IAC1D,mCAAmC,EAAE,IAAI;CACjC,CAAC;AAOX;;;;;GAKG;AACU,QAAA,oBAAoB,GAAG;IAClC,qDAAqD;IACrD,4BAA4B,EAAE,IAAI;IAClC,qCAAqC;IACrC,mCAAmC,EAAE,IAAI;IACzC,qCAAqC;IACrC,kCAAkC,EAAE,IAAI;IACxC,8CAA8C;IAC9C,2BAA2B,EAAE,IAAI;IACjC,sCAAsC;IACtC,6BAA6B,EAAE,GAAG;IAClC,uCAAuC;IACvC,8BAA8B,EAAE,GAAG;IACnC,2DAA2D;IAC3D,gBAAgB,EAAE,IAAI;CACd,CAAC"}
|
|
@@ -16,11 +16,10 @@ export { EVENT_TYPES, type VivaEventTypeId } from '../types/webhook-events.js';
|
|
|
16
16
|
* 1797 — Transaction Reversal Created
|
|
17
17
|
* 1798 — Transaction Failed
|
|
18
18
|
* 4865 — Order Updated (cancellation)
|
|
19
|
-
* 7936 — Sale Transactions (HMAC-signed, deferred from v1 core but type-guard kept)
|
|
20
19
|
*
|
|
21
20
|
* @see references/viva-docs/md/webhooks-for-payments.txt:141
|
|
22
21
|
*/
|
|
23
|
-
export declare function isTransactionEvent(id: number): id is 1796 | 1797 | 1798 | 4865
|
|
22
|
+
export declare function isTransactionEvent(id: number): id is 1796 | 1797 | 1798 | 4865;
|
|
24
23
|
/**
|
|
25
24
|
* Returns `true` for event types that carry an onboarding payload and require
|
|
26
25
|
* ConnectedAccountId-based tenant resolution.
|
|
@@ -33,12 +32,37 @@ export declare function isTransactionEvent(id: number): id is 1796 | 1797 | 1798
|
|
|
33
32
|
*/
|
|
34
33
|
export declare function isOnboardingEvent(id: number): id is 8193 | 8194;
|
|
35
34
|
/**
|
|
36
|
-
* All v1-scope event IDs as a frozen array.
|
|
35
|
+
* All v1-scope event IDs the webhook handler ACCEPTS INBOUND, as a frozen array.
|
|
37
36
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
37
|
+
* This is the route handler's allow-list for incoming notifications — it
|
|
38
|
+
* includes 4865 (Order Updated) because the endpoint legitimately RECEIVES
|
|
39
|
+
* order-cancellation events. It is NOT the set to register via the ISV API:
|
|
40
|
+
* 4865 is not registerable at the ISV partner-account level (see
|
|
41
|
+
* {@link ISV_EVENT_TYPE_IDS}). Use this for inbound validation only.
|
|
40
42
|
*
|
|
41
43
|
* @see references/viva-docs/md/webhooks-for-payments.txt:141
|
|
42
44
|
*/
|
|
43
45
|
export declare const V1_EVENT_TYPE_IDS: readonly (1796 | 1797 | 1798 | 4865 | 8193 | 8194)[];
|
|
46
|
+
/**
|
|
47
|
+
* Event IDs registerable via the ISV webhook API (`POST /isv/v1/webhooks`).
|
|
48
|
+
*
|
|
49
|
+
* The ISV partner-account webhook API accepts only the transaction events plus
|
|
50
|
+
* the two "Marketplace & ISV only" onboarding events. It does NOT accept 4865
|
|
51
|
+
* (Order Updated) — that is an order-level Smart Checkout event registerable
|
|
52
|
+
* only per-merchant via Self-Care, and `POST /isv/v1/webhooks` rejects it with
|
|
53
|
+
* `IsvCreateWebhookFailedInvalidEventTypeId`. (sakee-tech/vivawallet-npm-public#18)
|
|
54
|
+
*
|
|
55
|
+
* 1796 — Transaction Payment Created
|
|
56
|
+
* 1797 — Transaction Reversal Created
|
|
57
|
+
* 1798 — Transaction Failed
|
|
58
|
+
* 8193 — Account Connected (Marketplace & ISV only)
|
|
59
|
+
* 8194 — Account Verification Status Changed (Marketplace & ISV only)
|
|
60
|
+
*
|
|
61
|
+
* 1799 (Transaction Price Calculated) is intentionally excluded — it is
|
|
62
|
+
* deferred post-v1 (see DEFERRED_EVENT_TYPES).
|
|
63
|
+
*
|
|
64
|
+
* @see references/viva-docs/md/webhooks-for-payments.txt:222 (8193/8194 "Marketplace & ISV only")
|
|
65
|
+
* @see references/viva-docs/md/isv-partner-program.txt:200 (ISV webhook event list — no 4865)
|
|
66
|
+
*/
|
|
67
|
+
export declare const ISV_EVENT_TYPE_IDS: readonly (1796 | 1797 | 1798 | 8193 | 8194)[];
|
|
44
68
|
//# sourceMappingURL=event-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../src/webhooks/event-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE/E
|
|
1
|
+
{"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../src/webhooks/event-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE/E;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAE9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,IAAI,GAAG,IAAI,CAE/D;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,EAEvE,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,EAEjE,CAAC"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @see references/viva-docs/md/webhooks-for-payments.txt:141
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
-
exports.V1_EVENT_TYPE_IDS = exports.EVENT_TYPES = void 0;
|
|
11
|
+
exports.ISV_EVENT_TYPE_IDS = exports.V1_EVENT_TYPE_IDS = exports.EVENT_TYPES = void 0;
|
|
12
12
|
exports.isTransactionEvent = isTransactionEvent;
|
|
13
13
|
exports.isOnboardingEvent = isOnboardingEvent;
|
|
14
14
|
var webhook_events_js_1 = require("../types/webhook-events.js");
|
|
@@ -22,12 +22,11 @@ Object.defineProperty(exports, "EVENT_TYPES", { enumerable: true, get: function
|
|
|
22
22
|
* 1797 — Transaction Reversal Created
|
|
23
23
|
* 1798 — Transaction Failed
|
|
24
24
|
* 4865 — Order Updated (cancellation)
|
|
25
|
-
* 7936 — Sale Transactions (HMAC-signed, deferred from v1 core but type-guard kept)
|
|
26
25
|
*
|
|
27
26
|
* @see references/viva-docs/md/webhooks-for-payments.txt:141
|
|
28
27
|
*/
|
|
29
28
|
function isTransactionEvent(id) {
|
|
30
|
-
return id === 1796 || id === 1797 || id === 1798 || id === 4865
|
|
29
|
+
return id === 1796 || id === 1797 || id === 1798 || id === 4865;
|
|
31
30
|
}
|
|
32
31
|
/**
|
|
33
32
|
* Returns `true` for event types that carry an onboarding payload and require
|
|
@@ -43,14 +42,41 @@ function isOnboardingEvent(id) {
|
|
|
43
42
|
return id === 8193 || id === 8194;
|
|
44
43
|
}
|
|
45
44
|
/**
|
|
46
|
-
* All v1-scope event IDs as a frozen array.
|
|
45
|
+
* All v1-scope event IDs the webhook handler ACCEPTS INBOUND, as a frozen array.
|
|
47
46
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
47
|
+
* This is the route handler's allow-list for incoming notifications — it
|
|
48
|
+
* includes 4865 (Order Updated) because the endpoint legitimately RECEIVES
|
|
49
|
+
* order-cancellation events. It is NOT the set to register via the ISV API:
|
|
50
|
+
* 4865 is not registerable at the ISV partner-account level (see
|
|
51
|
+
* {@link ISV_EVENT_TYPE_IDS}). Use this for inbound validation only.
|
|
50
52
|
*
|
|
51
53
|
* @see references/viva-docs/md/webhooks-for-payments.txt:141
|
|
52
54
|
*/
|
|
53
55
|
exports.V1_EVENT_TYPE_IDS = Object.freeze([
|
|
54
56
|
1796, 1797, 1798, 4865, 8193, 8194,
|
|
55
57
|
]);
|
|
58
|
+
/**
|
|
59
|
+
* Event IDs registerable via the ISV webhook API (`POST /isv/v1/webhooks`).
|
|
60
|
+
*
|
|
61
|
+
* The ISV partner-account webhook API accepts only the transaction events plus
|
|
62
|
+
* the two "Marketplace & ISV only" onboarding events. It does NOT accept 4865
|
|
63
|
+
* (Order Updated) — that is an order-level Smart Checkout event registerable
|
|
64
|
+
* only per-merchant via Self-Care, and `POST /isv/v1/webhooks` rejects it with
|
|
65
|
+
* `IsvCreateWebhookFailedInvalidEventTypeId`. (sakee-tech/vivawallet-npm-public#18)
|
|
66
|
+
*
|
|
67
|
+
* 1796 — Transaction Payment Created
|
|
68
|
+
* 1797 — Transaction Reversal Created
|
|
69
|
+
* 1798 — Transaction Failed
|
|
70
|
+
* 8193 — Account Connected (Marketplace & ISV only)
|
|
71
|
+
* 8194 — Account Verification Status Changed (Marketplace & ISV only)
|
|
72
|
+
*
|
|
73
|
+
* 1799 (Transaction Price Calculated) is intentionally excluded — it is
|
|
74
|
+
* deferred post-v1 (see DEFERRED_EVENT_TYPES).
|
|
75
|
+
*
|
|
76
|
+
* @see references/viva-docs/md/webhooks-for-payments.txt:222 (8193/8194 "Marketplace & ISV only")
|
|
77
|
+
* @see references/viva-docs/md/isv-partner-program.txt:200 (ISV webhook event list — no 4865)
|
|
78
|
+
*/
|
|
79
|
+
exports.ISV_EVENT_TYPE_IDS = Object.freeze([
|
|
80
|
+
1796, 1797, 1798, 8193, 8194,
|
|
81
|
+
]);
|
|
56
82
|
//# sourceMappingURL=event-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-types.js","sourceRoot":"","sources":["../../src/webhooks/event-types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;
|
|
1
|
+
{"version":3,"file":"event-types.js","sourceRoot":"","sources":["../../src/webhooks/event-types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAgBH,gDAEC;AAYD,8CAEC;AA9BD,gEAA+E;AAAtE,gHAAA,WAAW,OAAA;AAEpB;;;;;;;;;;;GAWG;AACH,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC;AAClE,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,iBAAiB,CAAC,EAAU;IAC1C,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC;AACpC,CAAC;AAED;;;;;;;;;;GAUG;AACU,QAAA,iBAAiB,GAAyD,MAAM,CAAC,MAAM,CAAC;IACnG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CAC1B,CAAC,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;GAoBG;AACU,QAAA,kBAAkB,GAAkD,MAAM,CAAC,MAAM,CAAC;IAC7F,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;CACpB,CAAC,CAAC"}
|
package/dist/webhooks/index.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* viva-payments-core/webhooks — barrel export.
|
|
3
3
|
*
|
|
4
|
-
* Provides
|
|
4
|
+
* Provides two security layers for the Viva webhook endpoint:
|
|
5
5
|
* (a) IP allowlist — isAllowedSourceIp()
|
|
6
6
|
* (b) Challenge-response — buildChallengeResponse()
|
|
7
|
-
*
|
|
7
|
+
*
|
|
8
|
+
* Viva does not sign payment webhooks (no HMAC, no body signing); auth is the
|
|
9
|
+
* IP allowlist plus the URL-verification handshake.
|
|
8
10
|
*
|
|
9
11
|
* Plus runtime helpers for event types and the monotonic status lattice.
|
|
10
12
|
*
|
|
@@ -13,7 +15,6 @@
|
|
|
13
15
|
export { buildChallengeResponse } from './challenge-response.js';
|
|
14
16
|
export { VIVA_DEMO_IPS, VIVA_PROD_IPS, isAllowedSourceIp, } from './ip-allowlist.js';
|
|
15
17
|
export { extractClientIp, type ClientIpRequest, } from './extract-client-ip.js';
|
|
16
|
-
export {
|
|
17
|
-
export { EVENT_TYPES, type VivaEventTypeId, isTransactionEvent, isOnboardingEvent, V1_EVENT_TYPE_IDS, } from './event-types.js';
|
|
18
|
+
export { EVENT_TYPES, type VivaEventTypeId, isTransactionEvent, isOnboardingEvent, V1_EVENT_TYPE_IDS, ISV_EVENT_TYPE_IDS, } from './event-types.js';
|
|
18
19
|
export { mapStatusLetter, validateStatusTransition, applyStatusTransition, type StatusTransitionResult, } from './status-lattice.js';
|
|
19
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webhooks/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webhooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,eAAe,EACf,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,WAAW,EACX,KAAK,eAAe,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC"}
|
package/dist/webhooks/index.js
CHANGED
|
@@ -2,17 +2,19 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* viva-payments-core/webhooks — barrel export.
|
|
4
4
|
*
|
|
5
|
-
* Provides
|
|
5
|
+
* Provides two security layers for the Viva webhook endpoint:
|
|
6
6
|
* (a) IP allowlist — isAllowedSourceIp()
|
|
7
7
|
* (b) Challenge-response — buildChallengeResponse()
|
|
8
|
-
*
|
|
8
|
+
*
|
|
9
|
+
* Viva does not sign payment webhooks (no HMAC, no body signing); auth is the
|
|
10
|
+
* IP allowlist plus the URL-verification handshake.
|
|
9
11
|
*
|
|
10
12
|
* Plus runtime helpers for event types and the monotonic status lattice.
|
|
11
13
|
*
|
|
12
14
|
* @see references/viva-docs/md/webhooks-for-payments.txt:254
|
|
13
15
|
*/
|
|
14
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.applyStatusTransition = exports.validateStatusTransition = exports.mapStatusLetter = exports.
|
|
17
|
+
exports.applyStatusTransition = exports.validateStatusTransition = exports.mapStatusLetter = exports.ISV_EVENT_TYPE_IDS = exports.V1_EVENT_TYPE_IDS = exports.isOnboardingEvent = exports.isTransactionEvent = exports.EVENT_TYPES = exports.extractClientIp = exports.isAllowedSourceIp = exports.VIVA_PROD_IPS = exports.VIVA_DEMO_IPS = exports.buildChallengeResponse = void 0;
|
|
16
18
|
var challenge_response_js_1 = require("./challenge-response.js");
|
|
17
19
|
Object.defineProperty(exports, "buildChallengeResponse", { enumerable: true, get: function () { return challenge_response_js_1.buildChallengeResponse; } });
|
|
18
20
|
var ip_allowlist_js_1 = require("./ip-allowlist.js");
|
|
@@ -21,13 +23,12 @@ Object.defineProperty(exports, "VIVA_PROD_IPS", { enumerable: true, get: functio
|
|
|
21
23
|
Object.defineProperty(exports, "isAllowedSourceIp", { enumerable: true, get: function () { return ip_allowlist_js_1.isAllowedSourceIp; } });
|
|
22
24
|
var extract_client_ip_js_1 = require("./extract-client-ip.js");
|
|
23
25
|
Object.defineProperty(exports, "extractClientIp", { enumerable: true, get: function () { return extract_client_ip_js_1.extractClientIp; } });
|
|
24
|
-
var hmac_verify_js_1 = require("./hmac-verify.js");
|
|
25
|
-
Object.defineProperty(exports, "verifyHmacSignature", { enumerable: true, get: function () { return hmac_verify_js_1.verifyHmacSignature; } });
|
|
26
26
|
var event_types_js_1 = require("./event-types.js");
|
|
27
27
|
Object.defineProperty(exports, "EVENT_TYPES", { enumerable: true, get: function () { return event_types_js_1.EVENT_TYPES; } });
|
|
28
28
|
Object.defineProperty(exports, "isTransactionEvent", { enumerable: true, get: function () { return event_types_js_1.isTransactionEvent; } });
|
|
29
29
|
Object.defineProperty(exports, "isOnboardingEvent", { enumerable: true, get: function () { return event_types_js_1.isOnboardingEvent; } });
|
|
30
30
|
Object.defineProperty(exports, "V1_EVENT_TYPE_IDS", { enumerable: true, get: function () { return event_types_js_1.V1_EVENT_TYPE_IDS; } });
|
|
31
|
+
Object.defineProperty(exports, "ISV_EVENT_TYPE_IDS", { enumerable: true, get: function () { return event_types_js_1.ISV_EVENT_TYPE_IDS; } });
|
|
31
32
|
var status_lattice_js_1 = require("./status-lattice.js");
|
|
32
33
|
Object.defineProperty(exports, "mapStatusLetter", { enumerable: true, get: function () { return status_lattice_js_1.mapStatusLetter; } });
|
|
33
34
|
Object.defineProperty(exports, "validateStatusTransition", { enumerable: true, get: function () { return status_lattice_js_1.validateStatusTransition; } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webhooks/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/webhooks/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,iEAAiE;AAAxD,+HAAA,sBAAsB,OAAA;AAE/B,qDAI2B;AAHzB,gHAAA,aAAa,OAAA;AACb,gHAAA,aAAa,OAAA;AACb,oHAAA,iBAAiB,OAAA;AAGnB,+DAGgC;AAF9B,uHAAA,eAAe,OAAA;AAIjB,mDAO0B;AANxB,6GAAA,WAAW,OAAA;AAEX,oHAAA,kBAAkB,OAAA;AAClB,mHAAA,iBAAiB,OAAA;AACjB,mHAAA,iBAAiB,OAAA;AACjB,oHAAA,kBAAkB,OAAA;AAGpB,yDAK6B;AAJ3B,oHAAA,eAAe,OAAA;AACf,6HAAA,wBAAwB,OAAA;AACxB,0HAAA,qBAAqB,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sakeetech/viva-payments-core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.7",
|
|
4
4
|
"description": "Framework-agnostic Viva Wallet client for ISV integrations. Used by medusa-payment-viva and vendure-payment-viva.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -80,6 +80,7 @@
|
|
|
80
80
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
81
81
|
"test": "vitest run",
|
|
82
82
|
"test:watch": "vitest",
|
|
83
|
+
"test:live": "vitest run --config vitest.live.config.ts",
|
|
83
84
|
"clean": "rm -rf dist .tsbuildinfo coverage"
|
|
84
85
|
}
|
|
85
86
|
}
|