@rovela-ai/sdk 0.24.1 → 0.25.1

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 (128) hide show
  1. package/dist/admin/api/index.d.ts +1 -0
  2. package/dist/admin/api/index.d.ts.map +1 -1
  3. package/dist/admin/api/index.js +2 -0
  4. package/dist/admin/api/index.js.map +1 -1
  5. package/dist/admin/api/payment-providers.d.ts +69 -0
  6. package/dist/admin/api/payment-providers.d.ts.map +1 -0
  7. package/dist/admin/api/payment-providers.js +206 -0
  8. package/dist/admin/api/payment-providers.js.map +1 -0
  9. package/dist/admin/api/settings.d.ts.map +1 -1
  10. package/dist/admin/api/settings.js +4 -1
  11. package/dist/admin/api/settings.js.map +1 -1
  12. package/dist/admin/components/OrderDetails.d.ts.map +1 -1
  13. package/dist/admin/components/OrderDetails.js +11 -2
  14. package/dist/admin/components/OrderDetails.js.map +1 -1
  15. package/dist/admin/components/PaymentProviderPanels.d.ts +2 -0
  16. package/dist/admin/components/PaymentProviderPanels.d.ts.map +1 -0
  17. package/dist/admin/components/PaymentProviderPanels.js +265 -0
  18. package/dist/admin/components/PaymentProviderPanels.js.map +1 -0
  19. package/dist/admin/components/PaymentSettings.d.ts.map +1 -1
  20. package/dist/admin/components/PaymentSettings.js +7 -20
  21. package/dist/admin/components/PaymentSettings.js.map +1 -1
  22. package/dist/admin/components/emails/EmailSendingPanel.d.ts.map +1 -1
  23. package/dist/admin/components/emails/EmailSendingPanel.js +2 -2
  24. package/dist/admin/components/emails/EmailSendingPanel.js.map +1 -1
  25. package/dist/admin/components/index.d.ts +1 -0
  26. package/dist/admin/components/index.d.ts.map +1 -1
  27. package/dist/admin/components/index.js +1 -0
  28. package/dist/admin/components/index.js.map +1 -1
  29. package/dist/admin/integrations/registry.d.ts.map +1 -1
  30. package/dist/admin/integrations/registry.js +5 -73
  31. package/dist/admin/integrations/registry.js.map +1 -1
  32. package/dist/cart/store.d.ts +4 -1
  33. package/dist/cart/store.d.ts.map +1 -1
  34. package/dist/cart/store.js +189 -161
  35. package/dist/cart/store.js.map +1 -1
  36. package/dist/checkout/api/index.d.ts +6 -0
  37. package/dist/checkout/api/index.d.ts.map +1 -1
  38. package/dist/checkout/api/index.js +6 -0
  39. package/dist/checkout/api/index.js.map +1 -1
  40. package/dist/checkout/api/manual.d.ts.map +1 -1
  41. package/dist/checkout/api/manual.js +5 -1
  42. package/dist/checkout/api/manual.js.map +1 -1
  43. package/dist/checkout/api/payment-methods.d.ts +23 -6
  44. package/dist/checkout/api/payment-methods.d.ts.map +1 -1
  45. package/dist/checkout/api/payment-methods.js +67 -8
  46. package/dist/checkout/api/payment-methods.js.map +1 -1
  47. package/dist/checkout/api/paypal-capture.d.ts +38 -0
  48. package/dist/checkout/api/paypal-capture.d.ts.map +1 -0
  49. package/dist/checkout/api/paypal-capture.js +126 -0
  50. package/dist/checkout/api/paypal-capture.js.map +1 -0
  51. package/dist/checkout/api/paypal-webhook.d.ts +24 -0
  52. package/dist/checkout/api/paypal-webhook.d.ts.map +1 -0
  53. package/dist/checkout/api/paypal-webhook.js +122 -0
  54. package/dist/checkout/api/paypal-webhook.js.map +1 -0
  55. package/dist/checkout/api/paypal.d.ts +30 -0
  56. package/dist/checkout/api/paypal.d.ts.map +1 -0
  57. package/dist/checkout/api/paypal.js +70 -0
  58. package/dist/checkout/api/paypal.js.map +1 -0
  59. package/dist/checkout/api/up2pay-ipn.d.ts +28 -0
  60. package/dist/checkout/api/up2pay-ipn.d.ts.map +1 -0
  61. package/dist/checkout/api/up2pay-ipn.js +88 -0
  62. package/dist/checkout/api/up2pay-ipn.js.map +1 -0
  63. package/dist/checkout/api/up2pay.d.ts +34 -0
  64. package/dist/checkout/api/up2pay.d.ts.map +1 -0
  65. package/dist/checkout/api/up2pay.js +82 -0
  66. package/dist/checkout/api/up2pay.js.map +1 -0
  67. package/dist/checkout/components/CheckoutFlow.d.ts.map +1 -1
  68. package/dist/checkout/components/CheckoutFlow.js +64 -9
  69. package/dist/checkout/components/CheckoutFlow.js.map +1 -1
  70. package/dist/checkout/components/PayPalCheckoutButtons.d.ts +32 -0
  71. package/dist/checkout/components/PayPalCheckoutButtons.d.ts.map +1 -0
  72. package/dist/checkout/components/PayPalCheckoutButtons.js +116 -0
  73. package/dist/checkout/components/PayPalCheckoutButtons.js.map +1 -0
  74. package/dist/checkout/components/index.d.ts +2 -0
  75. package/dist/checkout/components/index.d.ts.map +1 -1
  76. package/dist/checkout/components/index.js +1 -0
  77. package/dist/checkout/components/index.js.map +1 -1
  78. package/dist/checkout/components/payment-logos.d.ts +21 -0
  79. package/dist/checkout/components/payment-logos.d.ts.map +1 -0
  80. package/dist/checkout/components/payment-logos.js +21 -0
  81. package/dist/checkout/components/payment-logos.js.map +1 -0
  82. package/dist/checkout/hooks/useCheckout.d.ts.map +1 -1
  83. package/dist/checkout/hooks/useCheckout.js +160 -0
  84. package/dist/checkout/hooks/useCheckout.js.map +1 -1
  85. package/dist/checkout/server/confirm-order.d.ts +54 -0
  86. package/dist/checkout/server/confirm-order.d.ts.map +1 -0
  87. package/dist/checkout/server/confirm-order.js +147 -0
  88. package/dist/checkout/server/confirm-order.js.map +1 -0
  89. package/dist/checkout/server/external-checkout.d.ts +68 -0
  90. package/dist/checkout/server/external-checkout.d.ts.map +1 -0
  91. package/dist/checkout/server/external-checkout.js +187 -0
  92. package/dist/checkout/server/external-checkout.js.map +1 -0
  93. package/dist/checkout/server/paypal.d.ts +127 -0
  94. package/dist/checkout/server/paypal.d.ts.map +1 -0
  95. package/dist/checkout/server/paypal.js +274 -0
  96. package/dist/checkout/server/paypal.js.map +1 -0
  97. package/dist/checkout/server/up2pay.d.ts +152 -0
  98. package/dist/checkout/server/up2pay.d.ts.map +1 -0
  99. package/dist/checkout/server/up2pay.js +287 -0
  100. package/dist/checkout/server/up2pay.js.map +1 -0
  101. package/dist/checkout/types.d.ts +26 -1
  102. package/dist/checkout/types.d.ts.map +1 -1
  103. package/dist/core/db/queries.d.ts +68 -39
  104. package/dist/core/db/queries.d.ts.map +1 -1
  105. package/dist/core/db/queries.js +96 -0
  106. package/dist/core/db/queries.js.map +1 -1
  107. package/dist/core/db/schema.d.ts +210 -5
  108. package/dist/core/db/schema.d.ts.map +1 -1
  109. package/dist/core/db/schema.js +33 -0
  110. package/dist/core/db/schema.js.map +1 -1
  111. package/dist/core/i18n/messages/en.d.ts.map +1 -1
  112. package/dist/core/i18n/messages/en.js +6 -0
  113. package/dist/core/i18n/messages/en.js.map +1 -1
  114. package/dist/core/i18n/messages/fr.d.ts.map +1 -1
  115. package/dist/core/i18n/messages/fr.js +6 -0
  116. package/dist/core/i18n/messages/fr.js.map +1 -1
  117. package/docs/changelog/epoch-12-payment-providers.md +152 -0
  118. package/package.json +26 -2
  119. package/templates/store-template/.claude/skills/build-feature/SKILL.md +2 -1
  120. package/templates/store-template/app/api/admin/payments/paypal/route.ts +10 -0
  121. package/templates/store-template/app/api/admin/payments/up2pay/route.ts +10 -0
  122. package/templates/store-template/app/api/checkout/paypal/capture/route.ts +8 -0
  123. package/templates/store-template/app/api/checkout/paypal/return/route.ts +9 -0
  124. package/templates/store-template/app/api/checkout/paypal/route.ts +9 -0
  125. package/templates/store-template/app/api/checkout/paypal/webhook/route.ts +9 -0
  126. package/templates/store-template/app/api/checkout/up2pay/ipn/route.ts +8 -0
  127. package/templates/store-template/app/api/checkout/up2pay/route.ts +9 -0
  128. package/templates/store-template/package.json +2 -2
