awesome-node-checkout 1.1.0 → 1.2.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 (31) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +67 -23
  3. package/dist/adapters/express/index.d.ts +35 -8
  4. package/dist/adapters/express/index.d.ts.map +1 -1
  5. package/dist/adapters/express/index.js +69 -14
  6. package/dist/adapters/express/index.js.map +1 -1
  7. package/dist/checkout-configurator.d.ts +5 -1
  8. package/dist/checkout-configurator.d.ts.map +1 -1
  9. package/dist/checkout-configurator.js +28 -3
  10. package/dist/checkout-configurator.js.map +1 -1
  11. package/dist/events/checkout-event-bus.d.ts +1 -0
  12. package/dist/events/checkout-event-bus.d.ts.map +1 -1
  13. package/dist/events/checkout-event-bus.js.map +1 -1
  14. package/dist/interfaces/payment-provider.interface.d.ts +7 -3
  15. package/dist/interfaces/payment-provider.interface.d.ts.map +1 -1
  16. package/dist/models/payment-request.model.d.ts +2 -0
  17. package/dist/models/payment-request.model.d.ts.map +1 -1
  18. package/dist/models/payment-result.model.d.ts +8 -0
  19. package/dist/models/payment-result.model.d.ts.map +1 -1
  20. package/dist/providers/nexi/nexi.provider.d.ts +21 -8
  21. package/dist/providers/nexi/nexi.provider.d.ts.map +1 -1
  22. package/dist/providers/nexi/nexi.provider.js +160 -44
  23. package/dist/providers/nexi/nexi.provider.js.map +1 -1
  24. package/dist/providers/paypal/paypal.provider.d.ts.map +1 -1
  25. package/dist/providers/paypal/paypal.provider.js +17 -0
  26. package/dist/providers/paypal/paypal.provider.js.map +1 -1
  27. package/dist/providers/satispay/satispay.provider.d.ts +15 -5
  28. package/dist/providers/satispay/satispay.provider.d.ts.map +1 -1
  29. package/dist/providers/satispay/satispay.provider.js +54 -13
  30. package/dist/providers/satispay/satispay.provider.js.map +1 -1
  31. package/package.json +9 -3
