@cheqi/sdk 0.3.0 → 0.4.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 CHANGED
@@ -6,7 +6,7 @@ TypeScript-first Cheqi SDK for encrypted receipt and credit note processing.
6
6
 
7
7
  - SDK entrypoint with config and service wiring
8
8
  - Customer matching
9
- - Receipt processing flow: match -> template -> encrypt -> send/email fallback
9
+ - Receipt processing flow: match -> template -> encrypt -> digital, email, or client-encrypted download delivery
10
10
  - Credit note processing flow
11
11
  - Hybrid RSA-OAEP + AES-256-GCM encryption/decryption
12
12
  - Retry-capable HTTP client
@@ -46,6 +46,15 @@ const result = await sdk.receiptService.processCompleteReceipt(
46
46
  totalAmount: 12.1
47
47
  }
48
48
  );
49
+
50
+ if (result.deliveryStatus === "PENDING_DOWNLOAD_TEMPLATE") {
51
+ // Commit the original request and result.downloadUrl in your durable store
52
+ // before displaying or printing the URL.
53
+ }
54
+
55
+ if (result.deliveryStatus === "PENDING_DOWNLOAD_UPLOAD") {
56
+ // Persist result.downloadCiphertext and retry those exact bytes later.
57
+ }
49
58
  ```
50
59
 
51
60
  ## Notes
@@ -55,12 +64,16 @@ const result = await sdk.receiptService.processCompleteReceipt(
55
64
  - The package ships `.d.ts` declarations so it can be consumed directly from TypeScript.
56
65
  - The full Java model class hierarchy is still not recreated as class-per-model; the payload contract is represented as typed object shapes instead.
57
66
  - XML verification currently normalizes formatting whitespace and hashes the result. If strict XML C14N compatibility is required, that part should be hardened next.
58
- ## Deferred receipt download links
67
+ ## Client-encrypted receipt download links
68
+
69
+ The high-level flow uses the same client-encrypted mechanism when matching selects
70
+ `DOWNLOAD_FALLBACK` and when a transient service failure requires deferred completion.
71
+ When a healthy matching response returns `routeFound: false`, the SDK returns
72
+ `CUSTOMER_NOT_FOUND` and does not bypass a disabled download fallback.
59
73
 
60
- The SDK provides stateless primitives for creating a customer URL before Cheqi is
61
- reachable. It does not store receipts, start background workers, or choose a retry
62
- schedule. Your integration owns persistence and decides where and when deferred work
63
- runs.
74
+ The SDK also provides stateless primitives for resuming a URL under your own scheduler. It
75
+ does not store receipts, start background workers, or choose a retry schedule. Your
76
+ integration owns persistence and decides where and when deferred work runs.
64
77
 
65
78
  ```ts