@@ -0,0 +1,152 @@
1
+ /**
2
+ * @rovela/sdk/checkout/server/up2pay
3
+ *
4
+ * Up2pay e-Transactions (Crédit Agricole, Paybox/Verifone lineage) — the
5
+ * hosted-payment-page provider. Two halves:
6
+ *
7
+ * 1. buildUp2payRedirect() — the HMAC-SHA512-signed form the browser
8
+ * auto-submits to the hosted payment page. The merchant's secret key
9
+ * (hex, generated in the Back-office Vision) signs the EXACT field
10
+ * string in field order; the hosted page handles card entry + 3DS2.
11
+ * 2. verifyUp2payIpnSignature() — the IPN (server-to-server callback) is
12
+ * the ONLY source of payment truth. Its params are RSA-SHA1-signed by
13
+ * the platform; we verify against the published public keys. Browser
14
+ * return URLs are NEVER trusted for order state.
15
+ *
16
+ * DSP2: PBX_SHOPPINGCART + PBX_BILLING are mandatory and participate in
17
+ * the HMAC. Test and production are separate platforms with separate keys.
18
+ *
19
+ * SECURITY INVARIANTS (do not weaken):
20
+ * - The HMAC secret never crosses a client boundary (server-only
21
+ * store_settings column, stripped from the admin settings GET).
22
+ * - IPN handling verifies: RSA signature, error code '00000', presence of
23
+ * an authorization number, and the amount AGAINST THE DB ORDER (the
24
+ * caller does the amount check — this module only verifies + parses).
25
+ * - `sign:K` must be the LAST field of PBX_RETOUR — fields after it are
26
+ * not covered by the platform's signature.
27
+ */
28
+ /** Hosted payment page (responsive "choix de paiement" page). Case-sensitive. */
29
+ declare const UP2PAY_PAYMENT_URLS: {
30
+ readonly production: "https://tpeweb.e-transactions.fr/php/";
31
+ readonly test: "https://preprod-tpeweb.e-transactions.fr/php/";
32
+ };
33
+ export type Up2payEnvironment = keyof typeof UP2PAY_PAYMENT_URLS;
34
+ /**
35
+ * The platform's IPN-signing PUBLIC keys, newest first. Verifone/Crédit
36
+ * Agricole rotate key pairs and their docs require supporting several keys
37
+ * simultaneously — the official CA modules ship exactly these two
38
+ * (pubkey.pem 2048-bit + pubkey_1024.pem legacy), cross-checked 2026-07-25
39
+ * against E-Transactions-CA/CMS-ETR-Magento-2.3.x and two independent
40
+ * open-source integrations (lexik/LexikPayboxBundle, pmhoudry/pythonPaybox).
41
+ */
42
+ export declare const UP2PAY_PUBLIC_KEYS: readonly string[];
43
+ /**
44
+ * Currency → ISO 4217 numeric code (PBX_DEVISE). Amounts are sent in the
45
+ * currency's minor unit (cents) — every supported currency here has 2
46
+ * decimals. An unsupported currency must REJECT checkout for this provider
47
+ * (never guess a currency code on a money path).
48
+ */
49
+ export declare const UP2PAY_CURRENCY_CODES: Record<string, string>;
50
+ /**
51
+ * The PBX_RETOUR contract — the fields the platform sends back on the IPN,
52
+ * in this order, with `sign:K` LAST (fields after the signature would not
53
+ * be signed). The IPN handler parses by these names.
54
+ */
55
+ export declare const UP2PAY_RETOUR = "amount:M;reference:R;auto:A;error:E;transaction:S;sign:K";
56
+ export interface Up2payCredentials {
57
+ site: string;
58
+ rang: string;
59
+ identifiant: string;
60
+ /** Hex secret from the Back-office Vision (per-platform: test ≠ prod). */
61
+ hmacKey: string;
62
+ environment: Up2payEnvironment;
63
+ }
64
+ /** Normalize a stored environment value; anything but 'production' is test. */
65
+ export declare function normalizeUp2payEnvironment(value: string | null | undefined): Up2payEnvironment;
66
+ /**
67
+ * Resolve usable credentials from the store settings row, or null when the
68
+ * provider isn't fully configured + enabled. The ONE availability gate —
69
+ * checkout's synthetic method entry and the POST route both go through it.
70
+ */
71
+ export declare function resolveUp2payCredentials(settings: {
72
+ up2paySite?: string | null;
73
+ up2payRang?: string | null;
74
+ up2payIdentifiant?: string | null;
75
+ up2payHmacKey?: string | null;
76
+ up2payEnvironment?: string | null;
77
+ up2payEnabled?: boolean | null;
78
+ } | null): Up2payCredentials | null;
79
+ /**
80
+ * HMAC-SHA512 over the exact `NAME=VALUE&…` field string, keyed with the
81
+ * BINARY decode of the hex secret. Uppercase hex output (PBX_HMAC).
82
+ */
83
+ export declare function computeUp2payHmac(message: string, hmacKeyHex: string): string;
84
+ export interface Up2payRedirectInput {
85
+ credentials: Up2payCredentials;
86
+ /** Order reference (up2pay_{uuid}) — round-trips via PBX_CMD / R. */
87
+ reference: string;
88
+ totalCents: number;
89
+ /** Uppercase ISO currency (must be in UP2PAY_CURRENCY_CODES). */
90
+ currency: string;
91
+ customerEmail: string;
92
+ /** Billing identity for the mandatory DSP2 PBX_BILLING block. */
93
+ billing: {
94
+ firstName: string;
95
+ lastName: string;
96
+ line1: string;
97
+ line2?: string | null;
98
+ postalCode?: string | null;
99
+ city: string;
100
+ /** ISO 3166-1 alpha-2. */
101
+ country: string;
102
+ };
103
+ /** Total item quantity (clamped to the protocol's 1..99). */
104
+ totalQuantity: number;
105
+ /** Browser return URLs (informational only — never a payment truth). */
106
+ effectueUrl: string;
107
+ refuseUrl: string;
108
+ annuleUrl: string;
109
+ attenteUrl: string;
110
+ /** The IPN URL — THE payment truth channel. */
111
+ ipnUrl: string;
112
+ /** Storefront locale for the payment page language (optional). */
113
+ locale?: string | null;
114
+ }
115
+ export interface Up2payRedirectForm {
116
+ url: string;
117
+ method: 'POST';
118
+ fields: Array<{
119
+ name: string;
120
+ value: string;
121
+ }>;
122
+ }
123
+ export declare class Up2payError extends Error {
124
+ constructor(message: string);
125
+ }
126
+ /**
127
+ * Build the signed hosted-page form. Field ORDER is load-bearing: the HMAC
128
+ * message must match the form field order exactly, values raw (never
129
+ * URL-encoded) — both are hard requirements of the platform.
130
+ */
131
+ export declare function buildUp2payRedirect(input: Up2payRedirectInput): Up2payRedirectForm;
132
+ export interface Up2payIpnResult {
133
+ valid: boolean;
134
+ /** Parsed (URL-decoded) fields, keyed by the PBX_RETOUR names. */
135
+ fields: Record<string, string>;
136
+ }
137
+ /**
138
+ * Verify the platform's RSA-SHA1 signature over an IPN param string.
139
+ *
140
+ * `raw` is the query string exactly as received (GET query, or the POST
141
+ * body when PBX_RUF1=POST) — NOT decoded. The signature ('sign', last
142
+ * param) covers every byte before `&sign=`; per the integration manual the
143
+ * transported message may carry an extra URL-encoding layer, so both the
144
+ * raw and the once-decoded data are attempted, against every published
145
+ * platform key. All attempts are strict RSA verifies — a forger needs a
146
+ * valid signature over SOME encoding of the data either way.
147
+ */
148
+ export declare function verifyUp2payIpnSignature(raw: string,
149
+ /** Override for tests only — production always uses the platform keys. */
150
+ publicKeys?: readonly string[]): Up2payIpnResult;
151
+ export {};
152
+ //# sourceMappingURL=up2pay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"up2pay.d.ts","sourceRoot":"","sources":["../../../src/checkout/server/up2pay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,287 @@
1
+ /**
2
+ * @rovela/sdk/checkout/server/up2pay
3
+ *
4
+ * Up2pay e-Transactions (Crédit Agricole, Paybox/Verifone lineage) — the
5
+ * hosted-payment-page provider. Two halves:
6
+ *
7
+ * 1. buildUp2payRedirect() — the HMAC-SHA512-signed form the browser
8
+ * auto-submits to the hosted payment page. The merchant's secret key
9
+ * (hex, generated in the Back-office Vision) signs the EXACT field
10
+ * string in field order; the hosted page handles card entry + 3DS2.
11
+ * 2. verifyUp2payIpnSignature() — the IPN (server-to-server callback) is
12
+ * the ONLY source of payment truth. Its params are RSA-SHA1-signed by
13
+ * the platform; we verify against the published public keys. Browser
14
+ * return URLs are NEVER trusted for order state.
15
+ *
16
+ * DSP2: PBX_SHOPPINGCART + PBX_BILLING are mandatory and participate in
17
+ * the HMAC. Test and production are separate platforms with separate keys.
18
+ *
19
+ * SECURITY INVARIANTS (do not weaken):
20
+ * - The HMAC secret never crosses a client boundary (server-only
21
+ * store_settings column, stripped from the admin settings GET).
22
+ * - IPN handling verifies: RSA signature, error code '00000', presence of
23
+ * an authorization number, and the amount AGAINST THE DB ORDER (the
24
+ * caller does the amount check — this module only verifies + parses).
25
+ * - `sign:K` must be the LAST field of PBX_RETOUR — fields after it are
26
+ * not covered by the platform's signature.
27
+ */
28
+ import { createHmac, createVerify } from 'crypto';
29
+ // =============================================================================
30
+ // Platform constants
31
+ // =============================================================================
32
+ /** Hosted payment page (responsive "choix de paiement" page). Case-sensitive. */
33
+ const UP2PAY_PAYMENT_URLS = {
34
+ production: 'https://tpeweb.e-transactions.fr/php/',
35
+ test: 'https://preprod-tpeweb.e-transactions.fr/php/',
36
+ };
37
+ /**
38
+ * The platform's IPN-signing PUBLIC keys, newest first. Verifone/Crédit
39
+ * Agricole rotate key pairs and their docs require supporting several keys
40
+ * simultaneously — the official CA modules ship exactly these two
41
+ * (pubkey.pem 2048-bit + pubkey_1024.pem legacy), cross-checked 2026-07-25
42
+ * against E-Transactions-CA/CMS-ETR-Magento-2.3.x and two independent
43
+ * open-source integrations (lexik/LexikPayboxBundle, pmhoudry/pythonPaybox).
44
+ */
45
+ export const UP2PAY_PUBLIC_KEYS = [
46
+ `-----BEGIN PUBLIC KEY-----
47
+ MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA16QmkNXsa4XjKqhMCF9k
48
+ L4gboAXZrpX9AXJhQFtpu65SEg7Ejht+5J7vztnZQrJ6o+Gy/N31Mj0+T/937OlO
49
+ Z/xH/SR40f93LuIYPXykoAelUWVJYe4HqLvtBKskOHBmy4KGYNB1QDtyFoYt4aSo
50
+ aBzPYJrjpoLlCqKhU4mnKxVZih4ZYvBUnrCEKt86VeTLUVlXy/xwyTNieiYGM/oV
51
+ 1PpCUlVfLqA7t2GQRZTrdyUwK8zEbMfFOA5acdX1exIGV8gFnj/BUFndA0SdMhfo
52
+ EDe9RFHELMEHxmSZjwqSyX81uNoIshY5YjMtJ6puCI8q7VJnB3+9W5OUll1127pt
53
+ 8wIDAQAB
54
+ -----END PUBLIC KEY-----`,
55
+ `-----BEGIN PUBLIC KEY-----
56
+ MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDe+hkicNP7ROHUssGNtHwiT2Ew
57
+ HFrSk/qwrcq8v5metRtTTFPE/nmzSkRnTs3GMpi57rBdxBBJW5W9cpNyGUh0jNXc
58
+ VrOSClpD5Ri2hER/GcNrxVRP7RlWOqB1C03q4QYmwjHZ+zlM4OUhCCAtSWflB4wC
59
+ Ka1g88CjFwRw/PB9kwIDAQAB
60
+ -----END PUBLIC KEY-----`,
61
+ ];
62
+ /**
63
+ * Currency → ISO 4217 numeric code (PBX_DEVISE). Amounts are sent in the
64
+ * currency's minor unit (cents) — every supported currency here has 2
65
+ * decimals. An unsupported currency must REJECT checkout for this provider
66
+ * (never guess a currency code on a money path).
67
+ */
68
+ export const UP2PAY_CURRENCY_CODES = {
69
+ EUR: '978',
70
+ USD: '840',
71
+ GBP: '826',
72
+ CHF: '756',
73
+ CAD: '124',
74
+ };
75
+ /** ISO 3166-1 alpha-2 → numeric, for PBX_BILLING <CountryCode> (3DS2). */
76
+ const COUNTRY_NUMERIC = {
77
+ FR: '250', BE: '056', CH: '756', LU: '442', DE: '276', AT: '040',
78
+ IT: '380', ES: '724', PT: '620', NL: '528', GB: '826', IE: '372',
79
+ US: '840', CA: '124', MC: '492', AD: '020', DK: '208', SE: '752',
80
+ NO: '578', FI: '246', IS: '352', PL: '616', CZ: '203', SK: '703',
81
+ HU: '348', RO: '642', BG: '100', GR: '300', HR: '191', SI: '705',
82
+ EE: '233', LV: '428', LT: '440', CY: '196', MT: '470', MA: '504',
83
+ TN: '788', DZ: '012', SN: '686', CI: '384', CM: '120', MG: '450',
84
+ MU: '480', RE: '638', GP: '312', MQ: '474', GF: '254', YT: '175',
85
+ NC: '540', PF: '258', AU: '036', NZ: '554', JP: '392', SG: '702',
86
+ HK: '344', AE: '784', IL: '376', TR: '792', BR: '076', MX: '484',
87
+ };
88
+ /** Storefront locale → PBX_LANGUE (payment page language). */
89
+ const LOCALE_TO_PBX_LANGUE = {
90
+ fr: 'FRA', en: 'GBR', es: 'ESP', it: 'ITA', de: 'DEU', nl: 'NLD', pt: 'PRT',
91
+ };
92
+ /**
93
+ * The PBX_RETOUR contract — the fields the platform sends back on the IPN,
94
+ * in this order, with `sign:K` LAST (fields after the signature would not
95
+ * be signed). The IPN handler parses by these names.
96
+ */
97
+ export const UP2PAY_RETOUR = 'amount:M;reference:R;auto:A;error:E;transaction:S;sign:K';
98
+ /** Normalize a stored environment value; anything but 'production' is test. */
99
+ export function normalizeUp2payEnvironment(value) {
100
+ return value === 'production' ? 'production' : 'test';
101
+ }
102
+ /**
103
+ * Resolve usable credentials from the store settings row, or null when the
104
+ * provider isn't fully configured + enabled. The ONE availability gate —
105
+ * checkout's synthetic method entry and the POST route both go through it.
106
+ */
107
+ export function resolveUp2payCredentials(settings) {
108
+ if (!settings?.up2payEnabled)
109
+ return null;
110
+ const site = settings.up2paySite?.trim();
111
+ const rang = settings.up2payRang?.trim();
112
+ const identifiant = settings.up2payIdentifiant?.trim();
113
+ const hmacKey = settings.up2payHmacKey?.trim();
114
+ if (!site || !rang || !identifiant || !hmacKey)
115
+ return null;
116
+ if (!/^[0-9a-fA-F]{40,}$/.test(hmacKey))
117
+ return null;
118
+ return {
119
+ site,
120
+ rang,
121
+ identifiant,
122
+ hmacKey,
123
+ environment: normalizeUp2payEnvironment(settings.up2payEnvironment),
124
+ };
125
+ }
126
+ // =============================================================================
127
+ // HMAC (merchant → platform)
128
+ // =============================================================================
129
+ /**
130
+ * HMAC-SHA512 over the exact `NAME=VALUE&…` field string, keyed with the
131
+ * BINARY decode of the hex secret. Uppercase hex output (PBX_HMAC).
132
+ */
133
+ export function computeUp2payHmac(message, hmacKeyHex) {
134
+ const key = Buffer.from(hmacKeyHex, 'hex');
135
+ return createHmac('sha512', key).update(message, 'utf8').digest('hex').toUpperCase();
136
+ }
137
+ // =============================================================================
138
+ // Redirect form builder
139
+ // =============================================================================
140
+ const escapeXml = (value) => value
141
+ .replace(/&/g, '&amp;')
142
+ .replace(/</g, '&lt;')
143
+ .replace(/>/g, '&gt;')
144
+ .replace(/"/g, '&quot;')
145
+ .replace(/'/g, '&apos;');
146
+ /** ANP: letters/digits/spaces/accents plus / - ' . (3DS2 name fields). */
147
+ const sanitizeAnp = (value, max) => value
148
+ .normalize('NFC')
149
+ .replace(/[^\p{L}\p{N}\s/'\-.]/gu, '')
150
+ .trim()
151
+ .slice(0, max);
152
+ /** ANS: printable chars, control chars stripped (address fields). */
153
+ const sanitizeAns = (value, max) => value
154
+ .normalize('NFC')
155
+ .replace(/[\x00-\x1f\x7f]/g, '')
156
+ .trim()
157
+ .slice(0, max);
158
+ export class Up2payError extends Error {
159
+ constructor(message) {
160
+ super(message);
161
+ this.name = 'Up2payError';
162
+ }
163
+ }
164
+ /**
165
+ * Build the signed hosted-page form. Field ORDER is load-bearing: the HMAC
166
+ * message must match the form field order exactly, values raw (never
167
+ * URL-encoded) — both are hard requirements of the platform.
168
+ */
169
+ export function buildUp2payRedirect(input) {
170
+ const { credentials } = input;
171
+ const devise = UP2PAY_CURRENCY_CODES[input.currency?.toUpperCase() ?? ''];
172
+ if (!devise) {
173
+ throw new Up2payError(`Currency ${input.currency} is not supported by Up2pay e-Transactions`);
174
+ }
175
+ if (!Number.isInteger(input.totalCents) || input.totalCents <= 0) {
176
+ throw new Up2payError('Invalid amount');
177
+ }
178
+ const firstName = sanitizeAnp(input.billing.firstName || 'Client', 30) || 'Client';
179
+ const lastName = sanitizeAnp(input.billing.lastName || 'Client', 30) || 'Client';
180
+ const countryNumeric = COUNTRY_NUMERIC[input.billing.country?.toUpperCase() ?? ''] ?? '250';
181
+ const billingXml = `<?xml version="1.0" encoding="utf-8"?><Billing><Address>` +
182
+ `<FirstName>${escapeXml(firstName)}</FirstName>` +
183
+ `<LastName>${escapeXml(lastName)}</LastName>` +
184
+ `<Address1>${escapeXml(sanitizeAns(input.billing.line1 || '-', 50) || '-')}</Address1>` +
185
+ (input.billing.line2 ? `<Address2>${escapeXml(sanitizeAns(input.billing.line2, 50))}</Address2>` : '') +
186
+ (input.billing.postalCode ? `<ZipCode>${escapeXml(sanitizeAns(input.billing.postalCode, 16))}</ZipCode>` : '') +
187
+ `<City>${escapeXml(sanitizeAns(input.billing.city || '-', 50) || '-')}</City>` +
188
+ `<CountryCode>${countryNumeric}</CountryCode>` +
189
+ `</Address></Billing>`;
190
+ const totalQuantity = Math.min(99, Math.max(1, Math.round(input.totalQuantity) || 1));
191
+ const shoppingCartXml = `<?xml version="1.0" encoding="utf-8"?><shoppingcart><total>` +
192
+ `<totalQuantity>${totalQuantity}</totalQuantity>` +
193
+ `</total></shoppingcart>`;
194
+ const langue = input.locale ? LOCALE_TO_PBX_LANGUE[input.locale] : undefined;
195
+ // Field order = HMAC message order = form order. Do not reorder.
196
+ const fields = [
197
+ { name: 'PBX_SITE', value: credentials.site },
198
+ { name: 'PBX_RANG', value: credentials.rang },
199
+ { name: 'PBX_IDENTIFIANT', value: credentials.identifiant },
200
+ { name: 'PBX_TOTAL', value: String(input.totalCents) },
201
+ { name: 'PBX_DEVISE', value: devise },
202
+ { name: 'PBX_CMD', value: input.reference },
203
+ { name: 'PBX_PORTEUR', value: input.customerEmail.slice(0, 120) },
204
+ { name: 'PBX_RETOUR', value: UP2PAY_RETOUR },
205
+ { name: 'PBX_HASH', value: 'SHA512' },
206
+ { name: 'PBX_TIME', value: new Date().toISOString() },
207
+ { name: 'PBX_EFFECTUE', value: input.effectueUrl },
208
+ { name: 'PBX_REFUSE', value: input.refuseUrl },
209
+ { name: 'PBX_ANNULE', value: input.annuleUrl },
210
+ { name: 'PBX_ATTENTE', value: input.attenteUrl },
211
+ { name: 'PBX_REPONDRE_A', value: input.ipnUrl },
212
+ { name: 'PBX_BILLING', value: billingXml },
213
+ { name: 'PBX_SHOPPINGCART', value: shoppingCartXml },
214
+ ...(langue ? [{ name: 'PBX_LANGUE', value: langue }] : []),
215
+ ];
216
+ const message = fields.map((f) => `${f.name}=${f.value}`).join('&');
217
+ fields.push({ name: 'PBX_HMAC', value: computeUp2payHmac(message, credentials.hmacKey) });
218
+ return {
219
+ url: UP2PAY_PAYMENT_URLS[credentials.environment],
220
+ method: 'POST',
221
+ fields,
222
+ };
223
+ }
224
+ const decodeParam = (value) => {
225
+ try {
226
+ return decodeURIComponent(value.replace(/\+/g, ' '));
227
+ }
228
+ catch {
229
+ return value;
230
+ }
231
+ };
232
+ /**
233
+ * Verify the platform's RSA-SHA1 signature over an IPN param string.
234
+ *
235
+ * `raw` is the query string exactly as received (GET query, or the POST
236
+ * body when PBX_RUF1=POST) — NOT decoded. The signature ('sign', last
237
+ * param) covers every byte before `&sign=`; per the integration manual the
238
+ * transported message may carry an extra URL-encoding layer, so both the
239
+ * raw and the once-decoded data are attempted, against every published
240
+ * platform key. All attempts are strict RSA verifies — a forger needs a
241
+ * valid signature over SOME encoding of the data either way.
242
+ */
243
+ export function verifyUp2payIpnSignature(raw,
244
+ /** Override for tests only — production always uses the platform keys. */
245
+ publicKeys = UP2PAY_PUBLIC_KEYS) {
246
+ const query = raw.startsWith('?') ? raw.slice(1) : raw;
247
+ const marker = query.lastIndexOf('&sign=');
248
+ if (marker === -1)
249
+ return { valid: false, fields: parseParams(query) };
250
+ const data = query.slice(0, marker);
251
+ const signature = Buffer.from(decodeParam(query.slice(marker + '&sign='.length)), 'base64');
252
+ if (signature.length === 0)
253
+ return { valid: false, fields: parseParams(data) };
254
+ const candidates = [data, decodeParam(data)];
255
+ let valid = false;
256
+ for (const candidate of candidates) {
257
+ for (const key of publicKeys) {
258
+ try {
259
+ const verifier = createVerify('RSA-SHA1');
260
+ verifier.update(candidate, 'utf8');
261
+ if (verifier.verify(key, signature)) {
262
+ valid = true;
263
+ break;
264
+ }
265
+ }
266
+ catch {
267
+ // try the next key
268
+ }
269
+ }
270
+ if (valid)
271
+ break;
272
+ }
273
+ return { valid, fields: parseParams(data) };
274
+ }
275
+ function parseParams(query) {
276
+ const out = {};
277
+ for (const segment of query.split('&')) {
278
+ if (!segment)
279
+ continue;
280
+ const eq = segment.indexOf('=');
281
+ if (eq === -1)
282
+ continue;
283
+ out[decodeParam(segment.slice(0, eq))] = decodeParam(segment.slice(eq + 1));
284
+ }
285
+ return out;
286
+ }
287
+ //# sourceMappingURL=up2pay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"up2pay.js","sourceRoot":"","sources":["../../../src/checkout/server/up2pay.ts"],"names":[],"mappings":"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"}
@@ -100,7 +100,10 @@ export interface CheckoutApiError {
100
100
  /** Error message */
101
101
  error: string;
102
102
  /** Error code for programmatic handling */
103
- code: 'EMPTY_CART' | 'INVALID_REQUEST' | 'STRIPE_NOT_CONFIGURED' | 'ACCOUNT_NOT_CONNECTED' | 'CHECKOUT_ERROR' | 'WEBHOOK_ERROR' | 'SIGNATURE_INVALID' | 'GUEST_CHECKOUT_DISABLED';
103
+ code: 'EMPTY_CART' | 'INVALID_REQUEST' | 'STRIPE_NOT_CONFIGURED' | 'ACCOUNT_NOT_CONNECTED' | 'CHECKOUT_ERROR' | 'WEBHOOK_ERROR' | 'SIGNATURE_INVALID' | 'GUEST_CHECKOUT_DISABLED'
104
+ /** External provider (PayPal/Up2pay): approval happened but the capture
105
+ * did not complete — the order stays pending, the shopper may retry. */
106
+ | 'PAYMENT_NOT_COMPLETED';
104
107
  }
105
108
  /**
106
109
  * Parameters for creating an order from a completed checkout session
@@ -679,6 +682,28 @@ export interface UseCheckoutReturn {
679
682
  * redirects to the success page — no Stripe involved.
680
683
  */
681
684
  checkoutManual: (paymentMethodId: string) => Promise<void>;
685
+ /**
686
+ * Start an Up2pay e-Transactions payment (SDK 0.25.0): creates the order
687
+ * server-side as 'pending', then auto-submits the signed form to the
688
+ * hosted payment page. The IPN confirms payment server-to-server.
689
+ */
690
+ checkoutUp2pay: () => Promise<void>;
691
+ /**
692
+ * Create the pending order + matching PayPal order (SDK 0.25.0). Returns
693
+ * the PayPal order id (for the Smart Buttons createOrder callback) and
694
+ * the approval link (the no-JS redirect fallback), or null on error.
695
+ */
696
+ createPaypalOrder: () => Promise<{
697
+ paypalOrderId: string;
698
+ approveUrl: string | null;
699
+ } | null>;
700
+ /**
701
+ * Capture an approved PayPal order server-side and redirect to the
702
+ * success page. Returns the order id, or null when not completed.
703
+ */
704
+ capturePaypalOrder: (paypalOrderId: string) => Promise<{
705
+ orderId: string;
706
+ } | null>;
682
707
  /** Whether checkout is in progress */
683
708
  isLoading: boolean;
684
709
  /** Last error (if any) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/checkout/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/checkout/types.ts"],"names":[],"mappings":"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"}