@plural_pinelabs/mpp-seller-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/README.md +1 -0
- package/dist/config/environments.d.ts +8 -0
- package/dist/config/environments.d.ts.map +1 -0
- package/dist/config/environments.js +11 -0
- package/dist/config/environments.js.map +1 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +8 -0
- package/dist/config/index.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/generic.d.ts +29 -0
- package/dist/middleware/generic.d.ts.map +1 -0
- package/dist/middleware/generic.js +161 -0
- package/dist/middleware/generic.js.map +1 -0
- package/dist/middleware/index.d.ts +3 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +6 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/server/auth-manager.d.ts +19 -0
- package/dist/server/auth-manager.d.ts.map +1 -0
- package/dist/server/auth-manager.js +110 -0
- package/dist/server/auth-manager.js.map +1 -0
- package/dist/server/capture-client.d.ts +13 -0
- package/dist/server/capture-client.d.ts.map +1 -0
- package/dist/server/capture-client.js +134 -0
- package/dist/server/capture-client.js.map +1 -0
- package/dist/server/challenge-generator.d.ts +10 -0
- package/dist/server/challenge-generator.d.ts.map +1 -0
- package/dist/server/challenge-generator.js +60 -0
- package/dist/server/challenge-generator.js.map +1 -0
- package/dist/server/credential-verifier.d.ts +10 -0
- package/dist/server/credential-verifier.d.ts.map +1 -0
- package/dist/server/credential-verifier.js +142 -0
- package/dist/server/credential-verifier.js.map +1 -0
- package/dist/server/grant-token-verifier.d.ts +15 -0
- package/dist/server/grant-token-verifier.d.ts.map +1 -0
- package/dist/server/grant-token-verifier.js +155 -0
- package/dist/server/grant-token-verifier.js.map +1 -0
- package/dist/server/index.d.ts +8 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +22 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/plural-mpp.d.ts +26 -0
- package/dist/server/plural-mpp.d.ts.map +1 -0
- package/dist/server/plural-mpp.js +50 -0
- package/dist/server/plural-mpp.js.map +1 -0
- package/dist/server/receipt-builder.d.ts +5 -0
- package/dist/server/receipt-builder.d.ts.map +1 -0
- package/dist/server/receipt-builder.js +45 -0
- package/dist/server/receipt-builder.js.map +1 -0
- package/dist/types/auth.d.ts +12 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +3 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/capture.d.ts +51 -0
- package/dist/types/capture.d.ts.map +1 -0
- package/dist/types/capture.js +3 -0
- package/dist/types/capture.js.map +1 -0
- package/dist/types/challenge.d.ts +27 -0
- package/dist/types/challenge.d.ts.map +1 -0
- package/dist/types/challenge.js +3 -0
- package/dist/types/challenge.js.map +1 -0
- package/dist/types/config.d.ts +34 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +3 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/credential.d.ts +25 -0
- package/dist/types/credential.d.ts.map +1 -0
- package/dist/types/credential.js +3 -0
- package/dist/types/credential.js.map +1 -0
- package/dist/types/errors.d.ts +30 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +25 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/grantex.d.ts +27 -0
- package/dist/types/grantex.d.ts.map +1 -0
- package/dist/types/grantex.js +3 -0
- package/dist/types/grantex.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/base64url.d.ts +6 -0
- package/dist/utils/base64url.d.ts.map +1 -0
- package/dist/utils/base64url.js +25 -0
- package/dist/utils/base64url.js.map +1 -0
- package/dist/utils/errors.d.ts +16 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +46 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/fetch-helpers.d.ts +19 -0
- package/dist/utils/fetch-helpers.d.ts.map +1 -0
- package/dist/utils/fetch-helpers.js +108 -0
- package/dist/utils/fetch-helpers.js.map +1 -0
- package/dist/utils/hmac-sig.d.ts +3 -0
- package/dist/utils/hmac-sig.d.ts.map +1 -0
- package/dist/utils/hmac-sig.js +13 -0
- package/dist/utils/hmac-sig.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/validation.d.ts +3 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +27 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +29 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plural-mpp.d.ts","sourceRoot":"","sources":["../../src/server/plural-mpp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;gBAGxD,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,kBAAkB,GAAG,IAAI;IAQ1C,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe;IAI1D,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,kBAAkB;IAInE,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAI9D,kBAAkB,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAI7E,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM;IAI5D,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;CAIpF;AAED,qBAAa,SAAS;IACpB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,iBAAiB;CAS7D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PluralMPP = exports.PluralMPPInstance = void 0;
|
|
4
|
+
const validation_js_1 = require("../utils/validation.js");
|
|
5
|
+
const capture_client_js_1 = require("./capture-client.js");
|
|
6
|
+
const challenge_generator_js_1 = require("./challenge-generator.js");
|
|
7
|
+
const credential_verifier_js_1 = require("./credential-verifier.js");
|
|
8
|
+
const grant_token_verifier_js_1 = require("./grant-token-verifier.js");
|
|
9
|
+
const receipt_builder_js_1 = require("./receipt-builder.js");
|
|
10
|
+
class PluralMPPInstance {
|
|
11
|
+
challengeGenerator;
|
|
12
|
+
credentialVerifier;
|
|
13
|
+
captureClient;
|
|
14
|
+
grantVerifier;
|
|
15
|
+
constructor(challengeGenerator, credentialVerifier, captureClient, grantVerifier) {
|
|
16
|
+
this.challengeGenerator = challengeGenerator;
|
|
17
|
+
this.credentialVerifier = credentialVerifier;
|
|
18
|
+
this.captureClient = captureClient;
|
|
19
|
+
this.grantVerifier = grantVerifier;
|
|
20
|
+
}
|
|
21
|
+
generateChallenge(options) {
|
|
22
|
+
return this.challengeGenerator.generate(options);
|
|
23
|
+
}
|
|
24
|
+
verifyCredential(authorizationHeader) {
|
|
25
|
+
return this.credentialVerifier.verify(authorizationHeader);
|
|
26
|
+
}
|
|
27
|
+
async capture(options) {
|
|
28
|
+
return this.captureClient.capture(options);
|
|
29
|
+
}
|
|
30
|
+
buildReceiptHeader(captureResult, challengeId) {
|
|
31
|
+
return (0, receipt_builder_js_1.buildReceiptHeader)(captureResult, challengeId);
|
|
32
|
+
}
|
|
33
|
+
buildReceiptData(captureResult, challengeId) {
|
|
34
|
+
return (0, receipt_builder_js_1.buildReceiptData)(captureResult, challengeId);
|
|
35
|
+
}
|
|
36
|
+
async verifyGrantToken(grantToken) {
|
|
37
|
+
if (!this.grantVerifier)
|
|
38
|
+
return null;
|
|
39
|
+
return this.grantVerifier.verify(grantToken);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.PluralMPPInstance = PluralMPPInstance;
|
|
43
|
+
class PluralMPP {
|
|
44
|
+
static create(config) {
|
|
45
|
+
(0, validation_js_1.validateConfig)(config);
|
|
46
|
+
return new PluralMPPInstance(new challenge_generator_js_1.ChallengeGenerator(config), new credential_verifier_js_1.CredentialVerifier(config), new capture_client_js_1.CaptureClient(config), config.grantex ? new grant_token_verifier_js_1.GrantTokenVerifier(config.grantex) : null);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.PluralMPP = PluralMPP;
|
|
50
|
+
//# sourceMappingURL=plural-mpp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plural-mpp.js","sourceRoot":"","sources":["../../src/server/plural-mpp.ts"],"names":[],"mappings":";;;AAKA,0DAAwD;AACxD,2DAAoD;AACpD,qEAA8D;AAC9D,qEAA8D;AAC9D,uEAA+D;AAC/D,6DAA4E;AAE5E,MAAa,iBAAiB;IACX,kBAAkB,CAAqB;IACvC,kBAAkB,CAAqB;IACvC,aAAa,CAAgB;IAC7B,aAAa,CAA4B;IAE1D,YACE,kBAAsC,EACtC,kBAAsC,EACtC,aAA4B,EAC5B,aAAwC;QAExC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,iBAAiB,CAAC,OAAsB;QACtC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB,CAAC,mBAAmC;QAClD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,kBAAkB,CAAC,aAA4B,EAAE,WAAmB;QAClE,OAAO,IAAA,uCAAkB,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,gBAAgB,CAAC,aAA4B,EAAE,WAAmB;QAChE,OAAO,IAAA,qCAAgB,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;CACF;AA1CD,8CA0CC;AAED,MAAa,SAAS;IACpB,MAAM,CAAC,MAAM,CAAC,MAA0B;QACtC,IAAA,8BAAc,EAAC,MAAM,CAAC,CAAC;QACvB,OAAO,IAAI,iBAAiB,CAC1B,IAAI,2CAAkB,CAAC,MAAM,CAAC,EAC9B,IAAI,2CAAkB,CAAC,MAAM,CAAC,EAC9B,IAAI,iCAAa,CAAC,MAAM,CAAC,EACzB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,4CAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/D,CAAC;IACJ,CAAC;CACF;AAVD,8BAUC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CaptureResult, ReceiptData } from "../types/capture.js";
|
|
2
|
+
export declare function buildReceiptData(captureResult: CaptureResult, challengeId: string): ReceiptData;
|
|
3
|
+
export declare function buildReceiptHeader(captureResult: CaptureResult, challengeId: string): string;
|
|
4
|
+
export declare function buildFailureReceiptData(challengeId: string, _error: string): ReceiptData;
|
|
5
|
+
//# sourceMappingURL=receipt-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt-builder.d.ts","sourceRoot":"","sources":["../../src/server/receipt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAc,MAAM,qBAAqB,CAAC;AAKlF,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,CAa/F;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAc5F;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CASxF"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildReceiptData = buildReceiptData;
|
|
4
|
+
exports.buildReceiptHeader = buildReceiptHeader;
|
|
5
|
+
exports.buildFailureReceiptData = buildFailureReceiptData;
|
|
6
|
+
const base64url_js_1 = require("../utils/base64url.js");
|
|
7
|
+
const PAYMENT_RECEIPT_PREFIX = "Payment ";
|
|
8
|
+
function buildReceiptData(captureResult, challengeId) {
|
|
9
|
+
const amountMajor = (captureResult.amount.value / 100).toFixed(2);
|
|
10
|
+
const timestamp = captureResult.settled_at || new Date().toISOString().replace(/\.\d{3}Z$/, ".000Z");
|
|
11
|
+
return {
|
|
12
|
+
status: "success",
|
|
13
|
+
method: "plural",
|
|
14
|
+
timestamp,
|
|
15
|
+
reference: captureResult.capture_id,
|
|
16
|
+
challengeId,
|
|
17
|
+
settlement: { amount: amountMajor, currency: captureResult.amount.currency },
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function buildReceiptHeader(captureResult, challengeId) {
|
|
21
|
+
const receipt = buildReceiptData(captureResult, challengeId);
|
|
22
|
+
const payload = {
|
|
23
|
+
status: receipt.status,
|
|
24
|
+
method: receipt.method,
|
|
25
|
+
timestamp: receipt.timestamp,
|
|
26
|
+
reference: receipt.reference,
|
|
27
|
+
challengeId: receipt.challengeId,
|
|
28
|
+
settlement: {
|
|
29
|
+
amount: receipt.settlement.amount,
|
|
30
|
+
currency: receipt.settlement.currency,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
return `${PAYMENT_RECEIPT_PREFIX}${(0, base64url_js_1.encodeJson)(payload)}`;
|
|
34
|
+
}
|
|
35
|
+
function buildFailureReceiptData(challengeId, _error) {
|
|
36
|
+
return {
|
|
37
|
+
status: "failure",
|
|
38
|
+
method: "plural",
|
|
39
|
+
timestamp: new Date().toISOString().replace(/\.\d{3}Z$/, ".000Z"),
|
|
40
|
+
reference: "",
|
|
41
|
+
challengeId,
|
|
42
|
+
settlement: { amount: "0.00", currency: "INR" },
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=receipt-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt-builder.js","sourceRoot":"","sources":["../../src/server/receipt-builder.ts"],"names":[],"mappings":";;AAKA,4CAaC;AAED,gDAcC;AAED,0DASC;AA5CD,wDAAmD;AAEnD,MAAM,sBAAsB,GAAG,UAAU,CAAC;AAE1C,SAAgB,gBAAgB,CAAC,aAA4B,EAAE,WAAmB;IAChF,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GACb,aAAa,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAErF,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,QAAQ;QAChB,SAAS;QACT,SAAS,EAAE,aAAa,CAAC,UAAU;QACnC,WAAW;QACX,UAAU,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;KAC7E,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,aAA4B,EAAE,WAAmB;IAClF,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE;YACV,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM;YACjC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ;SACtC;KACF,CAAC;IACF,OAAO,GAAG,sBAAsB,GAAG,IAAA,yBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,SAAgB,uBAAuB,CAAC,WAAmB,EAAE,MAAc;IACzE,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;QACjE,SAAS,EAAE,EAAE;QACb,WAAW;QACX,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;KAChD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface AuthResponse {
|
|
2
|
+
access_token: string;
|
|
3
|
+
token_type: string;
|
|
4
|
+
expires_in: number;
|
|
5
|
+
scope: string;
|
|
6
|
+
}
|
|
7
|
+
export interface AuthState {
|
|
8
|
+
access_token: string;
|
|
9
|
+
expires_at: number;
|
|
10
|
+
scope: string;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/types/auth.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Amount } from "./config.js";
|
|
2
|
+
export interface CaptureOptions {
|
|
3
|
+
token: string;
|
|
4
|
+
amount: Amount;
|
|
5
|
+
description?: string | null;
|
|
6
|
+
merchantOrderReference?: string | null;
|
|
7
|
+
metadata?: Record<string, string> | null;
|
|
8
|
+
idempotencyKey?: string | null;
|
|
9
|
+
paymentType?: string;
|
|
10
|
+
customerReference?: string | null;
|
|
11
|
+
}
|
|
12
|
+
export interface CaptureReceipt {
|
|
13
|
+
mandate_amount: number;
|
|
14
|
+
total_debited: number;
|
|
15
|
+
remaining: number;
|
|
16
|
+
token_remaining: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
export interface CaptureResult {
|
|
19
|
+
capture_id: string;
|
|
20
|
+
object: string;
|
|
21
|
+
mandate_id: string;
|
|
22
|
+
token_id: string;
|
|
23
|
+
customer_id: string;
|
|
24
|
+
merchant_id: string;
|
|
25
|
+
order_id: string;
|
|
26
|
+
order_status: string;
|
|
27
|
+
payment_id: string;
|
|
28
|
+
payment_status: string;
|
|
29
|
+
amount: Amount;
|
|
30
|
+
upi_txn_id: string;
|
|
31
|
+
receipt: Record<string, unknown>;
|
|
32
|
+
description?: string | null;
|
|
33
|
+
merchant_order_reference?: string | null;
|
|
34
|
+
metadata?: Record<string, string> | null;
|
|
35
|
+
settled_at: string;
|
|
36
|
+
created_at: string;
|
|
37
|
+
raw: Record<string, unknown>;
|
|
38
|
+
}
|
|
39
|
+
export interface Settlement {
|
|
40
|
+
amount: string;
|
|
41
|
+
currency: string;
|
|
42
|
+
}
|
|
43
|
+
export interface ReceiptData {
|
|
44
|
+
status: "success" | "failure";
|
|
45
|
+
method: string;
|
|
46
|
+
timestamp: string;
|
|
47
|
+
reference: string;
|
|
48
|
+
challengeId: string;
|
|
49
|
+
settlement: Settlement;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/types/capture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/types/capture.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface ChallengeRequest {
|
|
2
|
+
scheme: string;
|
|
3
|
+
amount: string;
|
|
4
|
+
currency: string;
|
|
5
|
+
resource: string;
|
|
6
|
+
}
|
|
7
|
+
export interface Challenge {
|
|
8
|
+
id: string;
|
|
9
|
+
realm: string;
|
|
10
|
+
method: string;
|
|
11
|
+
intent: string;
|
|
12
|
+
request: ChallengeRequest;
|
|
13
|
+
expires: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ProblemDetails {
|
|
16
|
+
type: string;
|
|
17
|
+
title: string;
|
|
18
|
+
status: 402;
|
|
19
|
+
detail: string;
|
|
20
|
+
challengeId: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ChallengeResult {
|
|
23
|
+
challenge: Challenge;
|
|
24
|
+
encoded: string;
|
|
25
|
+
problemDetails: ProblemDetails;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=challenge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"challenge.d.ts","sourceRoot":"","sources":["../../src/types/challenge.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,cAAc,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"challenge.js","sourceRoot":"","sources":["../../src/types/challenge.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SellerGrantexConfig } from "./grantex.js";
|
|
2
|
+
export interface Amount {
|
|
3
|
+
value: number;
|
|
4
|
+
currency: string;
|
|
5
|
+
}
|
|
6
|
+
export interface MppLogger {
|
|
7
|
+
debug(message: string, context?: Record<string, unknown> | null): void;
|
|
8
|
+
info(message: string, context?: Record<string, unknown> | null): void;
|
|
9
|
+
error(message: string, context?: Record<string, unknown> | null): void;
|
|
10
|
+
}
|
|
11
|
+
export interface PluralSellerConfig {
|
|
12
|
+
clientId: string;
|
|
13
|
+
clientSecret: string;
|
|
14
|
+
challengeSecretKey: string;
|
|
15
|
+
realm?: string | null;
|
|
16
|
+
baseUrl?: string | null;
|
|
17
|
+
defaultChallengeExpirySeconds?: number | null;
|
|
18
|
+
requestTimeoutMs?: number | null;
|
|
19
|
+
maxRetries?: number | null;
|
|
20
|
+
initialRetryDelayMs?: number | null;
|
|
21
|
+
logger?: MppLogger | null;
|
|
22
|
+
grantex?: SellerGrantexConfig | null;
|
|
23
|
+
mppMerchantId?: string | null;
|
|
24
|
+
accessToken?: string | null;
|
|
25
|
+
}
|
|
26
|
+
export interface ChargeOptions {
|
|
27
|
+
amount: Amount;
|
|
28
|
+
resource: string;
|
|
29
|
+
description?: string | null;
|
|
30
|
+
merchantOrderReference?: string | null;
|
|
31
|
+
metadata?: Record<string, unknown> | null;
|
|
32
|
+
challengeExpirySeconds?: number | null;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACvE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACtE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,6BAA6B,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ChallengeRequest } from "./challenge.js";
|
|
2
|
+
export interface CredentialChallenge {
|
|
3
|
+
id: string;
|
|
4
|
+
realm: string;
|
|
5
|
+
method: string;
|
|
6
|
+
intent: string;
|
|
7
|
+
request: ChallengeRequest;
|
|
8
|
+
expires: string;
|
|
9
|
+
}
|
|
10
|
+
export interface CredentialPayload {
|
|
11
|
+
type: "token";
|
|
12
|
+
token: string;
|
|
13
|
+
customer_reference?: string | null;
|
|
14
|
+
}
|
|
15
|
+
export interface Credential {
|
|
16
|
+
challenge: CredentialChallenge;
|
|
17
|
+
source: string;
|
|
18
|
+
payload: CredentialPayload;
|
|
19
|
+
}
|
|
20
|
+
export interface VerificationResult {
|
|
21
|
+
valid: boolean;
|
|
22
|
+
credential?: Credential | null;
|
|
23
|
+
error?: string | null;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=credential.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../src/types/credential.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/types/credential.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export declare enum MppErrorCode {
|
|
2
|
+
VALIDATION_FAILED = "MPP_VALIDATION_FAILED",
|
|
3
|
+
AUTHENTICATION_FAILED = "MPP_AUTHENTICATION_FAILED",
|
|
4
|
+
AGENT_NOT_AUTHORIZED = "MPP_AGENT_NOT_AUTHORIZED",
|
|
5
|
+
AGENT_ALREADY_EXISTS = "MPP_AGENT_ALREADY_EXISTS",
|
|
6
|
+
MANDATE_NOT_FOUND = "MPP_MANDATE_NOT_FOUND",
|
|
7
|
+
MANDATE_NOT_AUTHORIZED = "MPP_MANDATE_NOT_AUTHORIZED",
|
|
8
|
+
MANDATE_EXPIRED = "MPP_MANDATE_EXPIRED",
|
|
9
|
+
CUSTOMER_NOT_FOUND = "MPP_CUSTOMER_NOT_FOUND",
|
|
10
|
+
CUSTOMER_MANDATE_MISMATCH = "MPP_CUSTOMER_MANDATE_MISMATCH",
|
|
11
|
+
TOKEN_NOT_FOUND = "MPP_TOKEN_NOT_FOUND",
|
|
12
|
+
TOKEN_EXPIRED = "MPP_TOKEN_EXPIRED",
|
|
13
|
+
TOKEN_REVOKED = "MPP_TOKEN_REVOKED",
|
|
14
|
+
INSUFFICIENT_AVAILABLE_BALANCE = "MPP_INSUFFICIENT_AVAILABLE_BALANCE",
|
|
15
|
+
AMOUNT_EXCEEDS_LIMIT = "MPP_AMOUNT_EXCEEDS_LIMIT",
|
|
16
|
+
CHARGES_EXHAUSTED = "MPP_CHARGES_EXHAUSTED",
|
|
17
|
+
DUPLICATE_REQUEST = "MPP_DUPLICATE_REQUEST",
|
|
18
|
+
UPI_GATEWAY_ERROR = "MPP_UPI_GATEWAY_ERROR",
|
|
19
|
+
INTERNAL_ERROR = "MPP_INTERNAL_ERROR"
|
|
20
|
+
}
|
|
21
|
+
export interface MppErrorDetails {
|
|
22
|
+
source: string;
|
|
23
|
+
step: string;
|
|
24
|
+
reason: string;
|
|
25
|
+
field?: string | null;
|
|
26
|
+
}
|
|
27
|
+
export interface MppErrorResponse {
|
|
28
|
+
error: Record<string, unknown>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,iBAAiB,0BAA0B;IAC3C,qBAAqB,8BAA8B;IACnD,oBAAoB,6BAA6B;IACjD,oBAAoB,6BAA6B;IACjD,iBAAiB,0BAA0B;IAC3C,sBAAsB,+BAA+B;IACrD,eAAe,wBAAwB;IACvC,kBAAkB,2BAA2B;IAC7C,yBAAyB,kCAAkC;IAC3D,eAAe,wBAAwB;IACvC,aAAa,sBAAsB;IACnC,aAAa,sBAAsB;IACnC,8BAA8B,uCAAuC;IACrE,oBAAoB,6BAA6B;IACjD,iBAAiB,0BAA0B;IAC3C,iBAAiB,0BAA0B;IAC3C,iBAAiB,0BAA0B;IAC3C,cAAc,uBAAuB;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MppErrorCode = void 0;
|
|
4
|
+
var MppErrorCode;
|
|
5
|
+
(function (MppErrorCode) {
|
|
6
|
+
MppErrorCode["VALIDATION_FAILED"] = "MPP_VALIDATION_FAILED";
|
|
7
|
+
MppErrorCode["AUTHENTICATION_FAILED"] = "MPP_AUTHENTICATION_FAILED";
|
|
8
|
+
MppErrorCode["AGENT_NOT_AUTHORIZED"] = "MPP_AGENT_NOT_AUTHORIZED";
|
|
9
|
+
MppErrorCode["AGENT_ALREADY_EXISTS"] = "MPP_AGENT_ALREADY_EXISTS";
|
|
10
|
+
MppErrorCode["MANDATE_NOT_FOUND"] = "MPP_MANDATE_NOT_FOUND";
|
|
11
|
+
MppErrorCode["MANDATE_NOT_AUTHORIZED"] = "MPP_MANDATE_NOT_AUTHORIZED";
|
|
12
|
+
MppErrorCode["MANDATE_EXPIRED"] = "MPP_MANDATE_EXPIRED";
|
|
13
|
+
MppErrorCode["CUSTOMER_NOT_FOUND"] = "MPP_CUSTOMER_NOT_FOUND";
|
|
14
|
+
MppErrorCode["CUSTOMER_MANDATE_MISMATCH"] = "MPP_CUSTOMER_MANDATE_MISMATCH";
|
|
15
|
+
MppErrorCode["TOKEN_NOT_FOUND"] = "MPP_TOKEN_NOT_FOUND";
|
|
16
|
+
MppErrorCode["TOKEN_EXPIRED"] = "MPP_TOKEN_EXPIRED";
|
|
17
|
+
MppErrorCode["TOKEN_REVOKED"] = "MPP_TOKEN_REVOKED";
|
|
18
|
+
MppErrorCode["INSUFFICIENT_AVAILABLE_BALANCE"] = "MPP_INSUFFICIENT_AVAILABLE_BALANCE";
|
|
19
|
+
MppErrorCode["AMOUNT_EXCEEDS_LIMIT"] = "MPP_AMOUNT_EXCEEDS_LIMIT";
|
|
20
|
+
MppErrorCode["CHARGES_EXHAUSTED"] = "MPP_CHARGES_EXHAUSTED";
|
|
21
|
+
MppErrorCode["DUPLICATE_REQUEST"] = "MPP_DUPLICATE_REQUEST";
|
|
22
|
+
MppErrorCode["UPI_GATEWAY_ERROR"] = "MPP_UPI_GATEWAY_ERROR";
|
|
23
|
+
MppErrorCode["INTERNAL_ERROR"] = "MPP_INTERNAL_ERROR";
|
|
24
|
+
})(MppErrorCode || (exports.MppErrorCode = MppErrorCode = {}));
|
|
25
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAmBX;AAnBD,WAAY,YAAY;IACtB,2DAA2C,CAAA;IAC3C,mEAAmD,CAAA;IACnD,iEAAiD,CAAA;IACjD,iEAAiD,CAAA;IACjD,2DAA2C,CAAA;IAC3C,qEAAqD,CAAA;IACrD,uDAAuC,CAAA;IACvC,6DAA6C,CAAA;IAC7C,2EAA2D,CAAA;IAC3D,uDAAuC,CAAA;IACvC,mDAAmC,CAAA;IACnC,mDAAmC,CAAA;IACnC,qFAAqE,CAAA;IACrE,iEAAiD,CAAA;IACjD,2DAA2C,CAAA;IAC3C,2DAA2C,CAAA;IAC3C,2DAA2C,CAAA;IAC3C,qDAAqC,CAAA;AACvC,CAAC,EAnBW,YAAY,4BAAZ,YAAY,QAmBvB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface GrantTokenClaims {
|
|
2
|
+
iss: string;
|
|
3
|
+
sub: string;
|
|
4
|
+
agt: string;
|
|
5
|
+
scp: string[];
|
|
6
|
+
grnt: string;
|
|
7
|
+
iat: number;
|
|
8
|
+
exp: number;
|
|
9
|
+
dev?: string | null;
|
|
10
|
+
nbf?: number | null;
|
|
11
|
+
parentAgt?: string | null;
|
|
12
|
+
parentGrnt?: string | null;
|
|
13
|
+
delegationDepth?: number | null;
|
|
14
|
+
raw: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
export interface GrantVerificationResult {
|
|
17
|
+
valid: boolean;
|
|
18
|
+
claims?: GrantTokenClaims | null;
|
|
19
|
+
error?: string | null;
|
|
20
|
+
}
|
|
21
|
+
export interface SellerGrantexConfig {
|
|
22
|
+
jwksUrl: string;
|
|
23
|
+
jwksCacheTtlMs?: number | null;
|
|
24
|
+
requiredScopes?: string[] | null;
|
|
25
|
+
enforceGrant?: boolean;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=grantex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grantex.d.ts","sourceRoot":"","sources":["../../src/types/grantex.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grantex.js","sourceRoot":"","sources":["../../src/types/grantex.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type { AuthResponse, AuthState } from "./auth.js";
|
|
2
|
+
export type { CaptureOptions, CaptureReceipt, CaptureResult, ReceiptData, Settlement, } from "./capture.js";
|
|
3
|
+
export type { Challenge, ChallengeRequest, ChallengeResult, ProblemDetails, } from "./challenge.js";
|
|
4
|
+
export type { Amount, ChargeOptions, MppLogger, PluralSellerConfig } from "./config.js";
|
|
5
|
+
export type { Credential, CredentialChallenge, CredentialPayload, VerificationResult, } from "./credential.js";
|
|
6
|
+
export { MppErrorCode } from "./errors.js";
|
|
7
|
+
export type { MppErrorDetails, MppErrorResponse } from "./errors.js";
|
|
8
|
+
export type { GrantTokenClaims, GrantVerificationResult, SellerGrantexConfig, } from "./grantex.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACzD,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACxF,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrE,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MppErrorCode = void 0;
|
|
4
|
+
var errors_js_1 = require("./errors.js");
|
|
5
|
+
Object.defineProperty(exports, "MppErrorCode", { enumerable: true, get: function () { return errors_js_1.MppErrorCode; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAqBA,yCAA2C;AAAlC,yGAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function encode(data: string | Uint8Array): string;
|
|
2
|
+
export declare function decode(encoded: string): string;
|
|
3
|
+
export declare function encodeJson(obj: unknown): string;
|
|
4
|
+
export declare function decodeJson(encoded: string): unknown;
|
|
5
|
+
export declare function isBase64Url(value: string): boolean;
|
|
6
|
+
//# sourceMappingURL=base64url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base64url.d.ts","sourceRoot":"","sources":["../../src/utils/base64url.ts"],"names":[],"mappings":"AAEA,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAGxD;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE/C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.encode = encode;
|
|
4
|
+
exports.decode = decode;
|
|
5
|
+
exports.encodeJson = encodeJson;
|
|
6
|
+
exports.decodeJson = decodeJson;
|
|
7
|
+
exports.isBase64Url = isBase64Url;
|
|
8
|
+
const BASE64URL_RE = /^[A-Za-z0-9_-]+$/;
|
|
9
|
+
function encode(data) {
|
|
10
|
+
const raw = typeof data === "string" ? new TextEncoder().encode(data) : data;
|
|
11
|
+
return Buffer.from(raw).toString("base64url");
|
|
12
|
+
}
|
|
13
|
+
function decode(encoded) {
|
|
14
|
+
return Buffer.from(encoded, "base64url").toString("utf-8");
|
|
15
|
+
}
|
|
16
|
+
function encodeJson(obj) {
|
|
17
|
+
return encode(JSON.stringify(obj));
|
|
18
|
+
}
|
|
19
|
+
function decodeJson(encoded) {
|
|
20
|
+
return JSON.parse(decode(encoded));
|
|
21
|
+
}
|
|
22
|
+
function isBase64Url(value) {
|
|
23
|
+
return BASE64URL_RE.test(value);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=base64url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base64url.js","sourceRoot":"","sources":["../../src/utils/base64url.ts"],"names":[],"mappings":";;AAEA,wBAGC;AAED,wBAEC;AAED,gCAEC;AAED,gCAEC;AAED,kCAEC;AArBD,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAExC,SAAgB,MAAM,CAAC,IAAyB;IAC9C,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,SAAgB,MAAM,CAAC,OAAe;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,UAAU,CAAC,GAAY;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class MppError extends Error {
|
|
2
|
+
readonly code: string;
|
|
3
|
+
readonly httpStatus: number;
|
|
4
|
+
readonly details: Record<string, unknown> | null;
|
|
5
|
+
constructor(code: string, message: string, httpStatus: number, details?: Record<string, unknown> | null);
|
|
6
|
+
static fromResponse(status: number, body: Record<string, unknown>): MppError;
|
|
7
|
+
toDict(): Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export declare class MppCaptureError extends Error {
|
|
10
|
+
readonly captureError: MppError | null;
|
|
11
|
+
constructor(message: string, captureError?: MppError | null);
|
|
12
|
+
}
|
|
13
|
+
export declare class MppVerificationError extends Error {
|
|
14
|
+
constructor(message: string);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;gBAGtD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS1C,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAU5E,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CASlC;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;gBAElC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,QAAQ,GAAG,IAAI;CAK5D;AAED,qBAAa,oBAAqB,SAAQ,KAAK;gBACjC,OAAO,EAAE,MAAM;CAI5B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MppVerificationError = exports.MppCaptureError = exports.MppError = void 0;
|
|
4
|
+
class MppError extends Error {
|
|
5
|
+
code;
|
|
6
|
+
httpStatus;
|
|
7
|
+
details;
|
|
8
|
+
constructor(code, message, httpStatus, details) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = "MppError";
|
|
11
|
+
this.code = code;
|
|
12
|
+
this.httpStatus = httpStatus;
|
|
13
|
+
this.details = details ?? null;
|
|
14
|
+
}
|
|
15
|
+
static fromResponse(status, body) {
|
|
16
|
+
const err = body.error ?? body;
|
|
17
|
+
return new MppError(err.code ?? "MPP_INTERNAL_ERROR", err.message ?? `HTTP ${status}`, status, err.additional_error_details ?? null);
|
|
18
|
+
}
|
|
19
|
+
toDict() {
|
|
20
|
+
return {
|
|
21
|
+
error: {
|
|
22
|
+
code: this.code,
|
|
23
|
+
message: this.message,
|
|
24
|
+
additional_error_details: this.details,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.MppError = MppError;
|
|
30
|
+
class MppCaptureError extends Error {
|
|
31
|
+
captureError;
|
|
32
|
+
constructor(message, captureError) {
|
|
33
|
+
super(message);
|
|
34
|
+
this.name = "MppCaptureError";
|
|
35
|
+
this.captureError = captureError ?? null;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.MppCaptureError = MppCaptureError;
|
|
39
|
+
class MppVerificationError extends Error {
|
|
40
|
+
constructor(message) {
|
|
41
|
+
super(message);
|
|
42
|
+
this.name = "MppVerificationError";
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.MppVerificationError = MppVerificationError;
|
|
46
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,QAAS,SAAQ,KAAK;IACjB,IAAI,CAAS;IACb,UAAU,CAAS;IACnB,OAAO,CAAiC;IAExD,YACE,IAAY,EACZ,OAAe,EACf,UAAkB,EAClB,OAAwC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,MAAc,EAAE,IAA6B;QAC/D,MAAM,GAAG,GAAI,IAAI,CAAC,KAAiC,IAAI,IAAI,CAAC;QAC5D,OAAO,IAAI,QAAQ,CAChB,GAAG,CAAC,IAAe,IAAI,oBAAoB,EAC3C,GAAG,CAAC,OAAkB,IAAI,QAAQ,MAAM,EAAE,EAC3C,MAAM,EACL,GAAG,CAAC,wBAAoD,IAAI,IAAI,CAClE,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,wBAAwB,EAAE,IAAI,CAAC,OAAO;aACvC;SACF,CAAC;IACJ,CAAC;CACF;AArCD,4BAqCC;AAED,MAAa,eAAgB,SAAQ,KAAK;IACxB,YAAY,CAAkB;IAE9C,YAAY,OAAe,EAAE,YAA8B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC;IAC3C,CAAC;CACF;AARD,0CAQC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AALD,oDAKC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { MppLogger } from "../types/config.js";
|
|
2
|
+
export interface RequestWithRetryOptions {
|
|
3
|
+
method: string;
|
|
4
|
+
url: string;
|
|
5
|
+
headers?: Record<string, string>;
|
|
6
|
+
body?: string | null;
|
|
7
|
+
timeoutMs?: number | null;
|
|
8
|
+
logger?: MppLogger | null;
|
|
9
|
+
maxRetries?: number | null;
|
|
10
|
+
initialRetryDelayMs?: number | null;
|
|
11
|
+
}
|
|
12
|
+
export interface FetchResponse {
|
|
13
|
+
status: number;
|
|
14
|
+
headers: Headers;
|
|
15
|
+
json(): Promise<unknown>;
|
|
16
|
+
text(): Promise<string>;
|
|
17
|
+
}
|
|
18
|
+
export declare function requestWithRetry(opts: RequestWithRetryOptions): Promise<FetchResponse>;
|
|
19
|
+
//# sourceMappingURL=fetch-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/fetch-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgCpD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAkGxB"}
|