66
79
  import {
@@ -28,6 +28,8 @@ export declare class CheqiSDKBuilder {
28
28
  apiEndpoint(apiEndpoint: string): this;
29
29
  /** Set a custom API endpoint URL. Takes precedence over {@link apiEndpoint}. */
30
30
  customApiEndpoint(customApiEndpoint: string): this;
31
+ /** Set the customer-facing receipt origin for a custom API endpoint. */
32
+ receiptDownloadBaseUrl(receiptDownloadBaseUrl: string): this;
31
33
  /** Set the API key (typically starts with `sk_live_` or `sk_test_`). */
32
34
  apiKey(apiKey: string): this;
33
35
  /** Set the RSA private key (base64-encoded PKCS#8 DER) for decryption. */
package/dist/cheqi-sdk.js CHANGED
@@ -32,6 +32,11 @@ export class CheqiSDKBuilder {
32
32
  this.options.customApiEndpoint = customApiEndpoint;
33
33
  return this;
34
34
  }
35
+ /** Set the customer-facing receipt origin for a custom API endpoint. */
36
+ receiptDownloadBaseUrl(receiptDownloadBaseUrl) {
37
+ this.options.receiptDownloadBaseUrl = receiptDownloadBaseUrl;
38
+ return this;
39
+ }
35
40
  /** Set the API key (typically starts with `sk_live_` or `sk_test_`). */
36
41
  apiKey(apiKey) {
37
42
  this.options.apiKey = apiKey;
@@ -107,7 +112,7 @@ export class CheqiSDK {
107
112
  this.receiptProcessor = new ReceiptProcessor(this.decryptionService);
108
113
  this.apiClient = apiClient ?? new DefaultCheqiApiClient(this.config);
109
114
  this.matchingService = new MatchingService(this.apiClient);
110
- this.receiptService = new ReceiptService(this.apiClient, this.encryptionService, this.matchingService);
115
+ this.receiptService = new ReceiptService(this.apiClient, this.encryptionService, this.matchingService, this.config.receiptDownloadBaseUrl);
111
116
  this.companyService = new CompanyService(this.apiClient);
112
117
  this.storeService = new StoreService(this.apiClient);
113
118
  this.creditNoteService = new CreditNoteService(this.apiClient, this.encryptionService, this.matchingService, this.decryptionService);
@@ -1 +1 @@
1
- {"version":3,"file":"cheqi-sdk.js","sourceRoot":"","sources":["../src/cheqi-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cheqi-sdk.js","sourceRoot":"","sources":["../src/cheqi-sdk.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -6,6 +6,10 @@ export declare const Environment: {
6
6
  readonly TEST: "https://test.api.cheqi.io";
7
7
  readonly PRODUCTION: "https://api.cheqi.io";
8
8
  };
9
+ export declare const ReceiptEnvironment: {
10
+ readonly SANDBOX: "https://sandbox.receipt.cheqi.io";
11
+ readonly PRODUCTION: "https://receipt.cheqi.io";
12
+ };
9
13
  /**
10
14
  * Validated, immutable configuration for the Cheqi SDK.
11
15
  *
@@ -15,6 +19,7 @@ export declare const Environment: {
15
19
  export declare class CheqiSDKConfig {
16
20
  readonly apiEndpoint: string;
17
21
  readonly apiKey: Nullable<string>;
22
+ readonly receiptDownloadBaseUrl: Nullable<string>;
18
23
  readonly privateKey: Nullable<string>;
19
24
  readonly timeoutSeconds: number;
20
25
  readonly maxRetries: number;
package/dist/config.js CHANGED
@@ -5,6 +5,10 @@ export const Environment = {
5
5
  TEST: "https://test.api.cheqi.io",
6
6
  PRODUCTION: "https://api.cheqi.io"
7
7
  };
8
+ export const ReceiptEnvironment = {
9
+ SANDBOX: "https://sandbox.receipt.cheqi.io",
10
+ PRODUCTION: "https://receipt.cheqi.io"
11
+ };
8
12
  const MAX_TIMEOUT_SECONDS = 300;
9
13
  const MAX_RETRIES = 10;
10
14
  /**
@@ -16,18 +20,20 @@ const MAX_RETRIES = 10;
16
20
  export class CheqiSDKConfig {
17
21
  apiEndpoint;
18
22
  apiKey;
23
+ receiptDownloadBaseUrl;
19
24
  privateKey;
20
25
  timeoutSeconds;
21
26
  maxRetries;
22
27
  logger;
23
28
  constructor(options = {}) {
24
- const { environment, customApiEndpoint, apiKey = null, privateKey = null, timeoutSeconds = 30, maxRetries = 3, logger = new ConsoleLogger() } = options;
29
+ const { environment, customApiEndpoint, receiptDownloadBaseUrl, apiKey = null, privateKey = null, timeoutSeconds = 30, maxRetries = 3, logger = new ConsoleLogger() } = options;
25
30
  this.logger = logger;
26
31
  // --- endpoint ---
27
32
  this.apiEndpoint = customApiEndpoint ?? environment ?? "";
28
33
  if (!this.apiEndpoint) {
29
34
  throw new Error("Either 'environment' or 'customApiEndpoint' must be provided");
30
35
  }
36
+ this.receiptDownloadBaseUrl = receiptDownloadBaseUrl ?? receiptBaseUrlForEnvironment(environment);
31
37
  // --- timeout ---
32
38
  if (timeoutSeconds <= 0) {
33
39
  throw new Error(`Timeout must be positive, got: ${timeoutSeconds}`);
@@ -57,6 +63,13 @@ export class CheqiSDKConfig {
57
63
  this.logger.info(`SDK configured: endpoint=${this.apiEndpoint}, timeout=${this.timeoutSeconds}s, maxRetries=${this.maxRetries}`);
58
64
  }
59
65
  }
66
+ function receiptBaseUrlForEnvironment(environment) {
67
+ if (environment === Environment.PRODUCTION)
68
+ return ReceiptEnvironment.PRODUCTION;
69
+ if (environment === Environment.SANDBOX)
70
+ return ReceiptEnvironment.SANDBOX;
71
+ return null;
72
+ }
60
73
  function isValidApiKeyFormat(key) {
61
74
  return key.startsWith("sk_live_") || key.startsWith("sk_test_");
62
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,8BAA8B;IACvC,IAAI,EAAE,2BAA2B;IACjC,UAAU,EAAE,sBAAsB;CAC1B,CAAC;AAEX,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAChB,WAAW,CAAS;IACpB,MAAM,CAAmB;IACzB,UAAU,CAAmB;IAC7B,cAAc,CAAS;IACvB,UAAU,CAAS;IACnB,MAAM,CAAS;IAExB,YAAY,UAA2B,EAAE;QACvC,MAAM,EACJ,WAAW,EACX,iBAAiB,EACjB,MAAM,GAAG,IAAI,EACb,UAAU,GAAG,IAAI,EACjB,cAAc,GAAG,EAAE,EACnB,UAAU,GAAG,CAAC,EACd,MAAM,GAAG,IAAI,aAAa,EAAE,EAC7B,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,mBAAmB;QACnB,IAAI,CAAC,WAAW,GAAG,iBAAiB,IAAI,WAAW,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,kBAAkB;QAClB,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,cAAc,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,cAAc,GAAG,mBAAmB,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,cAAc,oCAAoC,mBAAmB,GAAG,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,kBAAkB;QAClB,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,wCAAwC,UAAU,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,mCAAmC,WAAW,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,kBAAkB;QAClB,IAAI,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,sBAAsB;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,WAAW,aAAa,IAAI,CAAC,cAAc,iBAAiB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACnI,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -38,10 +38,10 @@ export interface DownloadLink {
38
38
  url: string;
39
39
  }
40
40
  /**
41
- * Generates a fresh download link locally — no network involved. The URL does not depend
42
- * on successful server issuance: a customer who opens it before upload sees the pending
43
- * receipt page. The integration must retain the request, id, and key before exposing the
44
- * URL so it can finish template generation, encryption, and upload later.
41
+ * Generates a fresh download link locally — no network involved. Use it after an online
42
+ * `DOWNLOAD_FALLBACK` decision or when a Cheqi outage requires a deferred customer URL.
43
+ * The integration must retain the request, id, and key before exposing the URL so it can
44
+ * finish template generation, encryption, and upload later.
45
45
  */
46
46
  export declare function generateDownloadLink(baseUrl: string): DownloadLink;
47
47
  /** Builds the customer-facing URL. The content key MUST stay in the fragment. */
@@ -78,10 +78,10 @@ async function importContentKey(contentKey, usage) {
78
78
  return subtle().importKey("raw", keyBytes, "AES-GCM", false, [usage]);
79
79
  }
80
80
  /**
81
- * Generates a fresh download link locally — no network involved. The URL does not depend
82
- * on successful server issuance: a customer who opens it before upload sees the pending
83
- * receipt page. The integration must retain the request, id, and key before exposing the
84
- * URL so it can finish template generation, encryption, and upload later.
81
+ * Generates a fresh download link locally — no network involved. Use it after an online
82
+ * `DOWNLOAD_FALLBACK` decision or when a Cheqi outage requires a deferred customer URL.
83
+ * The integration must retain the request, id, and key before exposing the URL so it can
84
+ * finish template generation, encryption, and upload later.
85
85
  */
86
86
  export function generateDownloadLink(baseUrl) {
87
87
  const downloadId = toBase64Url(randomBytes(DOWNLOAD_ID_LENGTH));
@@ -7,7 +7,7 @@ import { RetryHandler } from "./retry.js";
7
7
  const SDK_VERSION = (() => {
8
8
  try {
9
9
  // Dynamic import not needed — we just embed the constant at build time.
10
- return "0.3.0";
10
+ return "0.4.0";
11
11
  }
12
12
  catch {
13
13
  return "unknown";
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { CheqiSDK, CheqiSDKBuilder } from "./cheqi-sdk.js";
2
- export { Environment, CheqiSDKConfig } from "./config.js";
2
+ export { Environment, ReceiptEnvironment, CheqiSDKConfig } from "./config.js";
3
3
  export * from "./errors.js";
4
4
  export type { Logger } from "./logger.js";
5
5
  export { ConsoleLogger, NoopLogger } from "./logger.js";
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { CheqiSDK, CheqiSDKBuilder } from "./cheqi-sdk.js";
2
- export { Environment, CheqiSDKConfig } from "./config.js";
2
+ export { Environment, ReceiptEnvironment, CheqiSDKConfig } from "./config.js";
3
3
  export * from "./errors.js";
4
4
  export { ConsoleLogger, NoopLogger } from "./logger.js";
5
5
  export * from "./models/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC9E,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
@@ -23,6 +23,12 @@ export interface RecipientResolutionResponse {
23
23
  * @memberof RecipientResolutionResponse
24
24
  */
25
25
  routeFound?: boolean;
26
+ /**
27
+ * The selected receipt delivery route
28
+ * @type {string}
29
+ * @memberof RecipientResolutionResponse
30
+ */
31
+ deliveryRouteType?: RecipientResolutionResponseDeliveryRouteTypeEnum;
26
32
  /**
27
33
  * The unique identifier for the matching process
28
34
  * @type {string}
@@ -54,6 +60,15 @@ export interface RecipientResolutionResponse {
54
60
  */
55
61
  buyerType?: BuyerType;
56
62
  }
63
+ /**
64
+ * @export
65
+ */
66
+ export declare const RecipientResolutionResponseDeliveryRouteTypeEnum: {
67
+ readonly DIGITAL: "DIGITAL";
68
+ readonly EMAIL_FALLBACK: "EMAIL_FALLBACK";
69
+ readonly DOWNLOAD_FALLBACK: "DOWNLOAD_FALLBACK";
70
+ };
71
+ export type RecipientResolutionResponseDeliveryRouteTypeEnum = typeof RecipientResolutionResponseDeliveryRouteTypeEnum[keyof typeof RecipientResolutionResponseDeliveryRouteTypeEnum];
57
72
  /**
58
73
  * Check if a given object implements the RecipientResolutionResponse interface.
59
74
  */
@@ -13,6 +13,14 @@
13
13
  */
14
14
  import { MatchedRecipientFromJSON, MatchedRecipientToJSON, } from './MatchedRecipient.js';
15
15
  import { BuyerTypeFromJSON, BuyerTypeToJSON, } from './BuyerType.js';
16
+ /**
17
+ * @export
18
+ */
19
+ export const RecipientResolutionResponseDeliveryRouteTypeEnum = {
20
+ DIGITAL: 'DIGITAL',
21
+ EMAIL_FALLBACK: 'EMAIL_FALLBACK',
22
+ DOWNLOAD_FALLBACK: 'DOWNLOAD_FALLBACK'
23
+ };
16
24
  /**
17
25
  * Check if a given object implements the RecipientResolutionResponse interface.
18
26
  */
@@ -28,6 +36,7 @@ export function RecipientResolutionResponseFromJSONTyped(json, ignoreDiscriminat
28
36
  }
29
37
  return {
30
38
  'routeFound': json['routeFound'] == null ? undefined : json['routeFound'],
39
+ 'deliveryRouteType': json['deliveryRouteType'] == null ? undefined : json['deliveryRouteType'],
31
40
  'matchId': json['matchId'] == null ? undefined : json['matchId'],
32
41
  'recipients': json['recipients'] == null ? undefined : (json['recipients'].map(MatchedRecipientFromJSON)),
33
42
  'expiresAt': json['expiresAt'] == null ? undefined : (new Date(json['expiresAt'])),
@@ -44,6 +53,7 @@ export function RecipientResolutionResponseToJSONTyped(value, ignoreDiscriminato
44
53
  }
45
54
  return {
46
55
  'routeFound': value['routeFound'],
56
+ 'deliveryRouteType': value['deliveryRouteType'],
47
57
  'matchId': value['matchId'],
48
58
  'recipients': value['recipients'] == null ? undefined : (value['recipients'].map(MatchedRecipientToJSON)),
49
59
  'expiresAt': value['expiresAt'] == null ? undefined : ((value['expiresAt']).toISOString()),
@@ -1 +1 @@
1
- {"version":3,"file":"RecipientResolutionResponse.js","sourceRoot":"","sources":["../../../src/models/generated/RecipientResolutionResponse.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG;AAIH,OAAO,EACH,wBAAwB,EAExB,sBAAsB,GAEzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,iBAAiB,EAEjB,eAAe,GAElB,MAAM,gBAAgB,CAAC;AAgDxB;;GAEG;AACH,MAAM,UAAU,qCAAqC,CAAC,KAAa;IAC/D,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IACzD,OAAO,wCAAwC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,IAAS,EAAE,mBAA4B;IAC5F,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO;QAEH,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QACzE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAChE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,YAAY,CAAgB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACzH,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAClF,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAC3F,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC5F,CAAC;AACN,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACvD,OAAO,sCAAsC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAA0C,EAAE,sBAA+B,KAAK;IACnI,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO;QAEH,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;QACjC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,YAAY,CAAgB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzH,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1F,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAC7C,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KACnD,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"RecipientResolutionResponse.js","sourceRoot":"","sources":["../../../src/models/generated/RecipientResolutionResponse.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,oBAAoB;AACpB;;;;;;;;;;GAUG;AAIH,OAAO,EACH,wBAAwB,EAExB,sBAAsB,GAEzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACH,iBAAiB,EAEjB,eAAe,GAElB,MAAM,gBAAgB,CAAC;AAqDxB;;GAEG;AACH,MAAM,CAAC,MAAM,gDAAgD,GAAG;IAC5D,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;CAChC,CAAC;AAIX;;GAEG;AACH,MAAM,UAAU,qCAAqC,CAAC,KAAa;IAC/D,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,IAAS;IACzD,OAAO,wCAAwC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,wCAAwC,CAAC,IAAS,EAAE,mBAA4B;IAC5F,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO;QAEH,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QACzE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC9F,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAChE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,YAAY,CAAgB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACzH,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAClF,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAC3F,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC5F,CAAC;AACN,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,IAAS;IACvD,OAAO,sCAAsC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,KAA0C,EAAE,sBAA+B,KAAK;IACnI,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO;QAEH,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC;QACjC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,CAAC;QAC/C,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,YAAY,CAAgB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzH,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1F,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAC7C,WAAW,EAAE,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KACnD,CAAC;AACN,CAAC"}
package/dist/models.d.ts CHANGED
@@ -3,6 +3,8 @@ export declare const DeliveryStatus: {
3
3
  readonly DELIVERED_DIGITAL: "DELIVERED_DIGITAL";
4
4
  readonly DELIVERED_EMAIL: "DELIVERED_EMAIL";
5
5
  readonly DELIVERED_DOWNLOAD: "DELIVERED_DOWNLOAD";
6
+ readonly PENDING_DOWNLOAD_TEMPLATE: "PENDING_DOWNLOAD_TEMPLATE";
7
+ readonly PENDING_DOWNLOAD_UPLOAD: "PENDING_DOWNLOAD_UPLOAD";
6
8
  readonly CUSTOMER_NOT_FOUND: "CUSTOMER_NOT_FOUND";
7
9
  readonly FAILED: "FAILED";
8
10
  };
@@ -18,6 +20,9 @@ export interface ReceiptResultInit {
18
20
  message?: string | null;
19
21
  customerEmail?: string | null;
20
22
  downloadUrl?: string | null;
23
+ downloadCiphertext?: string | null;
24
+ templateHash?: string | null;
25
+ canonicalJson?: string | null;
21
26
  }
22
27
  export declare class ReceiptResult {
23
28
  readonly success: boolean;
@@ -30,6 +35,9 @@ export declare class ReceiptResult {
30
35
  readonly message: string | null;
31
36
  readonly customerEmail: string | null;
32
37
  readonly downloadUrl: string | null;
38
+ readonly downloadCiphertext: string | null;
39
+ readonly templateHash: string | null;
40
+ readonly canonicalJson: string | null;
33
41
  constructor(init: ReceiptResultInit);
34
42
  static deliveredToApp(response: Record<string, unknown>, templateContent: string): ReceiptResult;
35
43
  /**
@@ -37,6 +45,9 @@ export declare class ReceiptResult {
37
45
  * download URL. The merchant terminal renders `downloadUrl` as a QR code for the customer.
38
46
  */
39
47
  static deliveredViaDownload(response: Record<string, unknown>, templateContent: string): ReceiptResult;
48
+ static deliveredViaClientDownload(response: unknown, templateHash: string, canonicalJson: string, downloadUrl: string): ReceiptResult;
49
+ static pendingDownloadTemplate(downloadUrl: string, message: string): ReceiptResult;
50
+ static pendingDownloadUpload(downloadUrl: string, downloadCiphertext: string, templateHash: string, canonicalJson: string, message: string): ReceiptResult;
40
51
  static deliveredViaEmail(customerEmail: string): ReceiptResult;
41
52
  static customerNotFound(): ReceiptResult;
42
53
  static failed(message: string): ReceiptResult;
@@ -46,6 +57,9 @@ export declare class ReceiptResult {
46
57
  getReceiptCount(): number;
47
58
  getEmailAddress(): string | null;
48
59
  getDownloadUrl(): string | null;
60
+ getDownloadCiphertext(): string | null;
61
+ getTemplateHash(): string | null;
62
+ getCanonicalJson(): string | null;
49
63
  getMessage(): string | null;
50
64
  }
51
65
  export interface CreditNoteResultInit {
package/dist/models.js CHANGED
@@ -3,6 +3,8 @@ export const DeliveryStatus = {
3
3
  DELIVERED_DIGITAL: "DELIVERED_DIGITAL",
4
4
  DELIVERED_EMAIL: "DELIVERED_EMAIL",
5
5
  DELIVERED_DOWNLOAD: "DELIVERED_DOWNLOAD",
6
+ PENDING_DOWNLOAD_TEMPLATE: "PENDING_DOWNLOAD_TEMPLATE",
7
+ PENDING_DOWNLOAD_UPLOAD: "PENDING_DOWNLOAD_UPLOAD",
6
8
  CUSTOMER_NOT_FOUND: "CUSTOMER_NOT_FOUND",
7
9
  FAILED: "FAILED"
8
10
  };
@@ -17,6 +19,9 @@ export class ReceiptResult {
17
19
  message;
18
20
  customerEmail;
19
21
  downloadUrl;
22
+ downloadCiphertext;
23
+ templateHash;
24
+ canonicalJson;
20
25
  constructor(init) {
21
26
  this.success = init.success;
22
27
  this.deliveryStatus = init.deliveryStatus ?? null;
@@ -28,6 +33,9 @@ export class ReceiptResult {
28
33
  this.message = init.message ?? null;
29
34
  this.customerEmail = init.customerEmail ?? null;
30
35
  this.downloadUrl = init.downloadUrl ?? null;
36
+ this.downloadCiphertext = init.downloadCiphertext ?? null;
37
+ this.templateHash = init.templateHash ?? null;
38
+ this.canonicalJson = init.canonicalJson ?? null;
31
39
  }
32
40
  static deliveredToApp(response, templateContent) {
33
41
  const receiptCount = (Array.isArray(response.createdReceipts) ? response.createdReceipts.length : undefined) ??
@@ -62,6 +70,42 @@ export class ReceiptResult {
62
70
  message: "Receipt available for self-service download"
63
71
  });
64
72
  }
73
+ static deliveredViaClientDownload(response, templateHash, canonicalJson, downloadUrl) {
74
+ return new ReceiptResult({
75
+ success: true,
76
+ deliveryStatus: DeliveryStatus.DELIVERED_DOWNLOAD,
77
+ deliveryMethod: "DOWNLOAD",
78
+ customerFound: true,
79
+ receiptCount: 1,
80
+ response,
81
+ templateContent: canonicalJson,
82
+ templateHash,
83
+ canonicalJson,
84
+ downloadUrl,
85
+ message: "Receipt available through an encrypted download link"
86
+ });
87
+ }
88
+ static pendingDownloadTemplate(downloadUrl, message) {
89
+ return new ReceiptResult({
90
+ success: true,
91
+ deliveryStatus: DeliveryStatus.PENDING_DOWNLOAD_TEMPLATE,
92
+ deliveryMethod: "DOWNLOAD",
93
+ downloadUrl,
94
+ message
95
+ });
96
+ }
97
+ static pendingDownloadUpload(downloadUrl, downloadCiphertext, templateHash, canonicalJson, message) {
98
+ return new ReceiptResult({
99
+ success: true,
100
+ deliveryStatus: DeliveryStatus.PENDING_DOWNLOAD_UPLOAD,
101
+ deliveryMethod: "DOWNLOAD",
102
+ downloadUrl,
103
+ downloadCiphertext,
104
+ templateHash,
105
+ canonicalJson,
106
+ message
107
+ });
108
+ }
65
109
  static deliveredViaEmail(customerEmail) {
66
110
  return new ReceiptResult({
67
111
  success: true,
@@ -106,6 +150,9 @@ export class ReceiptResult {
106
150
  getDownloadUrl() {
107
151
  return this.downloadUrl;
108
152
  }
153
+ getDownloadCiphertext() { return this.downloadCiphertext; }
154
+ getTemplateHash() { return this.templateHash; }
155
+ getCanonicalJson() { return this.canonicalJson; }
109
156
  getMessage() {
110
157
  return this.message;
111
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ export declare class ReceiptService {
6
6
  private readonly apiClient;
7
7
  private readonly encryptionService;
8
8
  private readonly matchingService;
9
- constructor(apiClient: Pick<CheqiApiClient, "generateReceiptTemplate" | "sendEncryptedReceipts" | "sendReceiptViaEmail" | "uploadClientEncryptedReceipt">, encryptionService: EncryptionService, matchingService: MatchingService);
9
+ private readonly receiptDownloadBaseUrl;
10
+ constructor(apiClient: Pick<CheqiApiClient, "generateReceiptTemplate" | "sendEncryptedReceipts" | "sendReceiptViaEmail" | "uploadClientEncryptedReceipt">, encryptionService: EncryptionService, matchingService: MatchingService, receiptDownloadBaseUrl?: string | null);
10
11
  processCompleteReceipt(identificationDetails: IdentificationDetails, receiptRequest: ReceiptTemplateRequest, accessToken?: string | null, notificationDisplayCode?: NotificationDisplayCode | null): Promise<ReceiptResult>;
11
12
  generateReceiptTemplate(request: ReceiptTemplateGenerationRequest, accessToken?: string | null): Promise<ReceiptTemplateResponse>;
12
13
  createEncryptedReceipts(purchaseReceipt: string, recipient: MatchedRecipient, notificationDisplayCode?: NotificationDisplayCode | null): EncryptedReceiptRequest;
@@ -22,6 +23,8 @@ export declare class ReceiptService {
22
23
  * download id — a bug in the integration; do not regenerate the id or retry.
23
24
  */
24
25
  uploadClientEncryptedReceipt(request: ClientReceiptDownloadRequest, accessToken?: string | null): Promise<ClientReceiptDownloadResponse>;
26
+ private deliverClientEncryptedDownload;
27
+ private createDownloadLink;
25
28
  private buildEncryptedReceipts;
26
29
  private validateProcessInputs;
27
30
  }
@@ -1,4 +1,5 @@
1
1
  import { CheqiSDKError, ErrorCodes, ReceiptProcessingError } from "../errors.js";
2
+ import { buildDownloadEnvelope, encryptDownloadEnvelope, generateDownloadLink } from "../download/index.js";
2
3
  import { ReceiptResult } from "../models.js";
3
4
  import { isValidEmail, serializeJson, sha256Hex } from "../utils.js";
4
5
  function uniqueFormats(recipients = []) {
@@ -24,16 +25,30 @@ export class ReceiptService {
24
25
  apiClient;
25
26
  encryptionService;
26
27
  matchingService;
27
- constructor(apiClient, encryptionService, matchingService) {
28
+ receiptDownloadBaseUrl;
29
+ constructor(apiClient, encryptionService, matchingService, receiptDownloadBaseUrl = null) {
28
30
  this.apiClient = apiClient;
29
31
  this.encryptionService = encryptionService;
30
32
  this.matchingService = matchingService;
33
+ this.receiptDownloadBaseUrl = receiptDownloadBaseUrl;
31
34
  }
32
35
  async processCompleteReceipt(identificationDetails, receiptRequest, accessToken = null, notificationDisplayCode = null) {
33
36
  this.validateProcessInputs(identificationDetails, receiptRequest);
34
37
  try {
35
- const matchResponse = await this.matchingService.matchCustomer(identificationDetails, accessToken);
38
+ let matchResponse;
39
+ try {
40
+ matchResponse = await this.matchingService.matchCustomer(identificationDetails, accessToken);
41
+ }
42
+ catch (error) {
43
+ if (isDeferredFailure(error)) {
44
+ return ReceiptResult.pendingDownloadTemplate(this.createDownloadLink().url, errorMessage(error));
45
+ }
46
+ throw error;
47
+ }
36
48
  const recipientEmail = identificationDetails.recipientEmail;
49
+ if (routeFound(matchResponse) && matchResponse.deliveryRouteType == null) {
50
+ throw new CheqiSDKError("Matching response did not include deliveryRouteType; refusing legacy fallback-compatible submission", { errorCode: ErrorCodes.INVALID_RESPONSE });
51
+ }
37
52
  if (!routeFound(matchResponse) && !recipientEmail) {
38
53
  return ReceiptResult.customerNotFound();
39
54
  }
@@ -44,8 +59,20 @@ export class ReceiptService {
44
59
  buyerType: getRequestBuyerType(receiptRequest) ?? matchResponse.buyerType,
45
60
  taxesApplied: resolveTaxesApplied(receiptRequest)
46
61
  };
47
- const templateResponse = await this.generateReceiptTemplate(templateGenerationRequest, accessToken);
62
+ let templateResponse;
63
+ try {
64
+ templateResponse = await this.generateReceiptTemplate(templateGenerationRequest, accessToken);
65
+ }
66
+ catch (error) {
67
+ if (isDeferredFailure(error)) {
68
+ return ReceiptResult.pendingDownloadTemplate(this.createDownloadLink().url, errorMessage(error));
69
+ }
70
+ throw error;
71
+ }
48
72
  if (routeFound(matchResponse)) {
73
+ if (matchResponse.deliveryRouteType === "DOWNLOAD_FALLBACK") {
74
+ return this.deliverClientEncryptedDownload(this.createDownloadLink(), templateResponse, accessToken);
75
+ }
49
76
  const encryptedReceipts = this.buildEncryptedReceipts(matchResponse, templateResponse, notificationDisplayCode);
50
77
  const templateContent = templateResponse.cheqi
51
78
  ? serializeJson(templateResponse.cheqi)
@@ -150,6 +177,28 @@ export class ReceiptService {
150
177
  }
151
178
  return this.apiClient.uploadClientEncryptedReceipt(request, accessToken);
152
179
  }
180
+ async deliverClientEncryptedDownload(link, templateResponse, accessToken) {
181
+ const envelope = buildDownloadEnvelope(templateResponse);
182
+ const canonicalJson = serializeJson(templateResponse.cheqi ?? {});
183
+ const templateHash = sha256Hex(canonicalJson);
184
+ const ciphertext = await encryptDownloadEnvelope(envelope, link.contentKey);
185
+ try {
186
+ const response = await this.uploadClientEncryptedReceipt({ downloadId: link.downloadId, ciphertext, templateHash }, accessToken);
187
+ return ReceiptResult.deliveredViaClientDownload(response, templateHash, canonicalJson, link.url);
188
+ }
189
+ catch (error) {
190
+ if (isDeferredFailure(error)) {
191
+ return ReceiptResult.pendingDownloadUpload(link.url, ciphertext, templateHash, canonicalJson, errorMessage(error));
192
+ }
193
+ throw error;
194
+ }
195
+ }
196
+ createDownloadLink() {
197
+ if (!this.receiptDownloadBaseUrl) {
198
+ throw new CheqiSDKError("Receipt download base URL is required for automatic encrypted fallback; configure a standard Environment or receiptDownloadBaseUrl", { errorCode: ErrorCodes.CONFIGURATION_ERROR });
199
+ }
200
+ return generateDownloadLink(this.receiptDownloadBaseUrl);
201
+ }
153
202
  buildEncryptedReceipts(matchResponse, templateResponse, notificationDisplayCode) {
154
203
  const encryptedReceipts = [];
155
204
  for (const recipient of matchedRecipients(matchResponse)) {
@@ -186,6 +235,20 @@ export class ReceiptService {
186
235
  }
187
236
  }
188
237
  }
238
+ function isDeferredFailure(error) {
239
+ let current = error;
240
+ while (current instanceof Error) {
241
+ if (current instanceof CheqiSDKError) {
242
+ return current.isNetworkError() || current.httpStatusCode === 408 || current.httpStatusCode === 429 ||
243
+ current.httpStatusCode >= 500;
244
+ }
245
+ current = current.cause;
246
+ }
247
+ return false;
248
+ }
249
+ function errorMessage(error) {
250
+ return error instanceof Error ? error.message : String(error);
251
+ }
189
252
  function enrichWithVatContext(request, matchResponse) {
190
253
  return {
191
254
  ...request,
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/services/receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../src/services/receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAgB7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAUrE,SAAS,aAAa,CAAC,aAAiC,EAAE;IACxD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAiB,CAAC;IACtC,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,aAA0C;IAC5D,OAAO,OAAO,CAAC,aAAa,CAAC,UAAU,IAAK,aAA6C,CAAC,aAAa,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,iBAAiB,CAAC,aAA0C;IACnE,OAAO,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,OAAO,cAAc;IAEN;IAIA;IACA;IACA;IAPnB,YACmB,SAGhB,EACgB,iBAAoC,EACpC,eAAgC,EAChC,yBAAwC,IAAI;QAN5C,cAAS,GAAT,SAAS,CAGzB;QACgB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,oBAAe,GAAf,eAAe,CAAiB;QAChC,2BAAsB,GAAtB,sBAAsB,CAAsB;IAC5D,CAAC;IAEJ,KAAK,CAAC,sBAAsB,CAC1B,qBAA4C,EAC5C,cAAsC,EACtC,cAA6B,IAAI,EACjC,0BAA0D,IAAI;QAE9D,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,IAAI,aAA0C,CAAC;YAC/C,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;YAC/F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnG,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,cAAc,GAAG,qBAAqB,CAAC,cAAc,CAAC;YAE5D,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBACzE,MAAM,IAAI,aAAa,CACrB,qGAAqG,EACrG,EAAE,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAC3C,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClD,OAAO,aAAa,CAAC,gBAAgB,EAAE,CAAC;YAC1C,CAAC;YAED,MAAM,yBAAyB,GAAG;gBAChC,sBAAsB,EAAE,oBAAoB,CAAC,cAAc,EAAE,aAAa,CAAC;gBAC3E,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBACxD,gBAAgB,EAAE,0BAA0B,CAAC,cAAc,CAAC,IAAI,aAAa,CAAC,gBAAgB;gBAC9F,SAAS,EAAE,mBAAmB,CAAC,cAAc,CAAC,IAAI,aAAa,CAAC,SAAS;gBACzE,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC;aACH,CAAC;YAEjD,IAAI,gBAAyC,CAAC;YAC9C,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;YAChG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnG,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC9B,IAAI,aAAa,CAAC,iBAAiB,KAAK,mBAAmB,EAAE,CAAC;oBAC5D,OAAO,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;gBACvG,CAAC;gBACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CACnD,aAAa,EACb,gBAAgB,EAChB,uBAAuB,CACxB,CAAC;gBACF,MAAM,eAAe,GAAG,gBAAgB,CAAC,KAAK;oBAC5C,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBACvC,CAAC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;gBAChD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACtD,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,WAAW,CACZ,CAAC;gBACF,IAAI,eAAe,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxC,OAAO,aAAa,CAAC,oBAAoB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;gBAC9E,CAAC;gBACD,OAAO,aAAa,CAAC,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAA4B,EAAE,WAAW,CAAC,CAAC;QAChI,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,sBAAsB,CAAC,8BAA8B,MAAM,CAAE,KAAe,CAAC,OAAO,CAAC,EAAE,EAAE;gBACjG,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uBAAuB,CACrB,OAAyC,EACzC,cAA6B,IAAI;QAEjC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CAAC,yCAAyC,EAAE;gBACjE,SAAS,EAAE,UAAU,CAAC,gBAAgB;gBACtC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IAED,uBAAuB,CACrB,eAAuB,EACvB,SAA2B,EAC3B,0BAA0D,IAAI;QAE9D,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CAAC,0CAA0C,EAAE;gBAClE,SAAS,EAAE,UAAU,CAAC,gBAAgB;gBACtC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,aAAa,CAAC,0BAA0B,EAAE;gBAClD,SAAS,EAAE,UAAU,CAAC,gBAAgB;gBACtC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,GAAG,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,eAAe,EAAE,SAAS,CAAC;YAChF,uBAAuB,EAAE,uBAAuB,IAAI,SAAS;SAC9D,CAAC;IACJ,CAAC;IAED,qBAAqB,CACnB,iBAA4C,EAC5C,YAAoB,EACpB,aAA0C,EAC1C,cAA6B,IAAI;QAEjC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,aAAa,CAAC,4CAA4C,EAAE;gBACpE,SAAS,EAAE,UAAU,CAAC,gBAAgB;gBACtC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACzB,MAAM,IAAI,aAAa,CAAC,uCAAuC,EAAE;gBAC/D,SAAS,EAAE,UAAU,CAAC,gBAAgB;gBACtC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YACzD,MAAM,IAAI,aAAa,CAAC,8DAA8D,EAAE;gBACtF,SAAS,EAAE,UAAU,CAAC,kBAAkB;gBACxC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,qBAAqB,CACzC,aAAa,CAAC,OAAO,EACrB,iBAAiB,EACjB,YAAY,EACZ,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,aAAqB,EACrB,YAAqC,EACrC,cAA6B,IAAI;QAEjC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,aAAa,CAAC,kCAAkC,EAAE;gBAC1D,SAAS,EAAE,UAAU,CAAC,gBAAgB;gBACtC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACnF,OAAO,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,4BAA4B,CAChC,OAAqC,EACrC,cAA6B,IAAI;QAEjC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,aAAa,CAAC,+CAA+C,EAAE;gBACvE,SAAS,EAAE,UAAU,CAAC,gBAAgB;gBACtC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,aAAa,CAAC,wBAAwB,EAAE;gBAChD,SAAS,EAAE,UAAU,CAAC,gBAAgB;gBACtC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC1C,IAAkB,EAClB,gBAAyC,EACzC,WAA0B;QAE1B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACtD,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,EACzD,WAAW,CACZ,CAAC;YACF,OAAO,aAAa,CAAC,0BAA0B,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACnG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,aAAa,CAAC,qBAAqB,CACxC,IAAI,CAAC,GAAG,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACjC,MAAM,IAAI,aAAa,CACrB,oIAAoI,EACpI,EAAE,SAAS,EAAE,UAAU,CAAC,mBAAmB,EAAE,CAC9C,CAAC;QACJ,CAAC;QACD,OAAO,oBAAoB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC3D,CAAC;IAEO,sBAAsB,CAC5B,aAA0C,EAC1C,gBAAyC,EACzC,uBAAuD;QAEvD,MAAM,iBAAiB,GAA8B,EAAE,CAAC;QAExD,KAAK,MAAM,SAAS,IAAI,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;YACzD,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,IAAI,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAoB,EAAE,CAAC;YAErC,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAc,CAAC,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBACvE,QAAQ,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC;YAC1C,CAAC;YACD,IAAI,eAAe,CAAC,QAAQ,CAAC,sBAA6B,CAAC,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;gBACnG,QAAQ,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;YACpE,CAAC;YACD,IAAI,eAAe,CAAC,QAAQ,CAAC,aAAoB,CAAC,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC;gBAClF,QAAQ,CAAC,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;YACpD,CAAC;YACD,IAAI,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBACjC,QAAQ,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;YACtD,CAAC;YAED,iBAAiB,CAAC,IAAI,CACpB,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAC1F,CAAC;QACJ,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,qBAAqB,CAC3B,qBAA+D,EAC/D,cAAyD;QAEzD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,MAAM,IAAI,aAAa,CAAC,uCAAuC,EAAE;gBAC/D,SAAS,EAAE,UAAU,CAAC,gBAAgB;gBACtC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,aAAa,CAAC,yCAAyC,EAAE;gBACjE,SAAS,EAAE,UAAU,CAAC,gBAAgB;gBACtC,cAAc,EAAE,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,OAAO,OAAO,YAAY,KAAK,EAAE,CAAC;QAChC,IAAI,OAAO,YAAY,aAAa,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,cAAc,EAAE,IAAI,OAAO,CAAC,cAAc,KAAK,GAAG,IAAI,OAAO,CAAC,cAAc,KAAK,GAAG;gBACjG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA+B,EAC/B,aAA0C;IAE1C,OAAO;QACL,GAAG,OAAO;QACV,gBAAgB,EAAE,0BAA0B,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,gBAAgB;QACvF,SAAS,EAAE,mBAAmB,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,SAAS;QAClE,YAAY,EAAE,mBAAmB,CAAC,OAAO,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA+B;IAC1D,MAAM,QAAQ,GAAG,OAA+C,CAAC;IACjE,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1E,OAAO,QAAQ,CAAC,YAAY,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;QAC7E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,0BAA0B,CAAC,OAA+B;IACjE,OAAQ,OAAgD,CAAC,gBAAgB,CAAC;AAC5E,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA+B;IAC1D,OAAQ,OAAgD,CAAC,SAAS,CAAC;AACrE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -79,6 +79,7 @@ export interface EncryptedReceipt {
79
79
  export interface CheqiSDKOptions {
80
80
  environment?: string;
81
81
  customApiEndpoint?: string;
82
+ receiptDownloadBaseUrl?: string;
82
83
  apiKey?: Nullable<string>;
83
84
  privateKey?: Nullable<string>;
84
85
  timeoutSeconds?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cheqi/sdk",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Cheqi TypeScript SDK for encrypted receipt and credit note processing",
5
5
  "license": "MIT",
6
6
  "author": "Cheqi",