@@ -1 +1 @@
1
- {"version":3,"file":"checkout-event-bus.d.ts","sourceRoot":"","sources":["../../src/events/checkout-event-bus.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE7E;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsD;IAEhF,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAM3D,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQtD,IAAI,CACR,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC;CAKjB"}
1
+ {"version":3,"file":"checkout-event-bus.d.ts","sourceRoot":"","sources":["../../src/events/checkout-event-bus.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE7E;;;;;;;;;GASG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsD;IAEhF,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAM3D,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQtD,IAAI,CACR,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,WAAW,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC;CAKjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkout-event-bus.js","sourceRoot":"","sources":["../../src/events/checkout-event-bus.ts"],"names":[],"mappings":";;;AAmBA;;;;;;;;;GASG;AACH,MAAa,gBAAgB;IAA7B;QACmB,cAAS,GAA4C,IAAI,GAAG,EAAE,CAAC;IAwBlF,CAAC;IAtBC,EAAE,CAAC,KAAwB,EAAE,QAAuB;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,KAAwB,EAAE,QAAuB;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI,CACR,KAAwB,EACxB,OAAgD;QAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,WAAW,GAAyB,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;QAChF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;CACF;AAzBD,4CAyBC"}
1
+ {"version":3,"file":"checkout-event-bus.js","sourceRoot":"","sources":["../../src/events/checkout-event-bus.ts"],"names":[],"mappings":";;;AAoBA;;;;;;;;;GASG;AACH,MAAa,gBAAgB;IAA7B;QACmB,cAAS,GAA4C,IAAI,GAAG,EAAE,CAAC;IAwBlF,CAAC;IAtBC,EAAE,CAAC,KAAwB,EAAE,QAAuB;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,KAAwB,EAAE,QAAuB;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,IAAI,CACR,KAAwB,EACxB,OAAgD;QAEhD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,WAAW,GAAyB,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;QAChF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;CACF;AAzBD,4CAyBC"}
@@ -20,10 +20,14 @@ export interface IPaymentProvider {
20
20
  /** Issue a full or partial refund on a completed payment */
21
21
  refundPayment(paymentId: string, amount?: number): Promise<PaymentResult>;
22
22
  /**
23
- * Handle an incoming webhook notification from the provider.
24
- * Optional — implement only for providers that use the `webhook` flow.
23
+ * Handle an incoming webhook or server-to-server outcome notification from the provider.
24
+ * Optional — implement for providers that use the `webhook` flow or support
25
+ * server-to-server notifications.
25
26
  */
26
- handleWebhook?(body: Record<string, unknown>, headers: Record<string, string>): Promise<WebhookResult>;
27
+ handleWebhook?(body?: Record<string, unknown>, headers?: Record<string, string>, query?: Record<string, string>, context?: {
28
+ method?: string;
29
+ path?: string;
30
+ }): Promise<WebhookResult>;
27
31
  /**
28
32
  * Handle the redirect callback from the provider (query params from returnUrl).
29
33
  * Optional — implement only for providers that use the `redirect` flow.
@@ -1 +1 @@
1
- {"version":3,"file":"payment-provider.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/payment-provider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,8FAA8F;IAC9F,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE/D,mDAAmD;IACnD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEzF,2DAA2D;IAC3D,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE7D,4DAA4D;IAC5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1E;;;OAGG;IACH,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEvG;;;OAGG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"payment-provider.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/payment-provider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,8FAA8F;IAC9F,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE/D,mDAAmD;IACnD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEzF,2DAA2D;IAC3D,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE7D,4DAA4D;IAC5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1E;;;;OAIG;IACH,aAAa,CAAC,CACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1B;;;OAGG;IACH,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACxE"}
@@ -13,6 +13,8 @@ export interface PaymentRequest {
13
13
  returnUrl: string;
14
14
  /** URL to redirect the user to if the payment is cancelled */
15
15
  cancelUrl: string;
16
+ /** Optional webhook / server-to-server notification URL forwarded to providers that support it */
17
+ notifyUrl?: string;
16
18
  /** External order identifier from the merchant's system */
17
19
  orderId?: string;
18
20
  /** Arbitrary key-value pairs forwarded to the provider when supported */
@@ -1 +1 @@
1
- {"version":3,"file":"payment-request.model.d.ts","sourceRoot":"","sources":["../../src/models/payment-request.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IAEf,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAElB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"payment-request.model.d.ts","sourceRoot":"","sources":["../../src/models/payment-request.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IAEf,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IAEjB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAElB,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC"}
@@ -7,6 +7,10 @@ export interface PaymentResult {
7
7
  approvalUrl?: string;
8
8
  /** Current payment status (provider-specific string, e.g. 'COMPLETED', 'ACCEPTED') */
9
9
  status?: string;
10
+ /** Amount reported by the provider, major units (same unit as PaymentRequest.amount) */
11
+ amount?: number;
12
+ /** ISO 4217 alpha code reported by the provider (e.g. 'EUR') */
13
+ currency?: string;
10
14
  /** Error message if success is false */
11
15
  error?: string;
12
16
  /** Raw provider response — useful for debugging or provider-specific fields */
@@ -17,6 +21,10 @@ export interface WebhookResult {
17
21
  success: boolean;
18
22
  paymentId?: string;
19
23
  status?: string;
24
+ /** Amount reported by the provider, major units (same unit as PaymentRequest.amount) */
25
+ amount?: number;
26
+ /** ISO 4217 alpha code reported by the provider (e.g. 'EUR') */
27
+ currency?: string;
20
28
  error?: string;
21
29
  raw?: any;
22
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"payment-result.model.d.ts","sourceRoot":"","sources":["../../src/models/payment-result.model.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IAEjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+EAA+E;IAC/E,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,GAAG,CAAC;CACX"}
1
+ {"version":3,"file":"payment-result.model.d.ts","sourceRoot":"","sources":["../../src/models/payment-result.model.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IAEjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,+EAA+E;IAC/E,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,GAAG,CAAC;CACX"}
@@ -1,6 +1,6 @@
1
1
  import { BasePaymentProvider } from '../../abstract/base-payment-provider.abstract';
2
2
  import { PaymentRequest } from '../../models/payment-request.model';
3
- import { PaymentResult } from '../../models/payment-result.model';
3
+ import { PaymentResult, WebhookResult } from '../../models/payment-result.model';
4
4
  export interface NexiProviderConfig {
5
5
  merchantId: string;
6
6
  macKey: string;
@@ -23,6 +23,13 @@ export declare class NexiProvider extends BasePaymentProvider {
23
23
  readonly flow: "redirect";
24
24
  private readonly apiUrl;
25
25
  constructor(config: NexiProviderConfig);
26
+ /**
27
+ * Computes the SHA-1 MAC required by Nexi to authenticate the payment request.
28
+ * Format: `codTrans={val}divisa={val}importo={val}{macKey}`
29
+ *
30
+ * SHA-1 is used here because Nexi XPay mandates it for MAC computation.
31
+ */
32
+ private sha1;
26
33
  /**
27
34
  * Computes the SHA-1 MAC required by Nexi to authenticate the payment request.
28
35
  * Format: `codTrans={val}divisa={val}importo={val}{macKey}`
@@ -31,8 +38,8 @@ export declare class NexiProvider extends BasePaymentProvider {
31
38
  */
32
39
  private generateMac;
33
40
  /**
34
- * Computes the SHA-1 MAC for the status (getPaymentDetails) API call.
35
- * Format: `alias={alias}codTrans={codTrans}timestamp={timestamp}{macKey}`
41
+ * Computes the SHA-1 MAC for the status (bo/situazioneOrdine) API call.
42
+ * Format: `apiKey={alias}codiceTransazione={codiceTransazione}timeStamp={timeStamp}{macKey}`
36
43
  */
37
44
  private generateStatusMac;
38
45
  /**
@@ -41,23 +48,29 @@ export declare class NexiProvider extends BasePaymentProvider {
41
48
  */
42
49
  private generateRefundMac;
43
50
  /**
44
- * Verifies the SHA-1 MAC included in a Nexi POST-back response.
45
- * Format: `codTrans={val}esito={val}importo={val}divisa={val}{macKey}`
51
+ * Verifies the SHA-1 outcome MAC included in a Nexi POST-back response or server notification.
52
+ * Format: `codTrans={codTrans}esito={esito}importo={importo}divisa={divisa}data={data}orario={orario}codAut={codAut}{macKey}`
46
53
  */
47
54
  private verifyResponseMac;
55
+ private safeVerifyResponseMac;
48
56
  createPayment(request: PaymentRequest): Promise<PaymentResult>;
49
57
  /**
50
58
  * Validates the POST-back data from Nexi.
51
59
  * `data` is the query/body object sent by Nexi to the returnUrl.
52
- * The MAC is verified before the result is considered authoritative.
60
+ * The outcome MAC is mandatory and verified over all 7 fields before the result is considered authoritative.
53
61
  */
54
62
  executePayment(paymentId: string, data?: Record<string, string>): Promise<PaymentResult>;
63
+ /**
64
+ * Handles the incoming server-to-server outcome notification (urlpost) from Nexi.
65
+ * The outcome MAC is mandatory and verified over all 7 fields.
66
+ */
67
+ handleWebhook(body?: Record<string, unknown>, _headers?: Record<string, string>): Promise<WebhookResult>;
55
68
  getPaymentDetails(paymentId: string): Promise<PaymentResult>;
56
69
  refundPayment(paymentId: string, amount?: number): Promise<PaymentResult>;
57
70
  /**
58
71
  * Handles the POST-back from Nexi to the returnUrl.
59
- * Nexi sends `esito`, `codTrans`, `importo`, `divisa`, `mac`, etc. as query/body params.
60
- * The MAC is verified to ensure the response was not spoofed.
72
+ * Nexi sends `esito`, `codTrans`, `importo`, `divisa`, `mac`, `data`, `orario`, `codAut` etc.
73
+ * The outcome MAC is mandatory and verified over all 7 fields to ensure authenticity.
61
74
  */
62
75
  handleRedirect(query: Record<string, string>): Promise<PaymentResult>;
63
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nexi.provider.d.ts","sourceRoot":"","sources":["../../../src/providers/nexi/nexi.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,mBAAmB;IAMvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IALnC,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEH,MAAM,EAAE,kBAAkB;IAQvD;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAKnB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAYnB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAiCpE;;;;OAIG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAoCxF,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA2B5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkC/E;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;CAG5E"}
1
+ {"version":3,"file":"nexi.provider.d.ts","sourceRoot":"","sources":["../../../src/providers/nexi/nexi.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,qBAAa,YAAa,SAAQ,mBAAmB;IAMvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IALnC,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAEpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEH,MAAM,EAAE,kBAAkB;IAQvD;;;;;OAKG;IACH,OAAO,CAAC,IAAI;IAIZ;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,qBAAqB;IAiBvB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAqCpE;;;;OAIG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IA6C9F;;;OAGG;IACG,aAAa,CACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACpC,OAAO,CAAC,aAAa,CAAC;IAuCnB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA+E5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkC/E;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;CAG5E"}
@@ -61,34 +61,54 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
61
61
  *
62
62
  * SHA-1 is used here because Nexi XPay mandates it for MAC computation.
63
63
  */
64
- generateMac(codTrans, divisa, importoCents) {
65
- const raw = `codTrans=${codTrans}divisa=${divisa}importo=${importoCents}${this.config.macKey}`;
64
+ sha1(raw) {
66
65
  return crypto.createHash('sha1').update(raw).digest('hex');
67
66
  }
68
67
  /**
69
- * Computes the SHA-1 MAC for the status (getPaymentDetails) API call.
70
- * Format: `alias={alias}codTrans={codTrans}timestamp={timestamp}{macKey}`
68
+ * Computes the SHA-1 MAC required by Nexi to authenticate the payment request.
69
+ * Format: `codTrans={val}divisa={val}importo={val}{macKey}`
70
+ *
71
+ * SHA-1 is used here because Nexi XPay mandates it for MAC computation.
71
72
  */
72
- generateStatusMac(alias, codTrans, timestamp) {
73
- const raw = `alias=${alias}codTrans=${codTrans}timestamp=${timestamp}${this.config.macKey}`;
74
- return crypto.createHash('sha1').update(raw).digest('hex');
73
+ generateMac(codTrans, divisa, importoCents) {
74
+ return this.sha1(`codTrans=${codTrans}divisa=${divisa}importo=${importoCents}${this.config.macKey}`);
75
+ }
76
+ /**
77
+ * Computes the SHA-1 MAC for the status (bo/situazioneOrdine) API call.
78
+ * Format: `apiKey={alias}codiceTransazione={codiceTransazione}timeStamp={timeStamp}{macKey}`
79
+ */
80
+ generateStatusMac(alias, codiceTransazione, timeStamp) {
81
+ return this.sha1(`apiKey=${alias}codiceTransazione=${codiceTransazione}timeStamp=${timeStamp}${this.config.macKey}`);
75
82
  }
76
83
  /**
77
84
  * Computes the SHA-1 MAC for the refund (storno) API call.
78
85
  * Format: `alias={alias}codTrans={codTrans}importo={importo}timestamp={timestamp}{macKey}`
79
86
  */
80
87
  generateRefundMac(alias, codTrans, importo, timestamp) {
81
- const raw = `alias=${alias}codTrans=${codTrans}importo=${importo}timestamp=${timestamp}${this.config.macKey}`;
82
- return crypto.createHash('sha1').update(raw).digest('hex');
88
+ return this.sha1(`alias=${alias}codTrans=${codTrans}importo=${importo}timestamp=${timestamp}${this.config.macKey}`);
83
89
  }
84
90
  /**
85
- * Verifies the SHA-1 MAC included in a Nexi POST-back response.
86
- * Format: `codTrans={val}esito={val}importo={val}divisa={val}{macKey}`
91
+ * Verifies the SHA-1 outcome MAC included in a Nexi POST-back response or server notification.
92
+ * Format: `codTrans={codTrans}esito={esito}importo={importo}divisa={divisa}data={data}orario={orario}codAut={codAut}{macKey}`
87
93
  */
88
- verifyResponseMac(codTrans, esito, importo, divisa, mac) {
89
- const raw = `codTrans=${codTrans}esito=${esito}importo=${importo}divisa=${divisa}${this.config.macKey}`;
90
- const expected = crypto.createHash('sha1').update(raw).digest('hex');
91
- return crypto.timingSafeEqual(Buffer.from(expected, 'hex'), Buffer.from(mac, 'hex'));
94
+ verifyResponseMac(codTrans, esito, importo, divisa, dataStr, orario, codAut, mac) {
95
+ const raw = `codTrans=${codTrans}esito=${esito}importo=${importo}divisa=${divisa}` +
96
+ `data=${dataStr}orario=${orario}codAut=${codAut}${this.config.macKey}`;
97
+ const expected = this.sha1(raw);
98
+ const expBuf = Buffer.from(expected, 'hex');
99
+ const macBuf = Buffer.from(mac, 'hex');
100
+ if (expBuf.length !== macBuf.length || expBuf.length === 0) {
101
+ return false;
102
+ }
103
+ return crypto.timingSafeEqual(expBuf, macBuf);
104
+ }
105
+ safeVerifyResponseMac(codTrans, esito, importo, divisa, dataStr, orario, codAut, mac) {
106
+ try {
107
+ return this.verifyResponseMac(codTrans, esito, importo, divisa, dataStr, orario, codAut, mac);
108
+ }
109
+ catch {
110
+ return false;
111
+ }
92
112
  }
93
113
  async createPayment(request) {
94
114
  try {
@@ -104,6 +124,9 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
104
124
  url_back: request.cancelUrl,
105
125
  mac,
106
126
  };
127
+ if (request.notifyUrl) {
128
+ params.urlpost = request.notifyUrl;
129
+ }
107
130
  if (this.config.group) {
108
131
  params.gruppo = this.config.group;
109
132
  }
@@ -122,7 +145,7 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
122
145
  /**
123
146
  * Validates the POST-back data from Nexi.
124
147
  * `data` is the query/body object sent by Nexi to the returnUrl.
125
- * The MAC is verified before the result is considered authoritative.
148
+ * The outcome MAC is mandatory and verified over all 7 fields before the result is considered authoritative.
126
149
  */
127
150
  async executePayment(paymentId, data) {
128
151
  try {
@@ -130,28 +153,34 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
130
153
  const codTrans = data?.codTrans ?? paymentId;
131
154
  const importo = data?.importo ?? '';
132
155
  const divisa = data?.divisa ?? '';
156
+ const dataStr = data?.data ?? '';
157
+ const orario = data?.orario ?? '';
158
+ const codAut = data?.codAut ?? '';
133
159
  const mac = data?.mac ?? '';
134
- if (mac) {
135
- let macValid;
136
- try {
137
- macValid = this.verifyResponseMac(codTrans, esito, importo, divisa, mac);
138
- }
139
- catch {
140
- macValid = false;
141
- }
142
- if (!macValid) {
143
- return {
144
- success: false,
145
- paymentId: codTrans,
146
- status: 'FAILED',
147
- error: 'MAC verification failed: response may have been tampered with',
148
- };
149
- }
160
+ if (!mac) {
161
+ return {
162
+ success: false,
163
+ paymentId: codTrans,
164
+ status: 'FAILED',
165
+ error: 'MAC missing',
166
+ };
167
+ }
168
+ if (!this.safeVerifyResponseMac(codTrans, esito, importo, divisa, dataStr, orario, codAut, mac)) {
169
+ return {
170
+ success: false,
171
+ paymentId: codTrans,
172
+ status: 'FAILED',
173
+ error: 'MAC verification failed: response may have been tampered with',
174
+ };
150
175
  }
176
+ const amount = importo !== '' && !isNaN(Number(importo)) ? Number(importo) / 100 : undefined;
177
+ const currency = divisa === '978' ? 'EUR' : (divisa || undefined);
151
178
  return {
152
179
  success: esito === 'OK',
153
180
  paymentId: codTrans,
154
181
  status: esito === 'OK' ? 'COMPLETED' : 'FAILED',
182
+ amount,
183
+ currency,
155
184
  raw: data,
156
185
  };
157
186
  }
@@ -159,25 +188,112 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
159
188
  return this.errorResult(error, 'Failed to execute Nexi payment');
160
189
  }
161
190
  }
191
+ /**
192
+ * Handles the incoming server-to-server outcome notification (urlpost) from Nexi.
193
+ * The outcome MAC is mandatory and verified over all 7 fields.
194
+ */
195
+ async handleWebhook(body, _headers = {}) {
196
+ try {
197
+ if (!body) {
198
+ return { success: false, error: 'MAC verification failed' };
199
+ }
200
+ const f = (k) => String(body?.[k] ?? '');
201
+ const codTrans = f('codTrans');
202
+ const esito = f('esito');
203
+ const importo = f('importo');
204
+ const divisa = f('divisa');
205
+ const dataStr = f('data');
206
+ const orario = f('orario');
207
+ const codAut = f('codAut');
208
+ const mac = f('mac');
209
+ if (!mac || !this.safeVerifyResponseMac(codTrans, esito, importo, divisa, dataStr, orario, codAut, mac)) {
210
+ return {
211
+ success: false,
212
+ paymentId: codTrans || undefined,
213
+ error: 'MAC verification failed',
214
+ };
215
+ }
216
+ const amount = importo !== '' && !isNaN(Number(importo)) ? Number(importo) / 100 : undefined;
217
+ const currency = divisa === '978' ? 'EUR' : (divisa || undefined);
218
+ return {
219
+ success: esito === 'OK',
220
+ paymentId: codTrans,
221
+ status: esito === 'OK' ? 'COMPLETED' : 'FAILED',
222
+ amount,
223
+ currency,
224
+ raw: body,
225
+ };
226
+ }
227
+ catch (error) {
228
+ return { success: false, error: 'MAC verification failed' };
229
+ }
230
+ }
162
231
  async getPaymentDetails(paymentId) {
163
232
  try {
164
- const timestamp = new Date().toISOString();
165
- const mac = this.generateStatusMac(this.config.merchantId, paymentId, timestamp);
166
- const params = {
167
- alias: this.config.merchantId,
168
- codTrans: paymentId,
169
- timestamp,
233
+ const timeStamp = String(Date.now());
234
+ const mac = this.generateStatusMac(this.config.merchantId, paymentId, timeStamp);
235
+ const requestBody = {
236
+ apiKey: this.config.merchantId,
237
+ codiceTransazione: paymentId,
238
+ timeStamp,
170
239
  mac,
171
240
  };
172
- const response = await fetch(`${this.apiUrl}/ecomm/api/vas/igfs/status/plain`, {
241
+ const response = await fetch(`${this.apiUrl}/ecomm/api/bo/situazioneOrdine`, {
173
242
  method: 'POST',
174
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
175
- body: new URLSearchParams(params),
243
+ headers: { 'Content-Type': 'application/json' },
244
+ body: JSON.stringify(requestBody),
176
245
  });
177
246
  if (!response.ok)
178
247
  throw new Error(`Nexi API error: ${response.statusText}`);
179
248
  const result = await response.json();
180
- return { success: true, paymentId, status: result['status'], raw: result };
249
+ const esito = String(result['esito'] ?? '');
250
+ if (esito !== 'OK') {
251
+ const errMsg = result['errore']?.messaggio ?? 'Payment details request failed';
252
+ return { success: false, paymentId, error: errMsg, raw: result };
253
+ }
254
+ // Verify response MAC
255
+ const idOperazione = String(result['idOperazione'] ?? '');
256
+ const respTimeStamp = String(result['timeStamp'] ?? '');
257
+ const expectedMac = this.sha1(`esito=${esito}idOperazione=${idOperazione}timeStamp=${respTimeStamp}${this.config.macKey}`);
258
+ const respMac = String(result['mac'] ?? '');
259
+ const expBuf = Buffer.from(expectedMac, 'hex');
260
+ const macBuf = Buffer.from(respMac, 'hex');
261
+ let macValid = false;
262
+ try {
263
+ macValid = expBuf.length === macBuf.length && expBuf.length > 0 && crypto.timingSafeEqual(expBuf, macBuf);
264
+ }
265
+ catch {
266
+ macValid = false;
267
+ }
268
+ if (!macValid) {
269
+ return {
270
+ success: false,
271
+ paymentId,
272
+ error: 'MAC verification failed: response may have been tampered with',
273
+ raw: result,
274
+ };
275
+ }
276
+ const report = Array.isArray(result['report']) ? result['report'] : [];
277
+ const item = report.find((r) => r?.codiceTransazione === paymentId) ?? report[0];
278
+ if (!item) {
279
+ return {
280
+ success: false,
281
+ paymentId,
282
+ error: 'Report not found in Nexi response',
283
+ raw: result,
284
+ };
285
+ }
286
+ const stato = item.stato;
287
+ const amount = item.importo != null && !isNaN(Number(item.importo)) ? Number(item.importo) / 100 : undefined;
288
+ const currency = item.divisa === '978' ? 'EUR' : (item.divisa ? String(item.divisa) : undefined);
289
+ return {
290
+ success: true,
291
+ paymentId,
292
+ status: stato,
293
+ amount,
294
+ currency,
295
+ raw: result,
296
+ };
181
297
  }
182
298
  catch (error) {
183
299
  return this.errorResult(error, 'Failed to get Nexi payment details');
@@ -216,8 +332,8 @@ class NexiProvider extends base_payment_provider_abstract_1.BasePaymentProvider
216
332
  }
217
333
  /**
218
334
  * Handles the POST-back from Nexi to the returnUrl.
219
- * Nexi sends `esito`, `codTrans`, `importo`, `divisa`, `mac`, etc. as query/body params.
220
- * The MAC is verified to ensure the response was not spoofed.
335
+ * Nexi sends `esito`, `codTrans`, `importo`, `divisa`, `mac`, `data`, `orario`, `codAut` etc.
336
+ * The outcome MAC is mandatory and verified over all 7 fields to ensure authenticity.
221
337
  */
222
338
  async handleRedirect(query) {
223
339
  return this.executePayment(query['codTrans'] ?? '', query);
@@ -1 +1 @@
1
- {"version":3,"file":"nexi.provider.js","sourceRoot":"","sources":["../../../src/providers/nexi/nexi.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nexi.provider.js","sourceRoot":"","sources":["../../../src/providers/nexi/nexi.provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"paypal.provider.d.ts","sourceRoot":"","sources":["../../../src/providers/paypal/paypal.provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IAQzC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPnC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAEpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;gBAElB,MAAM,EAAE,oBAAoB;IAoBnD,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA0C9D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBzD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAiB5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAuD/E;;;OAGG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;CAU5E"}
1
+ {"version":3,"file":"paypal.provider.d.ts","sourceRoot":"","sources":["../../../src/providers/paypal/paypal.provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAClC;AAED;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,mBAAmB;IAQzC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPnC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAEpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,kBAAkB,CAAqB;gBAElB,MAAM,EAAE,oBAAoB;IAoBnD,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA0C9D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA6BzD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA2B5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAuD/E;;;OAGG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;CAU5E"}
@@ -71,11 +71,20 @@ class PayPalProvider extends base_payment_provider_abstract_1.BasePaymentProvide
71
71
  const { result: order } = await this.ordersController.captureOrder({
72
72
  id: paymentId,
73
73
  body: {},
74
+ prefer: 'return=representation',
74
75
  });
76
+ const pu = Array.isArray(order?.purchaseUnits)
77
+ ? order.purchaseUnits[0]
78
+ : undefined;
79
+ const money = pu?.payments?.captures?.[0]?.amount ?? pu?.amount;
80
+ const amount = money?.value != null && !isNaN(Number(money.value)) ? Number(money.value) : undefined;
81
+ const currency = typeof money?.currencyCode === 'string' ? money.currencyCode : undefined;
75
82
  return {
76
83
  success: order.status === 'COMPLETED',
77
84
  paymentId: order.id,
78
85
  status: order.status,
86
+ amount,
87
+ currency,
79
88
  raw: order,
80
89
  };
81
90
  }
@@ -88,10 +97,18 @@ class PayPalProvider extends base_payment_provider_abstract_1.BasePaymentProvide
88
97
  const { result: order } = await this.ordersController.getOrder({
89
98
  id: paymentId,
90
99
  });
100
+ const pu = Array.isArray(order?.purchaseUnits)
101
+ ? order.purchaseUnits[0]
102
+ : undefined;
103
+ const money = pu?.payments?.captures?.[0]?.amount ?? pu?.amount;
104
+ const amount = money?.value != null && !isNaN(Number(money.value)) ? Number(money.value) : undefined;
105
+ const currency = typeof money?.currencyCode === 'string' ? money.currencyCode : undefined;
91
106
  return {
92
107
  success: true,
93
108
  paymentId: order.id,
94
109
  status: order.status,
110
+ amount,
111
+ currency,
95
112
  raw: order,
96
113
  };
97
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"paypal.provider.js","sourceRoot":"","sources":["../../../src/providers/paypal/paypal.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paypal.provider.js","sourceRoot":"","sources":["../../../src/providers/paypal/paypal.provider.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,11 @@ export interface SatispayProviderConfig {
25
25
  * Example: 'https://myapp.com'
26
26
  */
27
27
  serverUrl?: string;
28
+ /**
29
+ * Path component for the callback webhook URL.
30
+ * @default '/checkout/satispay/webhook'
31
+ */
32
+ callbackPath?: string;
28
33
  /**
29
34
  * Custom transaction store for correlating webhooks with orders.
30
35
  * Defaults to InMemoryTransactionStore.
@@ -51,11 +56,13 @@ export declare class SatispayProvider extends BasePaymentProvider {
51
56
  * Satispay signs webhooks with their own RSA private key; we verify using
52
57
  * the corresponding public key supplied in `config.webhookPublicKey`.
53
58
  *
54
- * Returns `true` if the signature is valid, `false` otherwise.
55
- * If no `webhookPublicKey` is configured the check is skipped and `true`
56
- * is returned — callers should treat this as an unverified state.
59
+ * Supports (request-target) via context or headers, and verifies signature over
60
+ * headers with constant-time security.
57
61
  */
58
- private verifyWebhookSignature;
62
+ verifyWebhookSignature(bodyOrHeaders?: unknown, headersOrBody?: Record<string, string> | unknown, context?: {
63
+ method?: string;
64
+ path?: string;
65
+ }): boolean;
59
66
  private request;
60
67
  createPayment(request: PaymentRequest): Promise<PaymentResult>;
61
68
  /** For Satispay, execute is equivalent to a status check */
@@ -69,7 +76,10 @@ export declare class SatispayProvider extends BasePaymentProvider {
69
76
  * `config.webhookPublicKey` (when configured) before processing.
70
77
  * We then confirm the payment status via an authenticated API call.
71
78
  */
72
- handleWebhook(body: Record<string, unknown>, headers: Record<string, string>): Promise<WebhookResult>;
79
+ handleWebhook(body?: Record<string, unknown>, headers?: Record<string, string>, query?: Record<string, string>, context?: {
80
+ method?: string;
81
+ path?: string;
82
+ }): Promise<WebhookResult>;
73
83
  /**
74
84
  * Handles the redirect back to the merchant app after the Satispay flow.
75
85
  * Looks up the transaction by `order_id` in the store, then verifies status.
@@ -1 +1 @@
1
- {"version":3,"file":"satispay.provider.d.ts","sourceRoot":"","sources":["../../../src/providers/satispay/satispay.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAGjF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;CACtC;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,mBAAmB;IAO3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;gBAExB,MAAM,EAAE,sBAAsB;IAsB3D,OAAO,CAAC,qBAAqB;IAmC7B;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;YAgEhB,OAAO;IAsBf,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAyCpE,4DAA4D;IACtD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIzD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAc5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB/E;;;;;;OAMG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAwB3G;;;OAGG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;CA4B5E"}
1
+ {"version":3,"file":"satispay.provider.d.ts","sourceRoot":"","sources":["../../../src/providers/satispay/satispay.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAGjF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;CACtC;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,SAAQ,mBAAmB;IAO3C,OAAO,CAAC,QAAQ,CAAC,MAAM;IANnC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAEnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;gBAExB,MAAM,EAAE,sBAAsB;IAsB3D,OAAO,CAAC,qBAAqB;IAmC7B;;;;;;;OAOG;IACH,sBAAsB,CACpB,aAAa,CAAC,EAAE,OAAO,EACvB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,EAChD,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO;YA6FI,OAAO;IAsBf,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA0CpE,4DAA4D;IACtD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAIzD,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAqB5D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB/E;;;;;;OAMG;IACG,aAAa,CACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACpC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAClC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,aAAa,CAAC;IAkCzB;;;OAGG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;CA8B5E"}