@mostajs/payment 0.5.3 → 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.
Files changed (56) hide show
  1. package/README.md +45 -0
  2. package/dist/core/abstract-provider.d.ts +22 -0
  3. package/dist/core/abstract-provider.d.ts.map +1 -0
  4. package/dist/core/abstract-provider.js +54 -0
  5. package/dist/core/abstract-provider.js.map +1 -0
  6. package/dist/core/auto-register.d.ts +28 -0
  7. package/dist/core/auto-register.d.ts.map +1 -0
  8. package/dist/core/auto-register.js +99 -0
  9. package/dist/core/auto-register.js.map +1 -0
  10. package/dist/core/checkout-service.d.ts +70 -0
  11. package/dist/core/checkout-service.d.ts.map +1 -0
  12. package/dist/core/checkout-service.js +107 -0
  13. package/dist/core/checkout-service.js.map +1 -0
  14. package/dist/lib/webhook-helpers.d.ts +1 -1
  15. package/dist/lib/webhook-helpers.d.ts.map +1 -1
  16. package/dist/lib/webhook-helpers.js +10 -1
  17. package/dist/lib/webhook-helpers.js.map +1 -1
  18. package/dist/providers/chargily.provider.d.ts +5 -4
  19. package/dist/providers/chargily.provider.d.ts.map +1 -1
  20. package/dist/providers/chargily.provider.js +5 -3
  21. package/dist/providers/chargily.provider.js.map +1 -1
  22. package/dist/providers/guiddini.provider.d.ts +38 -0
  23. package/dist/providers/guiddini.provider.d.ts.map +1 -0
  24. package/dist/providers/guiddini.provider.js +126 -0
  25. package/dist/providers/guiddini.provider.js.map +1 -0
  26. package/dist/providers/manual.provider.d.ts +5 -4
  27. package/dist/providers/manual.provider.d.ts.map +1 -1
  28. package/dist/providers/manual.provider.js +14 -4
  29. package/dist/providers/manual.provider.js.map +1 -1
  30. package/dist/providers/paypal.provider.d.ts +5 -4
  31. package/dist/providers/paypal.provider.d.ts.map +1 -1
  32. package/dist/providers/paypal.provider.js +5 -3
  33. package/dist/providers/paypal.provider.js.map +1 -1
  34. package/dist/providers/satim.provider.d.ts +17 -4
  35. package/dist/providers/satim.provider.d.ts.map +1 -1
  36. package/dist/providers/satim.provider.js +82 -14
  37. package/dist/providers/satim.provider.js.map +1 -1
  38. package/dist/providers/slickpay.provider.d.ts +37 -0
  39. package/dist/providers/slickpay.provider.d.ts.map +1 -0
  40. package/dist/providers/slickpay.provider.js +121 -0
  41. package/dist/providers/slickpay.provider.js.map +1 -0
  42. package/dist/providers/stripe.provider.d.ts +5 -4
  43. package/dist/providers/stripe.provider.d.ts.map +1 -1
  44. package/dist/providers/stripe.provider.js +5 -3
  45. package/dist/providers/stripe.provider.js.map +1 -1
  46. package/dist/schemas/payment.schema.d.ts.map +1 -1
  47. package/dist/schemas/payment.schema.js +5 -0
  48. package/dist/schemas/payment.schema.js.map +1 -1
  49. package/dist/server.d.ts +9 -0
  50. package/dist/server.d.ts.map +1 -1
  51. package/dist/server.js +9 -0
  52. package/dist/server.js.map +1 -1
  53. package/dist/types/index.d.ts +4 -0
  54. package/dist/types/index.d.ts.map +1 -1
  55. package/llms.txt +118 -0
  56. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"chargily.provider.js","sourceRoot":"","sources":["../../src/providers/chargily.provider.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,wCAAwC;AACxC,sDAAsD;AACtD,sCAAsC;AAGtC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAUxC,MAAM,OAAO,gBAAgB;IAOP;IANX,IAAI,GAAG,UAAU,CAAA;IACjB,mBAAmB,GAAG,CAAC,KAAK,CAAC,CAAA;IAC7B,gBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAEvC,OAAO,CAAQ;IAEvB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ;YAC5B,CAAC,CAAC,sCAAsC;YACxC,CAAC,CAAC,iCAAiC,CAAA;IACvC,CAAC;IAEO,OAAO;QACb,OAAO;YACL,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAC/C,cAAc,EAAE,kBAAkB;SACnC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAsB;QACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;YACnD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,uDAAuD;gBAC9E,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU;gBACxD,WAAW,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU;gBACvD,gBAAgB,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU;gBAC7D,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,YAAY,MAAM,CAAC,OAAO,EAAE;gBAC/D,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE;aAC1D,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC9C,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QACjF,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAsB;QACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE;YACnD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC;SACH,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QACpF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7B,OAAO,IAAI,CAAC,EAAE,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,cAAc,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAC/F,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QACjF,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,cAAc,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAC/F,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QAChF,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,SAAiB;QACjD,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE5B,4DAA4D;QAC5D,wEAAwE;QACxE,+DAA+D;QAC/D,qCAAqC;QACrC,MAAM,cAAc,GAAG,GAAG,EAAE,MAAM,KAAK,OAAO,IAAI,GAAG,EAAE,IAAI,CAAA;QAC3D,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;QAChD,MAAM,iBAAiB,GACrB,cAAc,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QAElE,mEAAmE;QACnE,4EAA4E;QAC5E,uDAAuD;QACvD,IAAI,IAAY,CAAA;QAChB,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,GAAG,iBAAiB,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB;gBACnD,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB;oBACjD,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB;wBACrD,CAAC,CAAC,iBAAiB,CAAA;QACvB,CAAC;QAED,OAAO;YACL,IAAI;YACJ,IAAI,EAAE;gBACJ,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO;aACpC;YACD,GAAG;SACJ,CAAA;IACH,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAgC;IACrE,OAAO,IAAI,gBAAgB,CAAC;QAC1B,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,IAAI,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC;QACzF,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,oBAAoB,CAAC,KAAK,OAAO;QACtE,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;QACpF,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;QACnF,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,MAAM,CAAC,sBAAsB,CAAC;KACjE,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"chargily.provider.js","sourceRoot":"","sources":["../../src/providers/chargily.provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { CheckoutParams, CheckoutResult, WebhookEvent } from '../core/provider.interface.js';
2
+ import { AbstractPaymentProvider } from '../core/abstract-provider.js';
3
+ export interface GuiddiniConfig {
4
+ appKey: string;
5
+ appSecret: string;
6
+ testMode?: boolean;
7
+ /** Base API (sans slash final). Pilotable par env. */
8
+ baseUrl?: string;
9
+ /** Chemin d'initiation de paiement. Défaut '/transactions/initiate'. */
10
+ initiatePath?: string;
11
+ /** Chemin de statut (avec {id}). Défaut '/transactions'. */
12
+ statusPath?: string;
13
+ returnUrl?: string;
14
+ }
15
+ export declare class GuiddiniProvider extends AbstractPaymentProvider {
16
+ private config;
17
+ readonly name = "guiddini";
18
+ readonly supportedCurrencies: string[];
19
+ readonly supportedMethods: string[];
20
+ private baseUrl;
21
+ private initiatePath;
22
+ private statusPath;
23
+ constructor(config: GuiddiniConfig);
24
+ private headers;
25
+ protected doCheckout(params: CheckoutParams): Promise<CheckoutResult>;
26
+ /** Statut d'une transaction Guiddini par id. */
27
+ getTransaction(id: string): Promise<Record<string, unknown>>;
28
+ /** Mappe un statut Guiddini/SATIM vers un type d'event normalisé (pur, testable). */
29
+ static mapStatus(raw: Record<string, any>): string;
30
+ protected doVerifyWebhook(body: string, _signature: string): Promise<WebhookEvent>;
31
+ }
32
+ /**
33
+ * Crée un provider Guiddini depuis l'environnement (cascade @mostajs/config).
34
+ * Env : GUIDDINI_APP_KEY, GUIDDINI_APP_SECRET, GUIDDINI_TEST_MODE,
35
+ * GUIDDINI_BASE_URL, GUIDDINI_INITIATE_PATH, GUIDDINI_STATUS_PATH, GUIDDINI_RETURN_URL.
36
+ */
37
+ export declare function createGuiddiniProvider(config?: Partial<GuiddiniConfig>): GuiddiniProvider;
38
+ //# sourceMappingURL=guiddini.provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guiddini.provider.d.ts","sourceRoot":"","sources":["../../src/providers/guiddini.provider.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAGtE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,gBAAiB,SAAQ,uBAAuB;IAS/C,OAAO,CAAC,MAAM;IAR1B,QAAQ,CAAC,IAAI,cAAa;IAC1B,QAAQ,CAAC,mBAAmB,WAAU;IACtC,QAAQ,CAAC,gBAAgB,WAAsB;IAE/C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAAQ;gBAEN,MAAM,EAAE,cAAc;IAS1C,OAAO,CAAC,OAAO;cASC,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IA0B3E,gDAAgD;IAC1C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMlE,qFAAqF;IACrF,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;cAQlC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAyBzF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,gBAAgB,CAUzF"}
@@ -0,0 +1,126 @@
1
+ // @mostajs/payment — Guiddini provider (agrégateur Algérie : CIB + EDAHABIA via SATIM)
2
+ // Author: Dr Hamid MADANI <drmdh@msn.com>
3
+ // Ref: https://guiddini.dz/docs/api/satim · >100 marchands certifiés SATIM
4
+ //
5
+ // Guiddini Pay : agrégateur SATIM (clé/secret applicatifs). Flux : initiation →
6
+ // redirection vers la page SATIM → confirmation par interrogation du statut.
7
+ // La doc publique étant rendue côté client, les chemins/URL sont PILOTABLES PAR
8
+ // ENV (corrigeables sans toucher au code, §10) — défauts provisoires à confirmer
9
+ // en certification GIE Monétique.
10
+ import { AbstractPaymentProvider } from '../core/abstract-provider.js';
11
+ import { getEnv } from '@mostajs/config';
12
+ export class GuiddiniProvider extends AbstractPaymentProvider {
13
+ config;
14
+ name = 'guiddini';
15
+ supportedCurrencies = ['DZD'];
16
+ supportedMethods = ['cib', 'edahabia'];
17
+ baseUrl;
18
+ initiatePath;
19
+ statusPath;
20
+ constructor(config) {
21
+ super();
22
+ this.config = config;
23
+ this.baseUrl = config.baseUrl ?? (config.testMode
24
+ ? 'https://epay.guiddini.dz/api/test'
25
+ : 'https://epay.guiddini.dz/api');
26
+ this.initiatePath = config.initiatePath ?? '/transactions/initiate';
27
+ this.statusPath = config.statusPath ?? '/transactions';
28
+ }
29
+ headers() {
30
+ return {
31
+ 'x-app-key': this.config.appKey,
32
+ 'x-app-secret': this.config.appSecret,
33
+ 'Content-Type': 'application/json',
34
+ 'Accept': 'application/json',
35
+ };
36
+ }
37
+ async doCheckout(params) {
38
+ const res = await fetch(`${this.baseUrl}${this.initiatePath}`, {
39
+ method: 'POST',
40
+ headers: this.headers(),
41
+ body: JSON.stringify({
42
+ amount: params.amount, // DZD
43
+ order_number: params.orderId, // notre référence (matching)
44
+ return_url: params.successUrl ?? this.config.returnUrl,
45
+ fail_url: params.cancelUrl,
46
+ description: params.description ?? `Commande ${params.orderId}`,
47
+ meta: params.metadata,
48
+ }),
49
+ });
50
+ if (!res.ok) {
51
+ const err = await res.json().catch(() => ({}));
52
+ throw new Error(`[guiddini] Checkout failed: ${err.message ?? res.statusText}`);
53
+ }
54
+ const data = await res.json();
55
+ const d = data.data ?? data;
56
+ // { form_url|redirect_url|checkout_url, order_id|id }
57
+ return {
58
+ url: d.form_url ?? d.redirect_url ?? d.checkout_url ?? null,
59
+ sessionId: String(d.order_id ?? d.id ?? d.transaction_id ?? ''),
60
+ };
61
+ }
62
+ /** Statut d'une transaction Guiddini par id. */
63
+ async getTransaction(id) {
64
+ const res = await fetch(`${this.baseUrl}${this.statusPath}/${id}`, { headers: this.headers() });
65
+ if (!res.ok)
66
+ throw new Error(`[guiddini] Get transaction failed: ${res.statusText}`);
67
+ return res.json();
68
+ }
69
+ /** Mappe un statut Guiddini/SATIM vers un type d'event normalisé (pur, testable). */
70
+ static mapStatus(raw) {
71
+ const s = String(raw?.status ?? raw?.state ?? raw?.order_status ?? '').toLowerCase();
72
+ if (s === 'paid' || s === 'success' || s === 'completed' || s === 'confirmed' || raw?.order_status === 2)
73
+ return 'payment.success';
74
+ if (s === 'failed' || s === 'declined' || s === 'cancelled' || s === 'canceled')
75
+ return 'payment.failed';
76
+ if (s === 'refunded')
77
+ return 'payment.refunded';
78
+ return 'payment.pending';
79
+ }
80
+ async doVerifyWebhook(body, _signature) {
81
+ // Confirmation par retour + interrogation. Accepte un JSON déjà résolu
82
+ // ({order_number,status} — testable hors-ligne) ou un JSON {id} → interrogation.
83
+ let raw = {};
84
+ try {
85
+ raw = JSON.parse(body);
86
+ }
87
+ catch {
88
+ raw = Object.fromEntries(new URLSearchParams(body));
89
+ }
90
+ const env = raw.data ?? raw;
91
+ let status = env;
92
+ const id = env.id ?? env.order_id ?? env.transaction_id;
93
+ if (env.status === undefined && env.order_status === undefined && id) {
94
+ const fetched = await this.getTransaction(String(id));
95
+ status = fetched.data ?? fetched;
96
+ }
97
+ return {
98
+ type: GuiddiniProvider.mapStatus(status),
99
+ data: {
100
+ orderId: env.order_number ?? status.order_number ?? status.orderId,
101
+ transactionId: id ?? status.id,
102
+ amount: status.amount,
103
+ currency: 'DZD',
104
+ status: status.status ?? status.order_status,
105
+ },
106
+ raw: status,
107
+ };
108
+ }
109
+ }
110
+ /**
111
+ * Crée un provider Guiddini depuis l'environnement (cascade @mostajs/config).
112
+ * Env : GUIDDINI_APP_KEY, GUIDDINI_APP_SECRET, GUIDDINI_TEST_MODE,
113
+ * GUIDDINI_BASE_URL, GUIDDINI_INITIATE_PATH, GUIDDINI_STATUS_PATH, GUIDDINI_RETURN_URL.
114
+ */
115
+ export function createGuiddiniProvider(config) {
116
+ return new GuiddiniProvider({
117
+ appKey: config?.appKey ?? getEnv('GUIDDINI_APP_KEY', ''),
118
+ appSecret: config?.appSecret ?? getEnv('GUIDDINI_APP_SECRET', ''),
119
+ testMode: config?.testMode ?? getEnv('GUIDDINI_TEST_MODE') !== 'false',
120
+ baseUrl: config?.baseUrl ?? getEnv('GUIDDINI_BASE_URL'),
121
+ initiatePath: config?.initiatePath ?? getEnv('GUIDDINI_INITIATE_PATH'),
122
+ statusPath: config?.statusPath ?? getEnv('GUIDDINI_STATUS_PATH'),
123
+ returnUrl: config?.returnUrl ?? getEnv('GUIDDINI_RETURN_URL', '/payment/success'),
124
+ });
125
+ }
126
+ //# sourceMappingURL=guiddini.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guiddini.provider.js","sourceRoot":"","sources":["../../src/providers/guiddini.provider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { PaymentProvider, CheckoutParams, CheckoutResult, WebhookEvent } from '../core/provider.interface.js';
1
+ import type { CheckoutParams, CheckoutResult, WebhookEvent } from '../core/provider.interface.js';
2
+ import { AbstractPaymentProvider } from '../core/abstract-provider.js';
2
3
  export interface ManualConfig {
3
4
  bankInfo?: {
4
5
  rib: string;
@@ -7,14 +8,14 @@ export interface ManualConfig {
7
8
  };
8
9
  confirmationUrl?: string;
9
10
  }
10
- export declare class ManualProvider implements PaymentProvider {
11
+ export declare class ManualProvider extends AbstractPaymentProvider {
11
12
  private config;
12
13
  readonly name = "manual";
13
14
  readonly supportedCurrencies: string[];
14
15
  readonly supportedMethods: string[];
15
16
  constructor(config?: ManualConfig);
16
- createCheckout(params: CheckoutParams): Promise<CheckoutResult>;
17
- verifyWebhook(body: string, _signature: string): Promise<WebhookEvent>;
17
+ protected doCheckout(params: CheckoutParams): Promise<CheckoutResult>;
18
+ protected doVerifyWebhook(body: string, _signature: string): Promise<WebhookEvent>;
18
19
  }
19
20
  export declare function createManualProvider(config?: ManualConfig): ManualProvider;
20
21
  //# sourceMappingURL=manual.provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manual.provider.d.ts","sourceRoot":"","sources":["../../src/providers/manual.provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAElH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,cAAe,YAAW,eAAe;IAKxC,OAAO,CAAC,MAAM;IAJ1B,QAAQ,CAAC,IAAI,YAAW;IACxB,QAAQ,CAAC,mBAAmB,WAAQ;IACpC,QAAQ,CAAC,gBAAgB,WAA8B;gBAEnC,MAAM,GAAE,YAAiB;IAEvC,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ/D,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAI7E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,CAE1E"}
1
+ {"version":3,"file":"manual.provider.d.ts","sourceRoot":"","sources":["../../src/providers/manual.provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,cAAe,SAAQ,uBAAuB;IAK7C,OAAO,CAAC,MAAM;IAJ1B,QAAQ,CAAC,IAAI,YAAW;IACxB,QAAQ,CAAC,mBAAmB,WAAQ;IACpC,QAAQ,CAAC,gBAAgB,WAA8B;gBAEnC,MAAM,GAAE,YAAiB;cAE7B,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;cAQ3D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAYzF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,CAE1E"}
@@ -1,23 +1,33 @@
1
1
  // @mostajs/payment — Manual provider (cash, bank transfer, TPE)
2
2
  // Author: Dr Hamid MADANI drmdh@msn.com
3
- export class ManualProvider {
3
+ import { AbstractPaymentProvider } from '../core/abstract-provider.js';
4
+ export class ManualProvider extends AbstractPaymentProvider {
4
5
  config;
5
6
  name = 'manual';
6
7
  supportedCurrencies = ['*'];
7
8
  supportedMethods = ['cash', 'transfer', 'tpe'];
8
9
  constructor(config = {}) {
10
+ super();
9
11
  this.config = config;
10
12
  }
11
- async createCheckout(params) {
13
+ async doCheckout(params) {
12
14
  // No external redirect — return confirmation page URL
13
15
  const url = this.config.confirmationUrl
14
16
  ? `${this.config.confirmationUrl}?orderId=${params.orderId}`
15
17
  : params.successUrl;
16
18
  return { url, sessionId: `manual_${params.orderId}` };
17
19
  }
18
- async verifyWebhook(body, _signature) {
20
+ async doVerifyWebhook(body, _signature) {
21
+ // Confirmation manuelle (caissier / virement validé) : un POST
22
+ // { orderId, status:'paid' } (ou { paid:true }) déclenche un event de
23
+ // succès normalisé. Sans marqueur de paiement → event neutre 'payment.manual'.
19
24
  const data = JSON.parse(body);
20
- return { type: 'payment.manual', data };
25
+ const paid = data?.status === 'paid' || data?.paid === true || data?.event === 'paid';
26
+ const orderId = data?.orderId ?? data?.metadata?.orderId;
27
+ return {
28
+ type: paid ? 'payment.success' : 'payment.manual',
29
+ data: { ...data, ...(orderId ? { orderId } : {}) },
30
+ };
21
31
  }
22
32
  }
23
33
  export function createManualProvider(config) {
@@ -1 +1 @@
1
- {"version":3,"file":"manual.provider.js","sourceRoot":"","sources":["../../src/providers/manual.provider.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wCAAwC;AASxC,MAAM,OAAO,cAAc;IAKL;IAJX,IAAI,GAAG,QAAQ,CAAA;IACf,mBAAmB,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,gBAAgB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IAEvD,YAAoB,SAAuB,EAAE;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAEjD,KAAK,CAAC,cAAc,CAAC,MAAsB;QACzC,sDAAsD;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe;YACrC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,YAAY,MAAM,CAAC,OAAO,EAAE;YAC5D,CAAC,CAAC,MAAM,CAAC,UAAU,CAAA;QACrB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM,CAAC,OAAO,EAAE,EAAE,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,UAAkB;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAA;IACzC,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAqB;IACxD,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"manual.provider.js","sourceRoot":"","sources":["../../src/providers/manual.provider.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wCAAwC;AAGxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAOtE,MAAM,OAAO,cAAe,SAAQ,uBAAuB;IAKrC;IAJX,IAAI,GAAG,QAAQ,CAAA;IACf,mBAAmB,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,gBAAgB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IAEvD,YAAoB,SAAuB,EAAE;QAAI,KAAK,EAAE,CAAA;QAApC,WAAM,GAAN,MAAM,CAAmB;IAAY,CAAC;IAEhD,KAAK,CAAC,UAAU,CAAC,MAAsB;QAC/C,sDAAsD;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe;YACrC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,YAAY,MAAM,CAAC,OAAO,EAAE;YAC5D,CAAC,CAAC,MAAM,CAAC,UAAU,CAAA;QACrB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,MAAM,CAAC,OAAO,EAAE,EAAE,CAAA;IACvD,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,UAAkB;QAC9D,+DAA+D;QAC/D,sEAAsE;QACtE,+EAA+E;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,EAAE,MAAM,KAAK,MAAM,IAAI,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,EAAE,KAAK,KAAK,MAAM,CAAA;QACrF,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAA;QACxD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB;YACjD,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;SACnD,CAAA;IACH,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAqB;IACxD,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { PaymentProvider, CheckoutParams, CheckoutResult, RefundParams, RefundResult, WebhookEvent } from '../core/provider.interface.js';
1
+ import type { CheckoutParams, CheckoutResult, RefundParams, RefundResult, WebhookEvent } from '../core/provider.interface.js';
2
+ import { AbstractPaymentProvider } from '../core/abstract-provider.js';
2
3
  export interface PayPalConfig {
3
4
  clientId: string;
4
5
  secret: string;
@@ -7,7 +8,7 @@ export interface PayPalConfig {
7
8
  cancelUrl: string;
8
9
  webhookId?: string;
9
10
  }
10
- export declare class PayPalProvider implements PaymentProvider {
11
+ export declare class PayPalProvider extends AbstractPaymentProvider {
11
12
  private config;
12
13
  readonly name = "paypal";
13
14
  readonly supportedCurrencies: string[];
@@ -17,7 +18,7 @@ export declare class PayPalProvider implements PaymentProvider {
17
18
  constructor(config: PayPalConfig);
18
19
  private getAccessToken;
19
20
  private api;
20
- createCheckout(params: CheckoutParams): Promise<CheckoutResult>;
21
+ protected doCheckout(params: CheckoutParams): Promise<CheckoutResult>;
21
22
  /**
22
23
  * Capture a PayPal order after user approval.
23
24
  * Call this when PayPal redirects back to returnUrl with ?token=ORDER_ID
@@ -31,7 +32,7 @@ export declare class PayPalProvider implements PaymentProvider {
31
32
  */
32
33
  getOrder(orderId: string): Promise<Record<string, unknown>>;
33
34
  createRefund(params: RefundParams): Promise<RefundResult>;
34
- verifyWebhook(body: string, signature: string): Promise<WebhookEvent>;
35
+ protected doVerifyWebhook(body: string, signature: string): Promise<WebhookEvent>;
35
36
  /**
36
37
  * Verify webhook signature via PayPal API (production).
37
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"paypal.provider.d.ts","sourceRoot":"","sources":["../../src/providers/paypal.provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAI9I,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,cAAe,YAAW,eAAe;IAQxC,OAAO,CAAC,MAAM;IAP1B,QAAQ,CAAC,IAAI,YAAW;IACxB,QAAQ,CAAC,mBAAmB,WAAoD;IAChF,QAAQ,CAAC,gBAAgB,WAAa;IAEtC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAoD;gBAElD,MAAM,EAAE,YAAY;YAM1B,cAAc;YAwBd,GAAG;IAiBX,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IA0BrE;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAK/F;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI3D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAgBzD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAwB3E;;OAEG;IACG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAa9F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,cAAc,CASnF"}
1
+ {"version":3,"file":"paypal.provider.d.ts","sourceRoot":"","sources":["../../src/providers/paypal.provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC7H,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAGtE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,cAAe,SAAQ,uBAAuB;IAQ7C,OAAO,CAAC,MAAM;IAP1B,QAAQ,CAAC,IAAI,YAAW;IACxB,QAAQ,CAAC,mBAAmB,WAAoD;IAChF,QAAQ,CAAC,gBAAgB,WAAa;IAEtC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAoD;gBAElD,MAAM,EAAE,YAAY;YAO1B,cAAc;YAwBd,GAAG;cAiBD,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IA0B3E;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAK/F;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI3D,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;cAgB/C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAwBvF;;OAEG;IACG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAa9F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,cAAc,CASnF"}
@@ -1,8 +1,9 @@
1
1
  // @mostajs/payment — PayPal REST API v2 provider
2
2
  // Author: Dr Hamid MADANI drmdh@msn.com
3
3
  // Ref: https://developer.paypal.com/docs/api/orders/v2/
4
+ import { AbstractPaymentProvider } from '../core/abstract-provider.js';
4
5
  import { getEnv } from '@mostajs/config';
5
- export class PayPalProvider {
6
+ export class PayPalProvider extends AbstractPaymentProvider {
6
7
  config;
7
8
  name = 'paypal';
8
9
  supportedCurrencies = ['USD', 'EUR', 'GBP', 'CAD', 'AUD', 'JPY', 'CHF'];
@@ -10,6 +11,7 @@ export class PayPalProvider {
10
11
  baseUrl;
11
12
  tokenCache = null;
12
13
  constructor(config) {
14
+ super();
13
15
  this.config = config;
14
16
  this.baseUrl = config.testMode
15
17
  ? 'https://api-m.sandbox.paypal.com'
@@ -53,7 +55,7 @@ export class PayPalProvider {
53
55
  }
54
56
  return res.status === 204 ? null : res.json();
55
57
  }
56
- async createCheckout(params) {
58
+ async doCheckout(params) {
57
59
  const currency = (params.currency ?? 'USD').toUpperCase();
58
60
  const data = await this.api('POST', '/v2/checkout/orders', {
59
61
  intent: 'CAPTURE',
@@ -106,7 +108,7 @@ export class PayPalProvider {
106
108
  status: data.status,
107
109
  };
108
110
  }
109
- async verifyWebhook(body, signature) {
111
+ async doVerifyWebhook(body, signature) {
110
112
  // PayPal webhook verification requires calling their API
111
113
  // For simplicity, parse the event and validate via API
112
114
  const event = JSON.parse(body);
@@ -1 +1 @@
1
- {"version":3,"file":"paypal.provider.js","sourceRoot":"","sources":["../../src/providers/paypal.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paypal.provider.js","sourceRoot":"","sources":["../../src/providers/paypal.provider.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,wCAAwC;AACxC,wDAAwD;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAWxC,MAAM,OAAO,cAAe,SAAQ,uBAAuB;IAQrC;IAPX,IAAI,GAAG,QAAQ,CAAA;IACf,mBAAmB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IACvE,gBAAgB,GAAG,CAAC,QAAQ,CAAC,CAAA;IAE9B,OAAO,CAAQ;IACf,UAAU,GAAgD,IAAI,CAAA;IAEtE,YAAoB,MAAoB;QACtC,KAAK,EAAE,CAAA;QADW,WAAM,GAAN,MAAM,CAAc;QAEtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ;YAC5B,CAAC,CAAC,kCAAkC;YACpC,CAAC,CAAC,0BAA0B,CAAA;IAChC,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAA;QAC9B,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC5F,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,kBAAkB,EAAE;YACzD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,SAAS,IAAI,EAAE;gBAChC,cAAc,EAAE,mCAAmC;aACpD;YACD,IAAI,EAAE,+BAA+B;SACtC,CAAC,CAAA;QAEF,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QACxE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7B,IAAI,CAAC,UAAU,GAAG;YAChB,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,8BAA8B;SACtF,CAAA;QACD,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAEO,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,IAAc;QAC5D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QACzC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;YAChD,MAAM;YACN,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,KAAK,EAAE;gBAClC,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC9C,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,IAAI,IAAI,YAAY,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAA;QACrG,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;IAC/C,CAAC;IAES,KAAK,CAAC,UAAU,CAAC,MAAsB;QAC/C,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE;YACzD,MAAM,EAAE,SAAS;YACjB,cAAc,EAAE,CAAC;oBACf,YAAY,EAAE,MAAM,CAAC,OAAO;oBAC5B,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,MAAM,EAAE;wBACN,aAAa,EAAE,QAAQ;wBACvB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;qBAChC;iBACF,CAAC;YACF,mBAAmB,EAAE;gBACnB,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBACtD,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBACrD,UAAU,EAAE,eAAe;gBAC3B,YAAY,EAAE,OAAO;gBACrB,WAAW,EAAE,SAAS;aACvB;YACD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAA;QACrE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;IAC/D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,uBAAuB,OAAO,UAAU,EAAE,EAAE,CAAC,CAAA;QACjF,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAA;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,uBAAuB,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAoB;QACrC,8CAA8C;QAC9C,MAAM,IAAI,GAAQ,EAAE,CAAA;QACpB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAA;QACzE,CAAC;QACD,IAAI,MAAM,CAAC,MAAM;YAAE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAA;QAErD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,yBAAyB,MAAM,CAAC,SAAS,SAAS,EAAE,IAAI,CAAC,CAAA;QAC7F,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,CAAC;YAC7C,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAA;IACH,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,SAAiB;QAC7D,yDAAyD;QACzD,uDAAuD;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE9B,4EAA4E;QAC5E,kCAAkC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,KAAK,yBAAyB,CAAC,CAAC,CAAC,kBAAkB;YAC9E,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,2BAA2B,CAAC,CAAC,CAAC,iBAAiB;gBACtE,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,wBAAwB,CAAC,CAAC,CAAC,gBAAgB;oBAClE,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,CAAA;QAEjC,OAAO;YACL,IAAI;YACJ,IAAI,EAAE;gBACJ,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE;gBAC3B,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM;gBAC9B,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK;gBACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa;aAChD;YACD,GAAG,EAAE,KAAK;SACX,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAAC,OAA+B,EAAE,IAAY;QACxE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,KAAK,CAAA;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,4CAA4C,EAAE;YAChF,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC;YACtC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC;YACpC,eAAe,EAAE,OAAO,CAAC,wBAAwB,CAAC;YAClD,gBAAgB,EAAE,OAAO,CAAC,yBAAyB,CAAC;YACpD,iBAAiB,EAAE,OAAO,CAAC,0BAA0B,CAAC;YACtD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YACjC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;SAChC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,mBAAmB,KAAK,SAAS,CAAA;IAC/C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA8B;IACjE,OAAO,IAAI,cAAc,CAAC;QACxB,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC5D,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;QACrD,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC,kBAAkB,CAAC,KAAK,OAAO;QACpE,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;QAC/E,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;QAChF,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,mBAAmB,CAAC;KAC5D,CAAC,CAAA;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { PaymentProvider, CheckoutParams, CheckoutResult, WebhookEvent } from '../core/provider.interface.js';
1
+ import type { CheckoutParams, CheckoutResult, WebhookEvent } from '../core/provider.interface.js';
2
+ import { AbstractPaymentProvider } from '../core/abstract-provider.js';
2
3
  export interface SatimConfig {
3
4
  merchantId: string;
4
5
  password: string;
@@ -8,14 +9,14 @@ export interface SatimConfig {
8
9
  /** ISO 4217 currency code, default '012' (DZD) */
9
10
  currencyCode?: string;
10
11
  }
11
- export declare class SatimProvider implements PaymentProvider {
12
+ export declare class SatimProvider extends AbstractPaymentProvider {
12
13
  private config;
13
14
  readonly name = "satim";
14
15
  readonly supportedCurrencies: string[];
15
16
  readonly supportedMethods: string[];
16
17
  private baseUrl;
17
18
  constructor(config: SatimConfig);
18
- createCheckout(params: CheckoutParams): Promise<CheckoutResult>;
19
+ protected doCheckout(params: CheckoutParams): Promise<CheckoutResult>;
19
20
  /**
20
21
  * Confirm an order after redirect callback.
21
22
  * Call this when Satim redirects back to returnUrl.
@@ -29,7 +30,19 @@ export declare class SatimProvider implements PaymentProvider {
29
30
  * Get order status.
30
31
  */
31
32
  getOrderStatus(orderId: string): Promise<Record<string, unknown>>;
32
- verifyWebhook(body: string, _signature: string): Promise<WebhookEvent>;
33
+ /**
34
+ * Statut SATIM/BPC enrichi par identifiant de commande SATIM (mdOrder).
35
+ * Champs clés : OrderStatus, OrderNumber (= notre orderId), Amount (centimes),
36
+ * actionCode, approvalCode, ErrorCode.
37
+ */
38
+ getOrderStatusExtended(satimOrderId: string): Promise<Record<string, unknown>>;
39
+ /**
40
+ * Mappe un code OrderStatus BPC vers un type d'event normalisé.
41
+ * Codes BPC : 0 enregistré · 1 pré-autorisé · 2 **autorisé/payé** ·
42
+ * 3 annulé · 4 remboursé · 5 ACS/3-DS en cours · 6 refusé.
43
+ */
44
+ static mapOrderStatus(code: number | string | undefined): string;
45
+ protected doVerifyWebhook(body: string, _signature: string): Promise<WebhookEvent>;
33
46
  }
34
47
  /**
35
48
  * Create a Satim provider from environment variables.
@@ -1 +1 @@
1
- {"version":3,"file":"satim.provider.d.ts","sourceRoot":"","sources":["../../src/providers/satim.provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAGlH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,aAAc,YAAW,eAAe;IAOvC,OAAO,CAAC,MAAM;IAN1B,QAAQ,CAAC,IAAI,WAAU;IACvB,QAAQ,CAAC,mBAAmB,WAAU;IACtC,QAAQ,CAAC,gBAAgB,WAAU;IAEnC,OAAO,CAAC,OAAO,CAAQ;gBAEH,MAAM,EAAE,WAAW;IAMjC,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IA6BrE;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsB1G;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiBjE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAgB7E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,aAAa,CAQhF"}
1
+ {"version":3,"file":"satim.provider.d.ts","sourceRoot":"","sources":["../../src/providers/satim.provider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAGtE,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,aAAc,SAAQ,uBAAuB;IAO5C,OAAO,CAAC,MAAM;IAN1B,QAAQ,CAAC,IAAI,WAAU;IACvB,QAAQ,CAAC,mBAAmB,WAAU;IACtC,QAAQ,CAAC,gBAAgB,WAAU;IAEnC,OAAO,CAAC,OAAO,CAAQ;gBAEH,MAAM,EAAE,WAAW;cAOvB,UAAU,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAiC3E;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsB1G;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiBvE;;;;OAIG;IACG,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAepF;;;;OAIG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM;cAUhD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAqCzF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,aAAa,CAQhF"}
@@ -1,20 +1,22 @@
1
1
  // @mostajs/payment — Satim/GIE Monetique provider (CIB — Algerie)
2
2
  // Author: Dr Hamid MADANI drmdh@msn.com
3
3
  // Ref: https://test.satim.dz/payment/rest/ (sandbox)
4
+ import { AbstractPaymentProvider } from '../core/abstract-provider.js';
4
5
  import { getEnv, getEnvBool } from '@mostajs/config';
5
- export class SatimProvider {
6
+ export class SatimProvider extends AbstractPaymentProvider {
6
7
  config;
7
8
  name = 'satim';
8
9
  supportedCurrencies = ['DZD'];
9
10
  supportedMethods = ['cib'];
10
11
  baseUrl;
11
12
  constructor(config) {
13
+ super();
12
14
  this.config = config;
13
15
  this.baseUrl = config.testMode
14
16
  ? 'https://test.satim.dz/payment/rest'
15
17
  : 'https://cib.satim.dz/payment/rest';
16
18
  }
17
- async createCheckout(params) {
19
+ async doCheckout(params) {
18
20
  const body = new URLSearchParams({
19
21
  orderNumber: params.orderId,
20
22
  amount: String(Math.round(params.amount * 100)), // centimes DZD
@@ -27,6 +29,10 @@ export class SatimProvider {
27
29
  });
28
30
  if (params.description)
29
31
  body.set('description', params.description);
32
+ // jsonParams : champs libres (dont orderId) restitués dans getOrderStatusExtended
33
+ if (params.metadata && Object.keys(params.metadata).length) {
34
+ body.set('jsonParams', JSON.stringify(params.metadata));
35
+ }
30
36
  const res = await fetch(`${this.baseUrl}/register.do`, {
31
37
  method: 'POST',
32
38
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
@@ -78,19 +84,81 @@ export class SatimProvider {
78
84
  });
79
85
  return res.json();
80
86
  }
81
- async verifyWebhook(body, _signature) {
82
- // Satim uses redirect-based callbacks, not webhooks
83
- // Parse the callback params
84
- const params = new URLSearchParams(body);
85
- const orderId = params.get('orderId') ?? '';
86
- if (orderId) {
87
- const status = await this.confirmOrder(orderId);
88
- return {
89
- type: status.paid ? 'payment.success' : 'payment.failed',
90
- data: { orderId, ...status },
91
- };
87
+ /**
88
+ * Statut SATIM/BPC enrichi par identifiant de commande SATIM (mdOrder).
89
+ * Champs clés : OrderStatus, OrderNumber (= notre orderId), Amount (centimes),
90
+ * actionCode, approvalCode, ErrorCode.
91
+ */
92
+ async getOrderStatusExtended(satimOrderId) {
93
+ const body = new URLSearchParams({
94
+ orderId: satimOrderId,
95
+ userName: this.config.merchantId,
96
+ password: this.config.password,
97
+ language: 'FR',
98
+ });
99
+ const res = await fetch(`${this.baseUrl}/getOrderStatusExtended.do`, {
100
+ method: 'POST',
101
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
102
+ body,
103
+ });
104
+ return res.json();
105
+ }
106
+ /**
107
+ * Mappe un code OrderStatus BPC vers un type d'event normalisé.
108
+ * Codes BPC : 0 enregistré · 1 pré-autorisé · 2 **autorisé/payé** ·
109
+ * 3 annulé · 4 remboursé · 5 ACS/3-DS en cours · 6 refusé.
110
+ */
111
+ static mapOrderStatus(code) {
112
+ switch (String(code)) {
113
+ case '2': return 'payment.success';
114
+ case '4': return 'payment.refunded';
115
+ case '3':
116
+ case '6': return 'payment.failed';
117
+ default: return 'payment.pending'; // 0,1,5 ou inconnu
92
118
  }
93
- return { type: 'unknown', data: {} };
119
+ }
120
+ async doVerifyWebhook(body, _signature) {
121
+ // SATIM = callback PAR REDIRECTION (pas de webhook signé) : le handler de
122
+ // retour reçoit l'orderId SATIM (mdOrder) ; on confirme le statut côté serveur
123
+ // via getOrderStatusExtended. Accepte : querystring de retour, JSON {orderId},
124
+ // ou JSON déjà résolu (OrderStatus présent → pas d'appel réseau, testable).
125
+ const trimmed = body.trim();
126
+ let raw = {};
127
+ if (trimmed.startsWith('{')) {
128
+ try {
129
+ raw = JSON.parse(trimmed);
130
+ }
131
+ catch {
132
+ raw = {};
133
+ }
134
+ }
135
+ else {
136
+ raw = Object.fromEntries(new URLSearchParams(body));
137
+ }
138
+ const satimOrderId = raw.orderId ?? raw.mdOrder;
139
+ let status = raw;
140
+ if (raw.OrderStatus === undefined && raw.orderStatus === undefined && satimOrderId) {
141
+ status = await this.getOrderStatusExtended(String(satimOrderId));
142
+ }
143
+ const code = status.OrderStatus ?? status.orderStatus;
144
+ const orderNumber = status.OrderNumber ?? status.orderNumber ?? raw.orderNumber;
145
+ const amount = status.Amount !== undefined ? Number(status.Amount) / 100 : undefined;
146
+ const type = code !== undefined
147
+ ? SatimProvider.mapOrderStatus(code)
148
+ : (String(raw.actionCode) === '0' ? 'payment.success' : 'payment.pending');
149
+ return {
150
+ type,
151
+ data: {
152
+ orderId: orderNumber ?? satimOrderId, // OrderNumber = notre orderId (matching)
153
+ satimOrderId,
154
+ orderStatus: code,
155
+ amount,
156
+ currency: 'DZD',
157
+ approvalCode: status.approvalCode ?? status.ApprovalCode,
158
+ errorCode: status.ErrorCode ?? status.errorCode,
159
+ },
160
+ raw: status,
161
+ };
94
162
  }
95
163
  }
96
164
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"satim.provider.js","sourceRoot":"","sources":["../../src/providers/satim.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"satim.provider.js","sourceRoot":"","sources":["../../src/providers/satim.provider.ts"],"names":[],"mappings":"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"}