tupay 0.6.0 → 0.7.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.
@@ -7,9 +7,19 @@
7
7
  * `code` est le code machine renvoyé par l'API (`validation_error`,
8
8
  * `livemode_mismatch`, …). C'est lui qu'il faut tester — le `message`
9
9
  * est en français, destiné à un humain, et peut changer sans préavis.
10
+ *
11
+ * `type` est la CLASSE de l'erreur : `invalid_request`, `authentication`,
12
+ * `permission`, `not_found`, `conflict`, `idempotency`, `rate_limit`,
13
+ * `provider`, `api`. Elle permet de traiter une famille entière sans
14
+ * énumérer chaque code, et c'est elle qui choisit la sous-classe
15
+ * ci-dessous. Retirer ou renommer un code est un changement cassant,
16
+ * réservé à une version datée ; en ajouter un ne l'est pas, et un code
17
+ * inconnu se traite par sa classe.
10
18
  */
11
19
  export interface TupayErrorOptions {
12
20
  code: string;
21
+ /** Classe d'erreur. Absente sur une API antérieure à la story 2.4. */
22
+ type?: string;
13
23
  statusCode?: number;
14
24
  requestId?: string;
15
25
  cause?: unknown;
@@ -17,6 +27,8 @@ export interface TupayErrorOptions {
17
27
  export declare class TupayError extends Error {
18
28
  /** Code machine stable renvoyé par l'API. */
19
29
  readonly code: string;
30
+ /** Classe d'erreur. `undefined` si l'API ne l'a pas renvoyée. */
31
+ readonly type?: string;
20
32
  /** Statut HTTP, absent si l'erreur est survenue avant toute réponse. */
21
33
  readonly statusCode?: number;
22
34
  /** Identifiant de requête, à citer au support. */
@@ -35,9 +47,23 @@ export declare class TupayNotFoundError extends TupayError {
35
47
  /** 400 / 422 — corps de requête invalide. */
36
48
  export declare class TupayValidationError extends TupayError {
37
49
  }
38
- /** 409 — état incompatible (déjà remboursé, limite atteinte). */
50
+ /** 409 / 422 — état incompatible (déjà remboursé, plafond atteint). */
39
51
  export declare class TupayConflictError extends TupayError {
40
52
  }
53
+ /**
54
+ * 409 — le refus porte sur la clé d'idempotence, pas sur la requête.
55
+ *
56
+ * Hérite de `TupayConflictError` à dessein : ces deux codes sortaient
57
+ * déjà en 409, et tout `catch (err) { if (err instanceof
58
+ * TupayConflictError) }` existant doit continuer de les attraper. La
59
+ * sous-classe ajoute de la précision, elle n'en retire pas.
60
+ *
61
+ * `code` distingue les deux reprises, et elles sont opposées :
62
+ * `idempotency_key_reuse` → changez de clé, celle-ci a servi ailleurs
63
+ * `idempotency_in_progress` → retentez LE MÊME appel dans un instant
64
+ */
65
+ export declare class TupayIdempotencyError extends TupayConflictError {
66
+ }
41
67
  /** 429 — 100 req/min par marchand dépassées. */
42
68
  export declare class TupayRateLimitError extends TupayError {
43
69
  }
@@ -57,10 +83,21 @@ export declare class TupaySignatureVerificationError extends TupayError {
57
83
  }
58
84
  /**
59
85
  * Construit l'erreur typée correspondant à une réponse HTTP.
60
- * Le mapping suit le catalogue documenté dans `docs/api-integration.md`.
86
+ *
87
+ * ── `type` d'abord, statut ensuite ─────────────────────────────────
88
+ * Le choix se faisait sur le seul statut HTTP. C'est une règle de forme,
89
+ * et elle se trompait : un 422 `limit_reached` devenait une
90
+ * `TupayValidationError`, alors que rien n'est invalide dans la requête
91
+ * — c'est une place qu'il faut libérer. Un 409 `idempotency_in_progress`
92
+ * devenait un `TupayConflictError` générique, alors que sa reprise est
93
+ * l'inverse de celle d'un conflit : retenter à l'identique.
94
+ *
95
+ * Le statut reste le repli, pour une API antérieure à la story 2.4 qui
96
+ * ne renverrait pas encore `type`.
61
97
  */
62
98
  export declare function errorFromResponse(status: number, body: {
63
99
  error?: string;
64
100
  message?: string;
101
+ type?: string;
65
102
  } | null, requestId?: string): TupayError;
66
103
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEf,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;CAOxD;AAED,+CAA+C;AAC/C,qBAAa,wBAAyB,SAAQ,UAAU;CAAG;AAE3D,6EAA6E;AAC7E,qBAAa,oBAAqB,SAAQ,UAAU;CAAG;AAEvD,kEAAkE;AAClE,qBAAa,kBAAmB,SAAQ,UAAU;CAAG;AAErD,6CAA6C;AAC7C,qBAAa,oBAAqB,SAAQ,UAAU;CAAG;AAEvD,iEAAiE;AACjE,qBAAa,kBAAmB,SAAQ,UAAU;CAAG;AAErD,gDAAgD;AAChD,qBAAa,mBAAoB,SAAQ,UAAU;CAAG;AAEtD,iCAAiC;AACjC,qBAAa,aAAc,SAAQ,UAAU;CAAG;AAEhD,0DAA0D;AAC1D,qBAAa,cAAe,SAAQ,UAAU;CAAG;AAEjD,8EAA8E;AAC9E,qBAAa,oBAAqB,SAAQ,UAAU;gBACtC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAG7C;AAED,0DAA0D;AAC1D,qBAAa,+BAAgC,SAAQ,UAAU;gBACjD,OAAO,EAAE,MAAM;CAG5B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EACjD,SAAS,CAAC,EAAE,MAAM,GACjB,UAAU,CAwBZ"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEf,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;CAQxD;AAED,+CAA+C;AAC/C,qBAAa,wBAAyB,SAAQ,UAAU;CAAG;AAE3D,6EAA6E;AAC7E,qBAAa,oBAAqB,SAAQ,UAAU;CAAG;AAEvD,kEAAkE;AAClE,qBAAa,kBAAmB,SAAQ,UAAU;CAAG;AAErD,6CAA6C;AAC7C,qBAAa,oBAAqB,SAAQ,UAAU;CAAG;AAEvD,uEAAuE;AACvE,qBAAa,kBAAmB,SAAQ,UAAU;CAAG;AAErD;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAsB,SAAQ,kBAAkB;CAAG;AAEhE,gDAAgD;AAChD,qBAAa,mBAAoB,SAAQ,UAAU;CAAG;AAEtD,iCAAiC;AACjC,qBAAa,aAAc,SAAQ,UAAU;CAAG;AAEhD,0DAA0D;AAC1D,qBAAa,cAAe,SAAQ,UAAU;CAAG;AAEjD,8EAA8E;AAC9E,qBAAa,oBAAqB,SAAQ,UAAU;gBACtC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAG7C;AAED,0DAA0D;AAC1D,qBAAa,+BAAgC,SAAQ,UAAU;gBACjD,OAAO,EAAE,MAAM;CAG5B;AAeD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EAChE,SAAS,CAAC,EAAE,MAAM,GACjB,UAAU,CA2BZ"}
@@ -8,13 +8,23 @@
8
8
  * `code` est le code machine renvoyé par l'API (`validation_error`,
9
9
  * `livemode_mismatch`, …). C'est lui qu'il faut tester — le `message`
10
10
  * est en français, destiné à un humain, et peut changer sans préavis.
11
+ *
12
+ * `type` est la CLASSE de l'erreur : `invalid_request`, `authentication`,
13
+ * `permission`, `not_found`, `conflict`, `idempotency`, `rate_limit`,
14
+ * `provider`, `api`. Elle permet de traiter une famille entière sans
15
+ * énumérer chaque code, et c'est elle qui choisit la sous-classe
16
+ * ci-dessous. Retirer ou renommer un code est un changement cassant,
17
+ * réservé à une version datée ; en ajouter un ne l'est pas, et un code
18
+ * inconnu se traite par sa classe.
11
19
  */
12
20
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.TupaySignatureVerificationError = exports.TupayConnectionError = exports.TupayBaasError = exports.TupayApiError = exports.TupayRateLimitError = exports.TupayConflictError = exports.TupayValidationError = exports.TupayNotFoundError = exports.TupayPermissionError = exports.TupayAuthenticationError = exports.TupayError = void 0;
21
+ exports.TupaySignatureVerificationError = exports.TupayConnectionError = exports.TupayBaasError = exports.TupayApiError = exports.TupayRateLimitError = exports.TupayIdempotencyError = exports.TupayConflictError = exports.TupayValidationError = exports.TupayNotFoundError = exports.TupayPermissionError = exports.TupayAuthenticationError = exports.TupayError = void 0;
14
22
  exports.errorFromResponse = errorFromResponse;
15
23
  class TupayError extends Error {
16
24
  /** Code machine stable renvoyé par l'API. */
17
25
  code;
26
+ /** Classe d'erreur. `undefined` si l'API ne l'a pas renvoyée. */
27
+ type;
18
28
  /** Statut HTTP, absent si l'erreur est survenue avant toute réponse. */
19
29
  statusCode;
20
30
  /** Identifiant de requête, à citer au support. */
@@ -23,6 +33,7 @@ class TupayError extends Error {
23
33
  super(message, { cause: options.cause });
24
34
  this.name = new.target.name;
25
35
  this.code = options.code;
36
+ this.type = options.type;
26
37
  this.statusCode = options.statusCode;
27
38
  this.requestId = options.requestId;
28
39
  }
@@ -44,10 +55,25 @@ exports.TupayNotFoundError = TupayNotFoundError;
44
55
  class TupayValidationError extends TupayError {
45
56
  }
46
57
  exports.TupayValidationError = TupayValidationError;
47
- /** 409 — état incompatible (déjà remboursé, limite atteinte). */
58
+ /** 409 / 422 — état incompatible (déjà remboursé, plafond atteint). */
48
59
  class TupayConflictError extends TupayError {
49
60
  }
50
61
  exports.TupayConflictError = TupayConflictError;
62
+ /**
63
+ * 409 — le refus porte sur la clé d'idempotence, pas sur la requête.
64
+ *
65
+ * Hérite de `TupayConflictError` à dessein : ces deux codes sortaient
66
+ * déjà en 409, et tout `catch (err) { if (err instanceof
67
+ * TupayConflictError) }` existant doit continuer de les attraper. La
68
+ * sous-classe ajoute de la précision, elle n'en retire pas.
69
+ *
70
+ * `code` distingue les deux reprises, et elles sont opposées :
71
+ * `idempotency_key_reuse` → changez de clé, celle-ci a servi ailleurs
72
+ * `idempotency_in_progress` → retentez LE MÊME appel dans un instant
73
+ */
74
+ class TupayIdempotencyError extends TupayConflictError {
75
+ }
76
+ exports.TupayIdempotencyError = TupayIdempotencyError;
51
77
  /** 429 — 100 req/min par marchand dépassées. */
52
78
  class TupayRateLimitError extends TupayError {
53
79
  }
@@ -74,14 +100,39 @@ class TupaySignatureVerificationError extends TupayError {
74
100
  }
75
101
  }
76
102
  exports.TupaySignatureVerificationError = TupaySignatureVerificationError;
103
+ /** La classe d'erreur de l'API vers la sous-classe du SDK. */
104
+ const PAR_TYPE = {
105
+ invalid_request: TupayValidationError,
106
+ authentication: TupayAuthenticationError,
107
+ permission: TupayPermissionError,
108
+ not_found: TupayNotFoundError,
109
+ conflict: TupayConflictError,
110
+ idempotency: TupayIdempotencyError,
111
+ rate_limit: TupayRateLimitError,
112
+ provider: TupayBaasError,
113
+ api: TupayApiError,
114
+ };
77
115
  /**
78
116
  * Construit l'erreur typée correspondant à une réponse HTTP.
79
- * Le mapping suit le catalogue documenté dans `docs/api-integration.md`.
117
+ *
118
+ * ── `type` d'abord, statut ensuite ─────────────────────────────────
119
+ * Le choix se faisait sur le seul statut HTTP. C'est une règle de forme,
120
+ * et elle se trompait : un 422 `limit_reached` devenait une
121
+ * `TupayValidationError`, alors que rien n'est invalide dans la requête
122
+ * — c'est une place qu'il faut libérer. Un 409 `idempotency_in_progress`
123
+ * devenait un `TupayConflictError` générique, alors que sa reprise est
124
+ * l'inverse de celle d'un conflit : retenter à l'identique.
125
+ *
126
+ * Le statut reste le repli, pour une API antérieure à la story 2.4 qui
127
+ * ne renverrait pas encore `type`.
80
128
  */
81
129
  function errorFromResponse(status, body, requestId) {
82
130
  const code = body?.error ?? 'server_error';
83
131
  const message = body?.message ?? `Requête échouée (HTTP ${status}).`;
84
- const options = { code, statusCode: status, requestId };
132
+ const options = { code, type: body?.type, statusCode: status, requestId };
133
+ const parType = body?.type ? PAR_TYPE[body.type] : undefined;
134
+ if (parType)
135
+ return new parType(message, options);
85
136
  switch (status) {
86
137
  case 400:
87
138
  case 422:
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,7 @@ export { TupayClient } from './client.js';
72
72
  export type { TupayOptions, RequestOptions } from './client.js';
73
73
  export { constructEvent, DEFAULT_TOLERANCE_SECONDS } from './webhooks.js';
74
74
  export type { ConstructEventOptions } from './webhooks.js';
75
- export { TupayError, TupayAuthenticationError, TupayPermissionError, TupayNotFoundError, TupayValidationError, TupayConflictError, TupayRateLimitError, TupayApiError, TupayBaasError, TupayConnectionError, TupaySignatureVerificationError, } from './errors.js';
75
+ export { TupayError, TupayAuthenticationError, TupayPermissionError, TupayNotFoundError, TupayValidationError, TupayConflictError, TupayIdempotencyError, TupayRateLimitError, TupayApiError, TupayBaasError, TupayConnectionError, TupaySignatureVerificationError, } from './errors.js';
76
76
  export type * from './types.js';
77
77
  export type { CreatePaymentIntentParams } from './resources/payment-intents.js';
78
78
  export type { CreatePaymentLinkParams } from './resources/payment-links.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,qBAAa,KAAK;;IAChB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAEjC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAId,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IActD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,QAAQ;gCAEJ,MAAM,GAAG,MAAM,UAChB,MAAM,GAAG,IAAI,GAAG,SAAS,UACzB,MAAM,YACJ,qBAAqB,GAC9B,YAAY;MAGhB;IAED,8CAA8C;IAC9C,MAAM,CAAC,cAAc,IAAI,MAAM;CAGhC;AAED,eAAe,KAAK,CAAA;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AACzE,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE1D,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,aAAa,CAAA;AAEpB,mBAAmB,YAAY,CAAA;AAE/B,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,YAAY,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,kCAAkC,CAAA;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,qBAAa,KAAK;;IAChB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAEjC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAId,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IActD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,QAAQ;gCAEJ,MAAM,GAAG,MAAM,UAChB,MAAM,GAAG,IAAI,GAAG,SAAS,UACzB,MAAM,YACJ,qBAAqB,GAC9B,YAAY;MAGhB;IAED,8CAA8C;IAC9C,MAAM,CAAC,cAAc,IAAI,MAAM;CAGhC;AAED,eAAe,KAAK,CAAA;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AACzE,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE1D,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,aAAa,CAAA;AAEpB,mBAAmB,YAAY,CAAA;AAE/B,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,YAAY,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,kCAAkC,CAAA;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA"}
package/dist/cjs/index.js CHANGED
@@ -15,7 +15,7 @@
15
15
  * console.log(link.url)
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.TestHelpers = exports.Events = exports.TupaySignatureVerificationError = exports.TupayConnectionError = exports.TupayBaasError = exports.TupayApiError = exports.TupayRateLimitError = exports.TupayConflictError = exports.TupayValidationError = exports.TupayNotFoundError = exports.TupayPermissionError = exports.TupayAuthenticationError = exports.TupayError = exports.DEFAULT_TOLERANCE_SECONDS = exports.constructEvent = exports.TupayClient = exports.Tupay = void 0;
18
+ exports.TestHelpers = exports.Events = exports.TupaySignatureVerificationError = exports.TupayConnectionError = exports.TupayBaasError = exports.TupayApiError = exports.TupayRateLimitError = exports.TupayIdempotencyError = exports.TupayConflictError = exports.TupayValidationError = exports.TupayNotFoundError = exports.TupayPermissionError = exports.TupayAuthenticationError = exports.TupayError = exports.DEFAULT_TOLERANCE_SECONDS = exports.constructEvent = exports.TupayClient = exports.Tupay = void 0;
19
19
  const client_js_1 = require("./client.js");
20
20
  const payment_intents_js_1 = require("./resources/payment-intents.js");
21
21
  const payment_links_js_1 = require("./resources/payment-links.js");
@@ -98,6 +98,7 @@ Object.defineProperty(exports, "TupayPermissionError", { enumerable: true, get:
98
98
  Object.defineProperty(exports, "TupayNotFoundError", { enumerable: true, get: function () { return errors_js_1.TupayNotFoundError; } });
99
99
  Object.defineProperty(exports, "TupayValidationError", { enumerable: true, get: function () { return errors_js_1.TupayValidationError; } });
100
100
  Object.defineProperty(exports, "TupayConflictError", { enumerable: true, get: function () { return errors_js_1.TupayConflictError; } });
101
+ Object.defineProperty(exports, "TupayIdempotencyError", { enumerable: true, get: function () { return errors_js_1.TupayIdempotencyError; } });
101
102
  Object.defineProperty(exports, "TupayRateLimitError", { enumerable: true, get: function () { return errors_js_1.TupayRateLimitError; } });
102
103
  Object.defineProperty(exports, "TupayApiError", { enumerable: true, get: function () { return errors_js_1.TupayApiError; } });
103
104
  Object.defineProperty(exports, "TupayBaasError", { enumerable: true, get: function () { return errors_js_1.TupayBaasError; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2CAA4D;AAC5D,uEAA+D;AAC/D,mEAA2D;AAC3D,iEAA0D;AAC1D,uDAAgD;AAChD,2EAAmE;AACnE,2DAAoD;AACpD,qDAA8C;AAC9C,iEAAyD;AACzD,+CAA0E;AAG1E,MAAa,KAAK;IACP,cAAc,CAAgB;IAC9B,YAAY,CAAc;IAC1B,YAAY,CAAc;IAC1B,OAAO,CAAS;IAChB,gBAAgB,CAAkB;IAClC,SAAS,CAAW;IAC7B,8DAA8D;IACrD,MAAM,CAAQ;IACvB,sEAAsE;IAC7D,WAAW,CAAa;IAEjC,uEAAuE;IAC9D,QAAQ,CAAS;IAEjB,OAAO,CAAa;IAE7B,YAAY,MAAc,EAAE,UAAwB,EAAE;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;QAErC,IAAI,CAAC,cAAc,GAAG,IAAI,mCAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,+BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,YAAY,GAAG,IAAI,8BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,uCAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,wBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,6BAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACM,QAAQ,GAAG;QAClB,cAAc,CACZ,OAAwB,EACxB,MAAiC,EACjC,MAAc,EACd,OAA+B;YAE/B,OAAO,IAAA,4BAAc,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC;KACF,CAAA;IAED,8CAA8C;IAC9C,MAAM,CAAC,cAAc;QACnB,OAAO,uBAAW,CAAC,cAAc,EAAE,CAAA;IACrC,CAAC;CACF;AApED,sBAoEC;AAED,kBAAe,KAAK,CAAA;AAEpB,yCAAyC;AAAhC,wGAAA,WAAW,OAAA;AAEpB,6CAAyE;AAAhE,6GAAA,cAAc,OAAA;AAAE,wHAAA,yBAAyB,OAAA;AAGlD,yCAYoB;AAXlB,uGAAA,UAAU,OAAA;AACV,qHAAA,wBAAwB,OAAA;AACxB,iHAAA,oBAAoB,OAAA;AACpB,+GAAA,kBAAkB,OAAA;AAClB,iHAAA,oBAAoB,OAAA;AACpB,+GAAA,kBAAkB,OAAA;AAClB,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,iHAAA,oBAAoB,OAAA;AACpB,4HAAA,+BAA+B,OAAA;AAejC,mDAA8C;AAArC,mGAAA,MAAM,OAAA;AAEf,+DAAyD;AAAhD,8GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2CAA4D;AAC5D,uEAA+D;AAC/D,mEAA2D;AAC3D,iEAA0D;AAC1D,uDAAgD;AAChD,2EAAmE;AACnE,2DAAoD;AACpD,qDAA8C;AAC9C,iEAAyD;AACzD,+CAA0E;AAG1E,MAAa,KAAK;IACP,cAAc,CAAgB;IAC9B,YAAY,CAAc;IAC1B,YAAY,CAAc;IAC1B,OAAO,CAAS;IAChB,gBAAgB,CAAkB;IAClC,SAAS,CAAW;IAC7B,8DAA8D;IACrD,MAAM,CAAQ;IACvB,sEAAsE;IAC7D,WAAW,CAAa;IAEjC,uEAAuE;IAC9D,QAAQ,CAAS;IAEjB,OAAO,CAAa;IAE7B,YAAY,MAAc,EAAE,UAAwB,EAAE;QACpD,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAA;QAErC,IAAI,CAAC,cAAc,GAAG,IAAI,mCAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,+BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,YAAY,GAAG,IAAI,8BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,uCAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,wBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,6BAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACM,QAAQ,GAAG;QAClB,cAAc,CACZ,OAAwB,EACxB,MAAiC,EACjC,MAAc,EACd,OAA+B;YAE/B,OAAO,IAAA,4BAAc,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC;KACF,CAAA;IAED,8CAA8C;IAC9C,MAAM,CAAC,cAAc;QACnB,OAAO,uBAAW,CAAC,cAAc,EAAE,CAAA;IACrC,CAAC;CACF;AApED,sBAoEC;AAED,kBAAe,KAAK,CAAA;AAEpB,yCAAyC;AAAhC,wGAAA,WAAW,OAAA;AAEpB,6CAAyE;AAAhE,6GAAA,cAAc,OAAA;AAAE,wHAAA,yBAAyB,OAAA;AAGlD,yCAaoB;AAZlB,uGAAA,UAAU,OAAA;AACV,qHAAA,wBAAwB,OAAA;AACxB,iHAAA,oBAAoB,OAAA;AACpB,+GAAA,kBAAkB,OAAA;AAClB,iHAAA,oBAAoB,OAAA;AACpB,+GAAA,kBAAkB,OAAA;AAClB,kHAAA,qBAAqB,OAAA;AACrB,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,iHAAA,oBAAoB,OAAA;AACpB,4HAAA,+BAA+B,OAAA;AAejC,mDAA8C;AAArC,mGAAA,MAAM,OAAA;AAEf,+DAAyD;AAAhD,8GAAA,WAAW,OAAA"}
@@ -7,9 +7,19 @@
7
7
  * `code` est le code machine renvoyé par l'API (`validation_error`,
8
8
  * `livemode_mismatch`, …). C'est lui qu'il faut tester — le `message`
9
9
  * est en français, destiné à un humain, et peut changer sans préavis.
10
+ *
11
+ * `type` est la CLASSE de l'erreur : `invalid_request`, `authentication`,
12
+ * `permission`, `not_found`, `conflict`, `idempotency`, `rate_limit`,
13
+ * `provider`, `api`. Elle permet de traiter une famille entière sans
14
+ * énumérer chaque code, et c'est elle qui choisit la sous-classe
15
+ * ci-dessous. Retirer ou renommer un code est un changement cassant,
16
+ * réservé à une version datée ; en ajouter un ne l'est pas, et un code
17
+ * inconnu se traite par sa classe.
10
18
  */
11
19
  export interface TupayErrorOptions {
12
20
  code: string;
21
+ /** Classe d'erreur. Absente sur une API antérieure à la story 2.4. */
22
+ type?: string;
13
23
  statusCode?: number;
14
24
  requestId?: string;
15
25
  cause?: unknown;
@@ -17,6 +27,8 @@ export interface TupayErrorOptions {
17
27
  export declare class TupayError extends Error {
18
28
  /** Code machine stable renvoyé par l'API. */
19
29
  readonly code: string;
30
+ /** Classe d'erreur. `undefined` si l'API ne l'a pas renvoyée. */
31
+ readonly type?: string;
20
32
  /** Statut HTTP, absent si l'erreur est survenue avant toute réponse. */
21
33
  readonly statusCode?: number;
22
34
  /** Identifiant de requête, à citer au support. */
@@ -35,9 +47,23 @@ export declare class TupayNotFoundError extends TupayError {
35
47
  /** 400 / 422 — corps de requête invalide. */
36
48
  export declare class TupayValidationError extends TupayError {
37
49
  }
38
- /** 409 — état incompatible (déjà remboursé, limite atteinte). */
50
+ /** 409 / 422 — état incompatible (déjà remboursé, plafond atteint). */
39
51
  export declare class TupayConflictError extends TupayError {
40
52
  }
53
+ /**
54
+ * 409 — le refus porte sur la clé d'idempotence, pas sur la requête.
55
+ *
56
+ * Hérite de `TupayConflictError` à dessein : ces deux codes sortaient
57
+ * déjà en 409, et tout `catch (err) { if (err instanceof
58
+ * TupayConflictError) }` existant doit continuer de les attraper. La
59
+ * sous-classe ajoute de la précision, elle n'en retire pas.
60
+ *
61
+ * `code` distingue les deux reprises, et elles sont opposées :
62
+ * `idempotency_key_reuse` → changez de clé, celle-ci a servi ailleurs
63
+ * `idempotency_in_progress` → retentez LE MÊME appel dans un instant
64
+ */
65
+ export declare class TupayIdempotencyError extends TupayConflictError {
66
+ }
41
67
  /** 429 — 100 req/min par marchand dépassées. */
42
68
  export declare class TupayRateLimitError extends TupayError {
43
69
  }
@@ -57,10 +83,21 @@ export declare class TupaySignatureVerificationError extends TupayError {
57
83
  }
58
84
  /**
59
85
  * Construit l'erreur typée correspondant à une réponse HTTP.
60
- * Le mapping suit le catalogue documenté dans `docs/api-integration.md`.
86
+ *
87
+ * ── `type` d'abord, statut ensuite ─────────────────────────────────
88
+ * Le choix se faisait sur le seul statut HTTP. C'est une règle de forme,
89
+ * et elle se trompait : un 422 `limit_reached` devenait une
90
+ * `TupayValidationError`, alors que rien n'est invalide dans la requête
91
+ * — c'est une place qu'il faut libérer. Un 409 `idempotency_in_progress`
92
+ * devenait un `TupayConflictError` générique, alors que sa reprise est
93
+ * l'inverse de celle d'un conflit : retenter à l'identique.
94
+ *
95
+ * Le statut reste le repli, pour une API antérieure à la story 2.4 qui
96
+ * ne renverrait pas encore `type`.
61
97
  */
62
98
  export declare function errorFromResponse(status: number, body: {
63
99
  error?: string;
64
100
  message?: string;
101
+ type?: string;
65
102
  } | null, requestId?: string): TupayError;
66
103
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEf,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;CAOxD;AAED,+CAA+C;AAC/C,qBAAa,wBAAyB,SAAQ,UAAU;CAAG;AAE3D,6EAA6E;AAC7E,qBAAa,oBAAqB,SAAQ,UAAU;CAAG;AAEvD,kEAAkE;AAClE,qBAAa,kBAAmB,SAAQ,UAAU;CAAG;AAErD,6CAA6C;AAC7C,qBAAa,oBAAqB,SAAQ,UAAU;CAAG;AAEvD,iEAAiE;AACjE,qBAAa,kBAAmB,SAAQ,UAAU;CAAG;AAErD,gDAAgD;AAChD,qBAAa,mBAAoB,SAAQ,UAAU;CAAG;AAEtD,iCAAiC;AACjC,qBAAa,aAAc,SAAQ,UAAU;CAAG;AAEhD,0DAA0D;AAC1D,qBAAa,cAAe,SAAQ,UAAU;CAAG;AAEjD,8EAA8E;AAC9E,qBAAa,oBAAqB,SAAQ,UAAU;gBACtC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAG7C;AAED,0DAA0D;AAC1D,qBAAa,+BAAgC,SAAQ,UAAU;gBACjD,OAAO,EAAE,MAAM;CAG5B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EACjD,SAAS,CAAC,EAAE,MAAM,GACjB,UAAU,CAwBZ"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,wEAAwE;IACxE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;gBAEf,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB;CAQxD;AAED,+CAA+C;AAC/C,qBAAa,wBAAyB,SAAQ,UAAU;CAAG;AAE3D,6EAA6E;AAC7E,qBAAa,oBAAqB,SAAQ,UAAU;CAAG;AAEvD,kEAAkE;AAClE,qBAAa,kBAAmB,SAAQ,UAAU;CAAG;AAErD,6CAA6C;AAC7C,qBAAa,oBAAqB,SAAQ,UAAU;CAAG;AAEvD,uEAAuE;AACvE,qBAAa,kBAAmB,SAAQ,UAAU;CAAG;AAErD;;;;;;;;;;;GAWG;AACH,qBAAa,qBAAsB,SAAQ,kBAAkB;CAAG;AAEhE,gDAAgD;AAChD,qBAAa,mBAAoB,SAAQ,UAAU;CAAG;AAEtD,iCAAiC;AACjC,qBAAa,aAAc,SAAQ,UAAU;CAAG;AAEhD,0DAA0D;AAC1D,qBAAa,cAAe,SAAQ,UAAU;CAAG;AAEjD,8EAA8E;AAC9E,qBAAa,oBAAqB,SAAQ,UAAU;gBACtC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAG7C;AAED,0DAA0D;AAC1D,qBAAa,+BAAgC,SAAQ,UAAU;gBACjD,OAAO,EAAE,MAAM;CAG5B;AAeD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EAChE,SAAS,CAAC,EAAE,MAAM,GACjB,UAAU,CA2BZ"}
@@ -7,10 +7,20 @@
7
7
  * `code` est le code machine renvoyé par l'API (`validation_error`,
8
8
  * `livemode_mismatch`, …). C'est lui qu'il faut tester — le `message`
9
9
  * est en français, destiné à un humain, et peut changer sans préavis.
10
+ *
11
+ * `type` est la CLASSE de l'erreur : `invalid_request`, `authentication`,
12
+ * `permission`, `not_found`, `conflict`, `idempotency`, `rate_limit`,
13
+ * `provider`, `api`. Elle permet de traiter une famille entière sans
14
+ * énumérer chaque code, et c'est elle qui choisit la sous-classe
15
+ * ci-dessous. Retirer ou renommer un code est un changement cassant,
16
+ * réservé à une version datée ; en ajouter un ne l'est pas, et un code
17
+ * inconnu se traite par sa classe.
10
18
  */
11
19
  export class TupayError extends Error {
12
20
  /** Code machine stable renvoyé par l'API. */
13
21
  code;
22
+ /** Classe d'erreur. `undefined` si l'API ne l'a pas renvoyée. */
23
+ type;
14
24
  /** Statut HTTP, absent si l'erreur est survenue avant toute réponse. */
15
25
  statusCode;
16
26
  /** Identifiant de requête, à citer au support. */
@@ -19,6 +29,7 @@ export class TupayError extends Error {
19
29
  super(message, { cause: options.cause });
20
30
  this.name = new.target.name;
21
31
  this.code = options.code;
32
+ this.type = options.type;
22
33
  this.statusCode = options.statusCode;
23
34
  this.requestId = options.requestId;
24
35
  }
@@ -35,9 +46,23 @@ export class TupayNotFoundError extends TupayError {
35
46
  /** 400 / 422 — corps de requête invalide. */
36
47
  export class TupayValidationError extends TupayError {
37
48
  }
38
- /** 409 — état incompatible (déjà remboursé, limite atteinte). */
49
+ /** 409 / 422 — état incompatible (déjà remboursé, plafond atteint). */
39
50
  export class TupayConflictError extends TupayError {
40
51
  }
52
+ /**
53
+ * 409 — le refus porte sur la clé d'idempotence, pas sur la requête.
54
+ *
55
+ * Hérite de `TupayConflictError` à dessein : ces deux codes sortaient
56
+ * déjà en 409, et tout `catch (err) { if (err instanceof
57
+ * TupayConflictError) }` existant doit continuer de les attraper. La
58
+ * sous-classe ajoute de la précision, elle n'en retire pas.
59
+ *
60
+ * `code` distingue les deux reprises, et elles sont opposées :
61
+ * `idempotency_key_reuse` → changez de clé, celle-ci a servi ailleurs
62
+ * `idempotency_in_progress` → retentez LE MÊME appel dans un instant
63
+ */
64
+ export class TupayIdempotencyError extends TupayConflictError {
65
+ }
41
66
  /** 429 — 100 req/min par marchand dépassées. */
42
67
  export class TupayRateLimitError extends TupayError {
43
68
  }
@@ -59,14 +84,39 @@ export class TupaySignatureVerificationError extends TupayError {
59
84
  super(message, { code: 'signature_verification_failed' });
60
85
  }
61
86
  }
87
+ /** La classe d'erreur de l'API vers la sous-classe du SDK. */
88
+ const PAR_TYPE = {
89
+ invalid_request: TupayValidationError,
90
+ authentication: TupayAuthenticationError,
91
+ permission: TupayPermissionError,
92
+ not_found: TupayNotFoundError,
93
+ conflict: TupayConflictError,
94
+ idempotency: TupayIdempotencyError,
95
+ rate_limit: TupayRateLimitError,
96
+ provider: TupayBaasError,
97
+ api: TupayApiError,
98
+ };
62
99
  /**
63
100
  * Construit l'erreur typée correspondant à une réponse HTTP.
64
- * Le mapping suit le catalogue documenté dans `docs/api-integration.md`.
101
+ *
102
+ * ── `type` d'abord, statut ensuite ─────────────────────────────────
103
+ * Le choix se faisait sur le seul statut HTTP. C'est une règle de forme,
104
+ * et elle se trompait : un 422 `limit_reached` devenait une
105
+ * `TupayValidationError`, alors que rien n'est invalide dans la requête
106
+ * — c'est une place qu'il faut libérer. Un 409 `idempotency_in_progress`
107
+ * devenait un `TupayConflictError` générique, alors que sa reprise est
108
+ * l'inverse de celle d'un conflit : retenter à l'identique.
109
+ *
110
+ * Le statut reste le repli, pour une API antérieure à la story 2.4 qui
111
+ * ne renverrait pas encore `type`.
65
112
  */
66
113
  export function errorFromResponse(status, body, requestId) {
67
114
  const code = body?.error ?? 'server_error';
68
115
  const message = body?.message ?? `Requête échouée (HTTP ${status}).`;
69
- const options = { code, statusCode: status, requestId };
116
+ const options = { code, type: body?.type, statusCode: status, requestId };
117
+ const parType = body?.type ? PAR_TYPE[body.type] : undefined;
118
+ if (parType)
119
+ return new parType(message, options);
70
120
  switch (status) {
71
121
  case 400:
72
122
  case 422:
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,6CAA6C;IACpC,IAAI,CAAQ;IACrB,wEAAwE;IAC/D,UAAU,CAAS;IAC5B,kDAAkD;IACzC,SAAS,CAAS;IAE3B,YAAY,OAAe,EAAE,OAA0B;QACrD,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;QACxC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;QACpC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACpC,CAAC;CACF;AAED,+CAA+C;AAC/C,MAAM,OAAO,wBAAyB,SAAQ,UAAU;CAAG;AAE3D,6EAA6E;AAC7E,MAAM,OAAO,oBAAqB,SAAQ,UAAU;CAAG;AAEvD,kEAAkE;AAClE,MAAM,OAAO,kBAAmB,SAAQ,UAAU;CAAG;AAErD,6CAA6C;AAC7C,MAAM,OAAO,oBAAqB,SAAQ,UAAU;CAAG;AAEvD,iEAAiE;AACjE,MAAM,OAAO,kBAAmB,SAAQ,UAAU;CAAG;AAErD,gDAAgD;AAChD,MAAM,OAAO,mBAAoB,SAAQ,UAAU;CAAG;AAEtD,iCAAiC;AACjC,MAAM,OAAO,aAAc,SAAQ,UAAU;CAAG;AAEhD,0DAA0D;AAC1D,MAAM,OAAO,cAAe,SAAQ,UAAU;CAAG;AAEjD,8EAA8E;AAC9E,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAClD,YAAY,OAAe,EAAE,KAAe;QAC1C,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAA;IACrD,CAAC;CACF;AAED,0DAA0D;AAC1D,MAAM,OAAO,+BAAgC,SAAQ,UAAU;IAC7D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC,CAAA;IAC3D,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,IAAiD,EACjD,SAAkB;IAElB,MAAM,IAAI,GAAG,IAAI,EAAE,KAAK,IAAI,cAAc,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,yBAAyB,MAAM,IAAI,CAAA;IACpE,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;IAEvD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACN,OAAO,IAAI,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACnD,KAAK,GAAG;YACN,OAAO,IAAI,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvD,KAAK,GAAG;YACN,OAAO,IAAI,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACnD,KAAK,GAAG;YACN,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACjD,KAAK,GAAG;YACN,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACjD,KAAK,GAAG;YACN,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAClD,KAAK,GAAG;YACN,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC7C;YACE,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,7 @@ export { TupayClient } from './client.js';
72
72
  export type { TupayOptions, RequestOptions } from './client.js';
73
73
  export { constructEvent, DEFAULT_TOLERANCE_SECONDS } from './webhooks.js';
74
74
  export type { ConstructEventOptions } from './webhooks.js';
75
- export { TupayError, TupayAuthenticationError, TupayPermissionError, TupayNotFoundError, TupayValidationError, TupayConflictError, TupayRateLimitError, TupayApiError, TupayBaasError, TupayConnectionError, TupaySignatureVerificationError, } from './errors.js';
75
+ export { TupayError, TupayAuthenticationError, TupayPermissionError, TupayNotFoundError, TupayValidationError, TupayConflictError, TupayIdempotencyError, TupayRateLimitError, TupayApiError, TupayBaasError, TupayConnectionError, TupaySignatureVerificationError, } from './errors.js';
76
76
  export type * from './types.js';
77
77
  export type { CreatePaymentIntentParams } from './resources/payment-intents.js';
78
78
  export type { CreatePaymentLinkParams } from './resources/payment-links.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,qBAAa,KAAK;;IAChB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAEjC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAId,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IActD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,QAAQ;gCAEJ,MAAM,GAAG,MAAM,UAChB,MAAM,GAAG,IAAI,GAAG,SAAS,UACzB,MAAM,YACJ,qBAAqB,GAC9B,YAAY;MAGhB;IAED,8CAA8C;IAC9C,MAAM,CAAC,cAAc,IAAI,MAAM;CAGhC;AAED,eAAe,KAAK,CAAA;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AACzE,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE1D,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,aAAa,CAAA;AAEpB,mBAAmB,YAAY,CAAA;AAE/B,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,YAAY,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,kCAAkC,CAAA;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,qBAAa,KAAK;;IAChB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAEjC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAId,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IActD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,QAAQ;gCAEJ,MAAM,GAAG,MAAM,UAChB,MAAM,GAAG,IAAI,GAAG,SAAS,UACzB,MAAM,YACJ,qBAAqB,GAC9B,YAAY;MAGhB;IAED,8CAA8C;IAC9C,MAAM,CAAC,cAAc,IAAI,MAAM;CAGhC;AAED,eAAe,KAAK,CAAA;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AACzE,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAE1D,OAAO,EACL,UAAU,EACV,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,+BAA+B,GAChC,MAAM,aAAa,CAAA;AAEpB,mBAAmB,YAAY,CAAA;AAE/B,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,YAAY,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3E,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACzE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AACnF,YAAY,EACV,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,kCAAkC,CAAA;AACzC,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA"}
package/dist/esm/index.js CHANGED
@@ -84,7 +84,7 @@ export class Tupay {
84
84
  export default Tupay;
85
85
  export { TupayClient } from './client.js';
86
86
  export { constructEvent, DEFAULT_TOLERANCE_SECONDS } from './webhooks.js';
87
- export { TupayError, TupayAuthenticationError, TupayPermissionError, TupayNotFoundError, TupayValidationError, TupayConflictError, TupayRateLimitError, TupayApiError, TupayBaasError, TupayConnectionError, TupaySignatureVerificationError, } from './errors.js';
87
+ export { TupayError, TupayAuthenticationError, TupayPermissionError, TupayNotFoundError, TupayValidationError, TupayConflictError, TupayIdempotencyError, TupayRateLimitError, TupayApiError, TupayBaasError, TupayConnectionError, TupaySignatureVerificationError, } from './errors.js';
88
88
  export { Events } from './resources/events.js';
89
89
  export { TestHelpers } from './resources/test-helpers.js';
90
90
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tupay",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "SDK Node officiel de Tupay : encaissement en XPF pour la Polynésie française.",
5
5
  "license": "MIT",
6
6
  "type": "module",