@spare-technologies/spare-link 0.1.0-beta.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +119 -81
- package/lib/commonjs/core/models/payment-return-params.js +245 -20
- package/lib/commonjs/core/models/payment-return-params.js.map +1 -1
- package/lib/commonjs/core/models/pending-session-record.js +2 -0
- package/lib/commonjs/core/models/pending-session-record.js.map +1 -0
- package/lib/commonjs/core/services/hosted-flow-controller.js +333 -0
- package/lib/commonjs/core/services/hosted-flow-controller.js.map +1 -0
- package/lib/commonjs/core/services/hosted-flow-state.js +96 -0
- package/lib/commonjs/core/services/hosted-flow-state.js.map +1 -0
- package/lib/commonjs/index.js +42 -164
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/internal/hosted/bridge-message.js +107 -0
- package/lib/commonjs/internal/hosted/bridge-message.js.map +1 -0
- package/lib/commonjs/internal/hosted/hosted-url.js +41 -0
- package/lib/commonjs/internal/hosted/hosted-url.js.map +1 -0
- package/lib/commonjs/internal/index.js +0 -7
- package/lib/commonjs/internal/index.js.map +1 -1
- package/lib/commonjs/internal/redact-uri.js +59 -15
- package/lib/commonjs/internal/redact-uri.js.map +1 -1
- package/lib/commonjs/internal/secure-store-pending-session-store.js +20 -25
- package/lib/commonjs/internal/secure-store-pending-session-store.js.map +1 -1
- package/lib/commonjs/internal/url-parts.js +145 -0
- package/lib/commonjs/internal/url-parts.js.map +1 -0
- package/lib/commonjs/public/index.js +0 -37
- package/lib/commonjs/public/index.js.map +1 -1
- package/lib/commonjs/public/payment-result.js +16 -4
- package/lib/commonjs/public/payment-result.js.map +1 -1
- package/lib/commonjs/public/recovery-result.js +7 -18
- package/lib/commonjs/public/recovery-result.js.map +1 -1
- package/lib/commonjs/public/spare-link-config.js +41 -16
- package/lib/commonjs/public/spare-link-config.js.map +1 -1
- package/lib/commonjs/public/spare-link-event.js +27 -33
- package/lib/commonjs/public/spare-link-event.js.map +1 -1
- package/lib/commonjs/public/spare-link-instance.js +67 -77
- package/lib/commonjs/public/spare-link-instance.js.map +1 -1
- package/lib/commonjs/public/spare-link-session.js +2 -9
- package/lib/commonjs/public/spare-link-session.js.map +1 -1
- package/lib/commonjs/public/spare-link.js +0 -12
- package/lib/commonjs/public/spare-link.js.map +1 -1
- package/lib/commonjs/ui/hooks/{use-payment-flow-state.js → use-hosted-flow-state.js} +4 -4
- package/lib/commonjs/ui/hooks/use-hosted-flow-state.js.map +1 -0
- package/lib/commonjs/ui/hosted/hosted-payment-page.js +177 -0
- package/lib/commonjs/ui/hosted/hosted-payment-page.js.map +1 -0
- package/lib/commonjs/ui/hosted/hosted-payment-webview.js +168 -0
- package/lib/commonjs/ui/hosted/hosted-payment-webview.js.map +1 -0
- package/lib/commonjs/ui/screens/index.js +3 -17
- package/lib/commonjs/ui/screens/index.js.map +1 -1
- package/lib/commonjs/ui/screens/page-unavailable-screen.js +101 -0
- package/lib/commonjs/ui/screens/page-unavailable-screen.js.map +1 -0
- package/lib/commonjs/ui/spare-link-host.js +220 -234
- package/lib/commonjs/ui/spare-link-host.js.map +1 -1
- package/lib/commonjs/ui/widgets/index.js +3 -10
- package/lib/commonjs/ui/widgets/index.js.map +1 -1
- package/lib/commonjs/version.js +7 -5
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/core/models/payment-return-params.js +235 -20
- package/lib/module/core/models/payment-return-params.js.map +1 -1
- package/lib/module/core/models/pending-session-record.js +2 -0
- package/lib/module/core/models/pending-session-record.js.map +1 -0
- package/lib/module/core/services/hosted-flow-controller.js +328 -0
- package/lib/module/core/services/hosted-flow-controller.js.map +1 -0
- package/lib/module/core/services/hosted-flow-state.js +91 -0
- package/lib/module/core/services/hosted-flow-state.js.map +1 -0
- package/lib/module/index.js +8 -22
- package/lib/module/index.js.map +1 -1
- package/lib/module/internal/hosted/bridge-message.js +104 -0
- package/lib/module/internal/hosted/bridge-message.js.map +1 -0
- package/lib/module/internal/hosted/hosted-url.js +36 -0
- package/lib/module/internal/hosted/hosted-url.js.map +1 -0
- package/lib/module/internal/index.js +0 -1
- package/lib/module/internal/index.js.map +1 -1
- package/lib/module/internal/redact-uri.js +59 -15
- package/lib/module/internal/redact-uri.js.map +1 -1
- package/lib/module/internal/secure-store-pending-session-store.js +20 -25
- package/lib/module/internal/secure-store-pending-session-store.js.map +1 -1
- package/lib/module/internal/url-parts.js +139 -0
- package/lib/module/internal/url-parts.js.map +1 -0
- package/lib/module/public/index.js +2 -3
- package/lib/module/public/index.js.map +1 -1
- package/lib/module/public/payment-result.js +16 -4
- package/lib/module/public/payment-result.js.map +1 -1
- package/lib/module/public/recovery-result.js +7 -17
- package/lib/module/public/recovery-result.js.map +1 -1
- package/lib/module/public/spare-link-config.js +42 -15
- package/lib/module/public/spare-link-config.js.map +1 -1
- package/lib/module/public/spare-link-event.js +27 -33
- package/lib/module/public/spare-link-event.js.map +1 -1
- package/lib/module/public/spare-link-instance.js +68 -72
- package/lib/module/public/spare-link-instance.js.map +1 -1
- package/lib/module/public/spare-link-session.js +2 -9
- package/lib/module/public/spare-link-session.js.map +1 -1
- package/lib/module/public/spare-link.js +1 -1
- package/lib/module/public/spare-link.js.map +1 -1
- package/lib/module/ui/hooks/{use-payment-flow-state.js → use-hosted-flow-state.js} +3 -3
- package/lib/module/ui/hooks/use-hosted-flow-state.js.map +1 -0
- package/lib/module/ui/hosted/hosted-payment-page.js +175 -0
- package/lib/module/ui/hosted/hosted-payment-page.js.map +1 -0
- package/lib/module/ui/hosted/hosted-payment-webview.js +163 -0
- package/lib/module/ui/hosted/hosted-payment-webview.js.map +1 -0
- package/lib/module/ui/screens/index.js +1 -3
- package/lib/module/ui/screens/index.js.map +1 -1
- package/lib/module/ui/screens/page-unavailable-screen.js +97 -0
- package/lib/module/ui/screens/page-unavailable-screen.js.map +1 -0
- package/lib/module/ui/spare-link-host.js +221 -236
- package/lib/module/ui/spare-link-host.js.map +1 -1
- package/lib/module/ui/widgets/index.js +1 -2
- package/lib/module/ui/widgets/index.js.map +1 -1
- package/lib/module/version.js +7 -5
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/commonjs/core/models/index.d.ts +1 -123
- package/lib/typescript/commonjs/core/models/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/core/models/payment-return-params.d.ts +91 -8
- package/lib/typescript/commonjs/core/models/payment-return-params.d.ts.map +1 -1
- package/lib/typescript/commonjs/core/models/pending-session-record.d.ts +11 -0
- package/lib/typescript/commonjs/core/models/pending-session-record.d.ts.map +1 -0
- package/lib/typescript/commonjs/core/services/hosted-flow-controller.d.ts +119 -0
- package/lib/typescript/commonjs/core/services/hosted-flow-controller.d.ts.map +1 -0
- package/lib/typescript/commonjs/core/services/hosted-flow-state.d.ts +75 -0
- package/lib/typescript/commonjs/core/services/hosted-flow-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +5 -14
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/internal/hosted/bridge-message.d.ts +44 -0
- package/lib/typescript/commonjs/internal/hosted/bridge-message.d.ts.map +1 -0
- package/lib/typescript/commonjs/internal/hosted/hosted-url.d.ts +30 -0
- package/lib/typescript/commonjs/internal/hosted/hosted-url.d.ts.map +1 -0
- package/lib/typescript/commonjs/internal/index.d.ts +0 -1
- package/lib/typescript/commonjs/internal/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/internal/redact-uri.d.ts +21 -1
- package/lib/typescript/commonjs/internal/redact-uri.d.ts.map +1 -1
- package/lib/typescript/commonjs/internal/secure-store-pending-session-store.d.ts +3 -2
- package/lib/typescript/commonjs/internal/secure-store-pending-session-store.d.ts.map +1 -1
- package/lib/typescript/commonjs/internal/url-parts.d.ts +46 -0
- package/lib/typescript/commonjs/internal/url-parts.d.ts.map +1 -0
- package/lib/typescript/commonjs/public/index.d.ts +4 -6
- package/lib/typescript/commonjs/public/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/public/payment-result.d.ts +50 -12
- package/lib/typescript/commonjs/public/payment-result.d.ts.map +1 -1
- package/lib/typescript/commonjs/public/recovery-result.d.ts +11 -20
- package/lib/typescript/commonjs/public/recovery-result.d.ts.map +1 -1
- package/lib/typescript/commonjs/public/spare-link-config.d.ts +13 -31
- package/lib/typescript/commonjs/public/spare-link-config.d.ts.map +1 -1
- package/lib/typescript/commonjs/public/spare-link-event.d.ts +29 -31
- package/lib/typescript/commonjs/public/spare-link-event.d.ts.map +1 -1
- package/lib/typescript/commonjs/public/spare-link-host-api.d.ts +1 -12
- package/lib/typescript/commonjs/public/spare-link-host-api.d.ts.map +1 -1
- package/lib/typescript/commonjs/public/spare-link-instance.d.ts +26 -20
- package/lib/typescript/commonjs/public/spare-link-instance.d.ts.map +1 -1
- package/lib/typescript/commonjs/public/spare-link-session.d.ts +3 -8
- package/lib/typescript/commonjs/public/spare-link-session.d.ts.map +1 -1
- package/lib/typescript/commonjs/public/spare-link.d.ts +1 -1
- package/lib/typescript/commonjs/public/spare-link.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/use-hosted-flow-state.d.ts +9 -0
- package/lib/typescript/commonjs/ui/hooks/use-hosted-flow-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hosted/hosted-payment-page.d.ts +17 -0
- package/lib/typescript/commonjs/ui/hosted/hosted-payment-page.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hosted/hosted-payment-webview.d.ts +43 -0
- package/lib/typescript/commonjs/ui/hosted/hosted-payment-webview.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/index.d.ts +1 -3
- package/lib/typescript/commonjs/ui/screens/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/page-unavailable-screen.d.ts +18 -0
- package/lib/typescript/commonjs/ui/screens/page-unavailable-screen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/spare-link-host.d.ts +4 -5
- package/lib/typescript/commonjs/ui/spare-link-host.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/widgets/index.d.ts +1 -2
- package/lib/typescript/commonjs/ui/widgets/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/version.d.ts +7 -5
- package/lib/typescript/commonjs/version.d.ts.map +1 -1
- package/lib/typescript/module/core/models/index.d.ts +1 -123
- package/lib/typescript/module/core/models/index.d.ts.map +1 -1
- package/lib/typescript/module/core/models/payment-return-params.d.ts +91 -8
- package/lib/typescript/module/core/models/payment-return-params.d.ts.map +1 -1
- package/lib/typescript/module/core/models/pending-session-record.d.ts +11 -0
- package/lib/typescript/module/core/models/pending-session-record.d.ts.map +1 -0
- package/lib/typescript/module/core/services/hosted-flow-controller.d.ts +119 -0
- package/lib/typescript/module/core/services/hosted-flow-controller.d.ts.map +1 -0
- package/lib/typescript/module/core/services/hosted-flow-state.d.ts +75 -0
- package/lib/typescript/module/core/services/hosted-flow-state.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +5 -14
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/internal/hosted/bridge-message.d.ts +44 -0
- package/lib/typescript/module/internal/hosted/bridge-message.d.ts.map +1 -0
- package/lib/typescript/module/internal/hosted/hosted-url.d.ts +30 -0
- package/lib/typescript/module/internal/hosted/hosted-url.d.ts.map +1 -0
- package/lib/typescript/module/internal/index.d.ts +0 -1
- package/lib/typescript/module/internal/index.d.ts.map +1 -1
- package/lib/typescript/module/internal/redact-uri.d.ts +21 -1
- package/lib/typescript/module/internal/redact-uri.d.ts.map +1 -1
- package/lib/typescript/module/internal/secure-store-pending-session-store.d.ts +3 -2
- package/lib/typescript/module/internal/secure-store-pending-session-store.d.ts.map +1 -1
- package/lib/typescript/module/internal/url-parts.d.ts +46 -0
- package/lib/typescript/module/internal/url-parts.d.ts.map +1 -0
- package/lib/typescript/module/public/index.d.ts +4 -6
- package/lib/typescript/module/public/index.d.ts.map +1 -1
- package/lib/typescript/module/public/payment-result.d.ts +50 -12
- package/lib/typescript/module/public/payment-result.d.ts.map +1 -1
- package/lib/typescript/module/public/recovery-result.d.ts +11 -20
- package/lib/typescript/module/public/recovery-result.d.ts.map +1 -1
- package/lib/typescript/module/public/spare-link-config.d.ts +13 -31
- package/lib/typescript/module/public/spare-link-config.d.ts.map +1 -1
- package/lib/typescript/module/public/spare-link-event.d.ts +29 -31
- package/lib/typescript/module/public/spare-link-event.d.ts.map +1 -1
- package/lib/typescript/module/public/spare-link-host-api.d.ts +1 -12
- package/lib/typescript/module/public/spare-link-host-api.d.ts.map +1 -1
- package/lib/typescript/module/public/spare-link-instance.d.ts +26 -20
- package/lib/typescript/module/public/spare-link-instance.d.ts.map +1 -1
- package/lib/typescript/module/public/spare-link-session.d.ts +3 -8
- package/lib/typescript/module/public/spare-link-session.d.ts.map +1 -1
- package/lib/typescript/module/public/spare-link.d.ts +1 -1
- package/lib/typescript/module/public/spare-link.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/use-hosted-flow-state.d.ts +9 -0
- package/lib/typescript/module/ui/hooks/use-hosted-flow-state.d.ts.map +1 -0
- package/lib/typescript/module/ui/hosted/hosted-payment-page.d.ts +17 -0
- package/lib/typescript/module/ui/hosted/hosted-payment-page.d.ts.map +1 -0
- package/lib/typescript/module/ui/hosted/hosted-payment-webview.d.ts +43 -0
- package/lib/typescript/module/ui/hosted/hosted-payment-webview.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/index.d.ts +1 -3
- package/lib/typescript/module/ui/screens/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/page-unavailable-screen.d.ts +18 -0
- package/lib/typescript/module/ui/screens/page-unavailable-screen.d.ts.map +1 -0
- package/lib/typescript/module/ui/spare-link-host.d.ts +4 -5
- package/lib/typescript/module/ui/spare-link-host.d.ts.map +1 -1
- package/lib/typescript/module/ui/widgets/index.d.ts +1 -2
- package/lib/typescript/module/ui/widgets/index.d.ts.map +1 -1
- package/lib/typescript/module/version.d.ts +7 -5
- package/lib/typescript/module/version.d.ts.map +1 -1
- package/package.json +24 -23
- package/plugins/with-spare-link.js +6 -26
- package/src/core/models/index.ts +1 -139
- package/src/core/models/payment-return-params.ts +269 -21
- package/src/core/models/pending-session-record.ts +10 -0
- package/src/core/services/hosted-flow-controller.ts +374 -0
- package/src/core/services/hosted-flow-state.ts +123 -0
- package/src/index.ts +20 -89
- package/src/internal/hosted/bridge-message.ts +106 -0
- package/src/internal/hosted/hosted-url.ts +33 -0
- package/src/internal/index.ts +0 -1
- package/src/internal/redact-uri.ts +69 -15
- package/src/internal/secure-store-pending-session-store.ts +28 -49
- package/src/internal/url-parts.ts +134 -0
- package/src/public/index.ts +2 -24
- package/src/public/payment-result.ts +50 -12
- package/src/public/recovery-result.ts +16 -25
- package/src/public/spare-link-config.ts +56 -43
- package/src/public/spare-link-event.ts +33 -42
- package/src/public/spare-link-host-api.ts +1 -14
- package/src/public/spare-link-instance.ts +57 -65
- package/src/public/spare-link-session.ts +4 -16
- package/src/public/spare-link.ts +1 -1
- package/src/ui/hooks/use-hosted-flow-state.ts +16 -0
- package/src/ui/hosted/hosted-payment-page.tsx +178 -0
- package/src/ui/hosted/hosted-payment-webview.tsx +164 -0
- package/src/ui/screens/index.ts +4 -6
- package/src/ui/screens/page-unavailable-screen.tsx +94 -0
- package/src/ui/spare-link-host.tsx +227 -247
- package/src/ui/widgets/index.ts +1 -2
- package/src/version.ts +7 -5
- package/CHANGELOG.md +0 -66
- package/lib/commonjs/core/client/link-api-client.js +0 -297
- package/lib/commonjs/core/client/link-api-client.js.map +0 -1
- package/lib/commonjs/core/errors/payment-api-error.js +0 -35
- package/lib/commonjs/core/errors/payment-api-error.js.map +0 -1
- package/lib/commonjs/core/models/link-session-status.js +0 -14
- package/lib/commonjs/core/models/link-session-status.js.map +0 -1
- package/lib/commonjs/core/models/payment-type.js +0 -45
- package/lib/commonjs/core/models/payment-type.js.map +0 -1
- package/lib/commonjs/core/models/wire-mappers.js +0 -277
- package/lib/commonjs/core/models/wire-mappers.js.map +0 -1
- package/lib/commonjs/core/services/consent-presenter.js +0 -150
- package/lib/commonjs/core/services/consent-presenter.js.map +0 -1
- package/lib/commonjs/core/services/execute-resume-if-needed.js +0 -216
- package/lib/commonjs/core/services/execute-resume-if-needed.js.map +0 -1
- package/lib/commonjs/core/services/multi-payment-rules-presenter.js +0 -151
- package/lib/commonjs/core/services/multi-payment-rules-presenter.js.map +0 -1
- package/lib/commonjs/core/services/payment-flow-controller.js +0 -547
- package/lib/commonjs/core/services/payment-flow-controller.js.map +0 -1
- package/lib/commonjs/core/services/payment-flow-state.js +0 -110
- package/lib/commonjs/core/services/payment-flow-state.js.map +0 -1
- package/lib/commonjs/core/services/payment-result-mapper.js +0 -49
- package/lib/commonjs/core/services/payment-result-mapper.js.map +0 -1
- package/lib/commonjs/core/services/presentation-utils.js +0 -11
- package/lib/commonjs/core/services/presentation-utils.js.map +0 -1
- package/lib/commonjs/core/services/redirect-buffer.js +0 -40
- package/lib/commonjs/core/services/redirect-buffer.js.map +0 -1
- package/lib/commonjs/core/services/user-friendly-messages.js +0 -46
- package/lib/commonjs/core/services/user-friendly-messages.js.map +0 -1
- package/lib/commonjs/internal/telemetry-collector.js +0 -80
- package/lib/commonjs/internal/telemetry-collector.js.map +0 -1
- package/lib/commonjs/public/constants.js +0 -21
- package/lib/commonjs/public/constants.js.map +0 -1
- package/lib/commonjs/public/spare-link-callbacks.js +0 -6
- package/lib/commonjs/public/spare-link-callbacks.js.map +0 -1
- package/lib/commonjs/ui/consent/charge-bearer-display.js +0 -99
- package/lib/commonjs/ui/consent/charge-bearer-display.js.map +0 -1
- package/lib/commonjs/ui/consent/consent-accordion.js +0 -94
- package/lib/commonjs/ui/consent/consent-accordion.js.map +0 -1
- package/lib/commonjs/ui/consent/consent-summary-section.js +0 -27
- package/lib/commonjs/ui/consent/consent-summary-section.js.map +0 -1
- package/lib/commonjs/ui/consent/cop-information.js +0 -168
- package/lib/commonjs/ui/consent/cop-information.js.map +0 -1
- package/lib/commonjs/ui/consent/international-payment-summary.js +0 -98
- package/lib/commonjs/ui/consent/international-payment-summary.js.map +0 -1
- package/lib/commonjs/ui/consent/label-value-rows.js +0 -59
- package/lib/commonjs/ui/consent/label-value-rows.js.map +0 -1
- package/lib/commonjs/ui/consent/multi-payment-rules-list.js +0 -130
- package/lib/commonjs/ui/consent/multi-payment-rules-list.js.map +0 -1
- package/lib/commonjs/ui/consent/multi-payment-summary.js +0 -99
- package/lib/commonjs/ui/consent/multi-payment-summary.js.map +0 -1
- package/lib/commonjs/ui/consent/single-payment-summary.js +0 -158
- package/lib/commonjs/ui/consent/single-payment-summary.js.map +0 -1
- package/lib/commonjs/ui/consent/terms-link.js +0 -35
- package/lib/commonjs/ui/consent/terms-link.js.map +0 -1
- package/lib/commonjs/ui/hooks/use-payment-flow-state.js.map +0 -1
- package/lib/commonjs/ui/payment-flow-page.js +0 -235
- package/lib/commonjs/ui/payment-flow-page.js.map +0 -1
- package/lib/commonjs/ui/screens/bank-selection-screen.js +0 -215
- package/lib/commonjs/ui/screens/bank-selection-screen.js.map +0 -1
- package/lib/commonjs/ui/screens/consent-details-screen.js +0 -124
- package/lib/commonjs/ui/screens/consent-details-screen.js.map +0 -1
- package/lib/commonjs/ui/screens/mandate-setup-success-screen.js +0 -79
- package/lib/commonjs/ui/screens/mandate-setup-success-screen.js.map +0 -1
- package/lib/commonjs/ui/widgets/layout-w-header.js +0 -106
- package/lib/commonjs/ui/widgets/layout-w-header.js.map +0 -1
- package/lib/commonjs/ui/widgets/stepper.js +0 -124
- package/lib/commonjs/ui/widgets/stepper.js.map +0 -1
- package/lib/module/core/client/link-api-client.js +0 -292
- package/lib/module/core/client/link-api-client.js.map +0 -1
- package/lib/module/core/errors/payment-api-error.js +0 -29
- package/lib/module/core/errors/payment-api-error.js.map +0 -1
- package/lib/module/core/models/link-session-status.js +0 -10
- package/lib/module/core/models/link-session-status.js.map +0 -1
- package/lib/module/core/models/payment-type.js +0 -36
- package/lib/module/core/models/payment-type.js.map +0 -1
- package/lib/module/core/models/wire-mappers.js +0 -263
- package/lib/module/core/models/wire-mappers.js.map +0 -1
- package/lib/module/core/services/consent-presenter.js +0 -140
- package/lib/module/core/services/consent-presenter.js.map +0 -1
- package/lib/module/core/services/execute-resume-if-needed.js +0 -211
- package/lib/module/core/services/execute-resume-if-needed.js.map +0 -1
- package/lib/module/core/services/multi-payment-rules-presenter.js +0 -146
- package/lib/module/core/services/multi-payment-rules-presenter.js.map +0 -1
- package/lib/module/core/services/payment-flow-controller.js +0 -544
- package/lib/module/core/services/payment-flow-controller.js.map +0 -1
- package/lib/module/core/services/payment-flow-state.js +0 -106
- package/lib/module/core/services/payment-flow-state.js.map +0 -1
- package/lib/module/core/services/payment-result-mapper.js +0 -45
- package/lib/module/core/services/payment-result-mapper.js.map +0 -1
- package/lib/module/core/services/presentation-utils.js +0 -7
- package/lib/module/core/services/presentation-utils.js.map +0 -1
- package/lib/module/core/services/redirect-buffer.js +0 -33
- package/lib/module/core/services/redirect-buffer.js.map +0 -1
- package/lib/module/core/services/user-friendly-messages.js +0 -42
- package/lib/module/core/services/user-friendly-messages.js.map +0 -1
- package/lib/module/internal/telemetry-collector.js +0 -75
- package/lib/module/internal/telemetry-collector.js.map +0 -1
- package/lib/module/public/constants.js +0 -17
- package/lib/module/public/constants.js.map +0 -1
- package/lib/module/public/spare-link-callbacks.js +0 -4
- package/lib/module/public/spare-link-callbacks.js.map +0 -1
- package/lib/module/ui/consent/charge-bearer-display.js +0 -95
- package/lib/module/ui/consent/charge-bearer-display.js.map +0 -1
- package/lib/module/ui/consent/consent-accordion.js +0 -90
- package/lib/module/ui/consent/consent-accordion.js.map +0 -1
- package/lib/module/ui/consent/consent-summary-section.js +0 -23
- package/lib/module/ui/consent/consent-summary-section.js.map +0 -1
- package/lib/module/ui/consent/cop-information.js +0 -165
- package/lib/module/ui/consent/cop-information.js.map +0 -1
- package/lib/module/ui/consent/international-payment-summary.js +0 -94
- package/lib/module/ui/consent/international-payment-summary.js.map +0 -1
- package/lib/module/ui/consent/label-value-rows.js +0 -55
- package/lib/module/ui/consent/label-value-rows.js.map +0 -1
- package/lib/module/ui/consent/multi-payment-rules-list.js +0 -125
- package/lib/module/ui/consent/multi-payment-rules-list.js.map +0 -1
- package/lib/module/ui/consent/multi-payment-summary.js +0 -95
- package/lib/module/ui/consent/multi-payment-summary.js.map +0 -1
- package/lib/module/ui/consent/single-payment-summary.js +0 -154
- package/lib/module/ui/consent/single-payment-summary.js.map +0 -1
- package/lib/module/ui/consent/terms-link.js +0 -31
- package/lib/module/ui/consent/terms-link.js.map +0 -1
- package/lib/module/ui/hooks/use-payment-flow-state.js.map +0 -1
- package/lib/module/ui/payment-flow-page.js +0 -232
- package/lib/module/ui/payment-flow-page.js.map +0 -1
- package/lib/module/ui/screens/bank-selection-screen.js +0 -211
- package/lib/module/ui/screens/bank-selection-screen.js.map +0 -1
- package/lib/module/ui/screens/consent-details-screen.js +0 -120
- package/lib/module/ui/screens/consent-details-screen.js.map +0 -1
- package/lib/module/ui/screens/mandate-setup-success-screen.js +0 -75
- package/lib/module/ui/screens/mandate-setup-success-screen.js.map +0 -1
- package/lib/module/ui/widgets/layout-w-header.js +0 -102
- package/lib/module/ui/widgets/layout-w-header.js.map +0 -1
- package/lib/module/ui/widgets/stepper.js +0 -120
- package/lib/module/ui/widgets/stepper.js.map +0 -1
- package/lib/typescript/commonjs/core/client/link-api-client.d.ts +0 -70
- package/lib/typescript/commonjs/core/client/link-api-client.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/errors/payment-api-error.d.ts +0 -15
- package/lib/typescript/commonjs/core/errors/payment-api-error.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/models/link-session-status.d.ts +0 -6
- package/lib/typescript/commonjs/core/models/link-session-status.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/models/payment-type.d.ts +0 -18
- package/lib/typescript/commonjs/core/models/payment-type.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/models/wire-mappers.d.ts +0 -19
- package/lib/typescript/commonjs/core/models/wire-mappers.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/services/consent-presenter.d.ts +0 -67
- package/lib/typescript/commonjs/core/services/consent-presenter.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/services/execute-resume-if-needed.d.ts +0 -32
- package/lib/typescript/commonjs/core/services/execute-resume-if-needed.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/services/multi-payment-rules-presenter.d.ts +0 -9
- package/lib/typescript/commonjs/core/services/multi-payment-rules-presenter.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/services/payment-flow-controller.d.ts +0 -146
- package/lib/typescript/commonjs/core/services/payment-flow-controller.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/services/payment-flow-state.d.ts +0 -64
- package/lib/typescript/commonjs/core/services/payment-flow-state.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/services/payment-result-mapper.d.ts +0 -5
- package/lib/typescript/commonjs/core/services/payment-result-mapper.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/services/presentation-utils.d.ts +0 -5
- package/lib/typescript/commonjs/core/services/presentation-utils.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/services/redirect-buffer.d.ts +0 -6
- package/lib/typescript/commonjs/core/services/redirect-buffer.d.ts.map +0 -1
- package/lib/typescript/commonjs/core/services/user-friendly-messages.d.ts +0 -6
- package/lib/typescript/commonjs/core/services/user-friendly-messages.d.ts.map +0 -1
- package/lib/typescript/commonjs/internal/telemetry-collector.d.ts +0 -2
- package/lib/typescript/commonjs/internal/telemetry-collector.d.ts.map +0 -1
- package/lib/typescript/commonjs/public/constants.d.ts +0 -12
- package/lib/typescript/commonjs/public/constants.d.ts.map +0 -1
- package/lib/typescript/commonjs/public/spare-link-callbacks.d.ts +0 -14
- package/lib/typescript/commonjs/public/spare-link-callbacks.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/consent/charge-bearer-display.d.ts +0 -5
- package/lib/typescript/commonjs/ui/consent/charge-bearer-display.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/consent/consent-accordion.d.ts +0 -10
- package/lib/typescript/commonjs/ui/consent/consent-accordion.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/consent/consent-summary-section.d.ts +0 -6
- package/lib/typescript/commonjs/ui/consent/consent-summary-section.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/consent/cop-information.d.ts +0 -6
- package/lib/typescript/commonjs/ui/consent/cop-information.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/consent/international-payment-summary.d.ts +0 -6
- package/lib/typescript/commonjs/ui/consent/international-payment-summary.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/consent/label-value-rows.d.ts +0 -10
- package/lib/typescript/commonjs/ui/consent/label-value-rows.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/consent/multi-payment-rules-list.d.ts +0 -15
- package/lib/typescript/commonjs/ui/consent/multi-payment-rules-list.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/consent/multi-payment-summary.d.ts +0 -6
- package/lib/typescript/commonjs/ui/consent/multi-payment-summary.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/consent/single-payment-summary.d.ts +0 -6
- package/lib/typescript/commonjs/ui/consent/single-payment-summary.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/consent/terms-link.d.ts +0 -2
- package/lib/typescript/commonjs/ui/consent/terms-link.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/hooks/use-payment-flow-state.d.ts +0 -9
- package/lib/typescript/commonjs/ui/hooks/use-payment-flow-state.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/payment-flow-page.d.ts +0 -20
- package/lib/typescript/commonjs/ui/payment-flow-page.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/bank-selection-screen.d.ts +0 -15
- package/lib/typescript/commonjs/ui/screens/bank-selection-screen.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/consent-details-screen.d.ts +0 -13
- package/lib/typescript/commonjs/ui/screens/consent-details-screen.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/screens/mandate-setup-success-screen.d.ts +0 -10
- package/lib/typescript/commonjs/ui/screens/mandate-setup-success-screen.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/widgets/layout-w-header.d.ts +0 -20
- package/lib/typescript/commonjs/ui/widgets/layout-w-header.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/widgets/stepper.d.ts +0 -15
- package/lib/typescript/commonjs/ui/widgets/stepper.d.ts.map +0 -1
- package/lib/typescript/module/core/client/link-api-client.d.ts +0 -70
- package/lib/typescript/module/core/client/link-api-client.d.ts.map +0 -1
- package/lib/typescript/module/core/errors/payment-api-error.d.ts +0 -15
- package/lib/typescript/module/core/errors/payment-api-error.d.ts.map +0 -1
- package/lib/typescript/module/core/models/link-session-status.d.ts +0 -6
- package/lib/typescript/module/core/models/link-session-status.d.ts.map +0 -1
- package/lib/typescript/module/core/models/payment-type.d.ts +0 -18
- package/lib/typescript/module/core/models/payment-type.d.ts.map +0 -1
- package/lib/typescript/module/core/models/wire-mappers.d.ts +0 -19
- package/lib/typescript/module/core/models/wire-mappers.d.ts.map +0 -1
- package/lib/typescript/module/core/services/consent-presenter.d.ts +0 -67
- package/lib/typescript/module/core/services/consent-presenter.d.ts.map +0 -1
- package/lib/typescript/module/core/services/execute-resume-if-needed.d.ts +0 -32
- package/lib/typescript/module/core/services/execute-resume-if-needed.d.ts.map +0 -1
- package/lib/typescript/module/core/services/multi-payment-rules-presenter.d.ts +0 -9
- package/lib/typescript/module/core/services/multi-payment-rules-presenter.d.ts.map +0 -1
- package/lib/typescript/module/core/services/payment-flow-controller.d.ts +0 -146
- package/lib/typescript/module/core/services/payment-flow-controller.d.ts.map +0 -1
- package/lib/typescript/module/core/services/payment-flow-state.d.ts +0 -64
- package/lib/typescript/module/core/services/payment-flow-state.d.ts.map +0 -1
- package/lib/typescript/module/core/services/payment-result-mapper.d.ts +0 -5
- package/lib/typescript/module/core/services/payment-result-mapper.d.ts.map +0 -1
- package/lib/typescript/module/core/services/presentation-utils.d.ts +0 -5
- package/lib/typescript/module/core/services/presentation-utils.d.ts.map +0 -1
- package/lib/typescript/module/core/services/redirect-buffer.d.ts +0 -6
- package/lib/typescript/module/core/services/redirect-buffer.d.ts.map +0 -1
- package/lib/typescript/module/core/services/user-friendly-messages.d.ts +0 -6
- package/lib/typescript/module/core/services/user-friendly-messages.d.ts.map +0 -1
- package/lib/typescript/module/internal/telemetry-collector.d.ts +0 -2
- package/lib/typescript/module/internal/telemetry-collector.d.ts.map +0 -1
- package/lib/typescript/module/public/constants.d.ts +0 -12
- package/lib/typescript/module/public/constants.d.ts.map +0 -1
- package/lib/typescript/module/public/spare-link-callbacks.d.ts +0 -14
- package/lib/typescript/module/public/spare-link-callbacks.d.ts.map +0 -1
- package/lib/typescript/module/ui/consent/charge-bearer-display.d.ts +0 -5
- package/lib/typescript/module/ui/consent/charge-bearer-display.d.ts.map +0 -1
- package/lib/typescript/module/ui/consent/consent-accordion.d.ts +0 -10
- package/lib/typescript/module/ui/consent/consent-accordion.d.ts.map +0 -1
- package/lib/typescript/module/ui/consent/consent-summary-section.d.ts +0 -6
- package/lib/typescript/module/ui/consent/consent-summary-section.d.ts.map +0 -1
- package/lib/typescript/module/ui/consent/cop-information.d.ts +0 -6
- package/lib/typescript/module/ui/consent/cop-information.d.ts.map +0 -1
- package/lib/typescript/module/ui/consent/international-payment-summary.d.ts +0 -6
- package/lib/typescript/module/ui/consent/international-payment-summary.d.ts.map +0 -1
- package/lib/typescript/module/ui/consent/label-value-rows.d.ts +0 -10
- package/lib/typescript/module/ui/consent/label-value-rows.d.ts.map +0 -1
- package/lib/typescript/module/ui/consent/multi-payment-rules-list.d.ts +0 -15
- package/lib/typescript/module/ui/consent/multi-payment-rules-list.d.ts.map +0 -1
- package/lib/typescript/module/ui/consent/multi-payment-summary.d.ts +0 -6
- package/lib/typescript/module/ui/consent/multi-payment-summary.d.ts.map +0 -1
- package/lib/typescript/module/ui/consent/single-payment-summary.d.ts +0 -6
- package/lib/typescript/module/ui/consent/single-payment-summary.d.ts.map +0 -1
- package/lib/typescript/module/ui/consent/terms-link.d.ts +0 -2
- package/lib/typescript/module/ui/consent/terms-link.d.ts.map +0 -1
- package/lib/typescript/module/ui/hooks/use-payment-flow-state.d.ts +0 -9
- package/lib/typescript/module/ui/hooks/use-payment-flow-state.d.ts.map +0 -1
- package/lib/typescript/module/ui/payment-flow-page.d.ts +0 -20
- package/lib/typescript/module/ui/payment-flow-page.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/bank-selection-screen.d.ts +0 -15
- package/lib/typescript/module/ui/screens/bank-selection-screen.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/consent-details-screen.d.ts +0 -13
- package/lib/typescript/module/ui/screens/consent-details-screen.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/mandate-setup-success-screen.d.ts +0 -10
- package/lib/typescript/module/ui/screens/mandate-setup-success-screen.d.ts.map +0 -1
- package/lib/typescript/module/ui/widgets/layout-w-header.d.ts +0 -20
- package/lib/typescript/module/ui/widgets/layout-w-header.d.ts.map +0 -1
- package/lib/typescript/module/ui/widgets/stepper.d.ts +0 -15
- package/lib/typescript/module/ui/widgets/stepper.d.ts.map +0 -1
- package/src/core/client/link-api-client.ts +0 -414
- package/src/core/errors/payment-api-error.ts +0 -35
- package/src/core/models/link-session-status.ts +0 -7
- package/src/core/models/payment-type.ts +0 -54
- package/src/core/models/wire-mappers.ts +0 -315
- package/src/core/services/consent-presenter.ts +0 -213
- package/src/core/services/execute-resume-if-needed.ts +0 -243
- package/src/core/services/multi-payment-rules-presenter.ts +0 -158
- package/src/core/services/payment-flow-controller.ts +0 -607
- package/src/core/services/payment-flow-state.ts +0 -124
- package/src/core/services/payment-result-mapper.ts +0 -41
- package/src/core/services/presentation-utils.ts +0 -4
- package/src/core/services/redirect-buffer.ts +0 -34
- package/src/core/services/user-friendly-messages.ts +0 -39
- package/src/internal/telemetry-collector.ts +0 -90
- package/src/public/constants.ts +0 -14
- package/src/public/spare-link-callbacks.ts +0 -20
- package/src/ui/consent/charge-bearer-display.tsx +0 -68
- package/src/ui/consent/consent-accordion.tsx +0 -89
- package/src/ui/consent/consent-summary-section.tsx +0 -19
- package/src/ui/consent/cop-information.tsx +0 -121
- package/src/ui/consent/international-payment-summary.tsx +0 -83
- package/src/ui/consent/label-value-rows.tsx +0 -50
- package/src/ui/consent/multi-payment-rules-list.tsx +0 -138
- package/src/ui/consent/multi-payment-summary.tsx +0 -82
- package/src/ui/consent/single-payment-summary.tsx +0 -123
- package/src/ui/consent/terms-link.tsx +0 -27
- package/src/ui/hooks/use-payment-flow-state.ts +0 -16
- package/src/ui/payment-flow-page.tsx +0 -254
- package/src/ui/screens/bank-selection-screen.tsx +0 -209
- package/src/ui/screens/consent-details-screen.tsx +0 -106
- package/src/ui/screens/mandate-setup-success-screen.tsx +0 -72
- package/src/ui/widgets/layout-w-header.tsx +0 -89
- package/src/ui/widgets/stepper.tsx +0 -126
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["launchBankRedirect","defaultLaunchBankRedirect","parseHostedBridgeMessage","createLogger","readPaymentReturn","HostedFlowStates","isTerminalPhase","log","DEFAULT_READY_TIMEOUT_MS","HostedFlowController","listeners","Set","constructor","options","reference","bankLauncher","url","authorizationUrl","readyTimeoutMs","currentState","loading","reportPageMounted","phase","watchForReadiness","state","subscribe","listener","add","delete","handleBridgeMessage","raw","message","info","isPagePresented","type","stopWatchingForReadiness","moveTo","hosted","attempt","openBank","cancelled","failed","errorCode","code","handleReturn","uri","outcome","report","undefined","warning","succeeded","abandoned","failToLoad","severe","unreachable","retry","giveUp","abandon","dispose","clear","readyTimer","setTimeout","clearTimeout","redirecting","awaitingCallback","next"],"sourceRoot":"../../../../src","sources":["core/services/hosted-flow-controller.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Where a hosted payment has got to.
|
|
5
|
+
*
|
|
6
|
+
* The phases the payer spends most of their time in — choosing a bank, reading
|
|
7
|
+
* the consent, confirming the payee — are all `hosted`: they happen inside the
|
|
8
|
+
* page, which does not report them, and the SDK has nothing to decide there.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/** Immutable snapshot of a hosted payment. */
|
|
12
|
+
|
|
13
|
+
const TERMINAL_PHASES = new Set(['succeeded', 'failed', 'cancelled', 'abandoned']);
|
|
14
|
+
export function isTerminalPhase(phase) {
|
|
15
|
+
return TERMINAL_PHASES.has(phase);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** Factories for each phase, so no caller assembles a state by hand. */
|
|
19
|
+
export const HostedFlowStates = {
|
|
20
|
+
loading(reference, attempt = 1) {
|
|
21
|
+
return {
|
|
22
|
+
phase: 'loading',
|
|
23
|
+
reference,
|
|
24
|
+
attempt
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
hosted(reference, attempt = 1) {
|
|
28
|
+
return {
|
|
29
|
+
phase: 'hosted',
|
|
30
|
+
reference,
|
|
31
|
+
attempt
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
unreachable(reference, attempt = 1) {
|
|
35
|
+
return {
|
|
36
|
+
phase: 'unreachable',
|
|
37
|
+
reference,
|
|
38
|
+
attempt
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
redirecting(reference, attempt = 1) {
|
|
42
|
+
return {
|
|
43
|
+
phase: 'redirecting',
|
|
44
|
+
reference,
|
|
45
|
+
attempt
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
awaitingCallback(reference, attempt = 1) {
|
|
49
|
+
return {
|
|
50
|
+
phase: 'awaitingCallback',
|
|
51
|
+
reference,
|
|
52
|
+
attempt
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
succeeded(args) {
|
|
56
|
+
return {
|
|
57
|
+
phase: 'succeeded',
|
|
58
|
+
reference: args.reference,
|
|
59
|
+
attempt: args.attempt ?? 1,
|
|
60
|
+
...(args.report ? {
|
|
61
|
+
report: args.report
|
|
62
|
+
} : {})
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
failed(args) {
|
|
66
|
+
return {
|
|
67
|
+
phase: 'failed',
|
|
68
|
+
reference: args.reference,
|
|
69
|
+
errorCode: args.errorCode,
|
|
70
|
+
attempt: args.attempt ?? 1,
|
|
71
|
+
...(args.report ? {
|
|
72
|
+
report: args.report
|
|
73
|
+
} : {})
|
|
74
|
+
};
|
|
75
|
+
},
|
|
76
|
+
cancelled(reference, attempt = 1) {
|
|
77
|
+
return {
|
|
78
|
+
phase: 'cancelled',
|
|
79
|
+
reference,
|
|
80
|
+
attempt
|
|
81
|
+
};
|
|
82
|
+
},
|
|
83
|
+
abandoned(reference, attempt = 1) {
|
|
84
|
+
return {
|
|
85
|
+
phase: 'abandoned',
|
|
86
|
+
reference,
|
|
87
|
+
attempt
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=hosted-flow-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TERMINAL_PHASES","Set","isTerminalPhase","phase","has","HostedFlowStates","loading","reference","attempt","hosted","unreachable","redirecting","awaitingCallback","succeeded","args","report","failed","errorCode","cancelled","abandoned"],"sourceRoot":"../../../../src","sources":["core/services/hosted-flow-state.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwBA;;AA8BA,MAAMA,eAA6C,GAAG,IAAIC,GAAG,CAAkB,CAC7E,WAAW,EACX,QAAQ,EACR,WAAW,EACX,WAAW,CACZ,CAAC;AAEF,OAAO,SAASC,eAAeA,CAACC,KAAsB,EAAW;EAC/D,OAAOH,eAAe,CAACI,GAAG,CAACD,KAAK,CAAC;AACnC;;AAEA;AACA,OAAO,MAAME,gBAAgB,GAAG;EAC9BC,OAAOA,CAACC,SAAiB,EAAEC,OAAO,GAAG,CAAC,EAAmB;IACvD,OAAO;MAAEL,KAAK,EAAE,SAAS;MAAEI,SAAS;MAAEC;IAAQ,CAAC;EACjD,CAAC;EACDC,MAAMA,CAACF,SAAiB,EAAEC,OAAO,GAAG,CAAC,EAAmB;IACtD,OAAO;MAAEL,KAAK,EAAE,QAAQ;MAAEI,SAAS;MAAEC;IAAQ,CAAC;EAChD,CAAC;EACDE,WAAWA,CAACH,SAAiB,EAAEC,OAAO,GAAG,CAAC,EAAmB;IAC3D,OAAO;MAAEL,KAAK,EAAE,aAAa;MAAEI,SAAS;MAAEC;IAAQ,CAAC;EACrD,CAAC;EACDG,WAAWA,CAACJ,SAAiB,EAAEC,OAAO,GAAG,CAAC,EAAmB;IAC3D,OAAO;MAAEL,KAAK,EAAE,aAAa;MAAEI,SAAS;MAAEC;IAAQ,CAAC;EACrD,CAAC;EACDI,gBAAgBA,CAACL,SAAiB,EAAEC,OAAO,GAAG,CAAC,EAAmB;IAChE,OAAO;MAAEL,KAAK,EAAE,kBAAkB;MAAEI,SAAS;MAAEC;IAAQ,CAAC;EAC1D,CAAC;EACDK,SAASA,CAACC,IAIT,EAAmB;IAClB,OAAO;MACLX,KAAK,EAAE,WAAW;MAClBI,SAAS,EAAEO,IAAI,CAACP,SAAS;MACzBC,OAAO,EAAEM,IAAI,CAACN,OAAO,IAAI,CAAC;MAC1B,IAAIM,IAAI,CAACC,MAAM,GAAG;QAAEA,MAAM,EAAED,IAAI,CAACC;MAAO,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;EACH,CAAC;EACDC,MAAMA,CAACF,IAKN,EAAmB;IAClB,OAAO;MACLX,KAAK,EAAE,QAAQ;MACfI,SAAS,EAAEO,IAAI,CAACP,SAAS;MACzBU,SAAS,EAAEH,IAAI,CAACG,SAAS;MACzBT,OAAO,EAAEM,IAAI,CAACN,OAAO,IAAI,CAAC;MAC1B,IAAIM,IAAI,CAACC,MAAM,GAAG;QAAEA,MAAM,EAAED,IAAI,CAACC;MAAO,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;EACH,CAAC;EACDG,SAASA,CAACX,SAAiB,EAAEC,OAAO,GAAG,CAAC,EAAmB;IACzD,OAAO;MAAEL,KAAK,EAAE,WAAW;MAAEI,SAAS;MAAEC;IAAQ,CAAC;EACnD,CAAC;EACDW,SAASA,CAACZ,SAAiB,EAAEC,OAAO,GAAG,CAAC,EAAmB;IACzD,OAAO;MAAEL,KAAK,EAAE,WAAW;MAAEI,SAAS;MAAEC;IAAQ,CAAC;EACnD;AACF,CAAU","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -5,36 +5,22 @@
|
|
|
5
5
|
export { SDK_VERSION } from "./version.js";
|
|
6
6
|
export * from "./public/index.js";
|
|
7
7
|
|
|
8
|
-
// Errors
|
|
9
|
-
export { PaymentApiError, isPaymentApiError } from "./core/errors/payment-api-error.js";
|
|
10
|
-
|
|
11
|
-
// Models (camelCase SDK shapes)
|
|
12
|
-
|
|
13
8
|
// Bank-return URI helpers (handy for hosts implementing their own deep-link
|
|
14
9
|
// router that needs to know whether a URI belongs to the payment flow).
|
|
15
|
-
export { isPaymentReturnCallbackUri, extractPaymentReturnErrorCode } from "./core/models/payment-return-params.js";
|
|
10
|
+
export { isPaymentReturnCallbackUri, readPaymentReturn, extractPaymentReturnErrorCode, extractPaymentReturnErrorDescription, extractPaymentReturnErrorReason, extractPaymentReturnPaymentId, extractPaymentReturnMandateId, extractPaymentReturnReference, extractPaymentReturnMerchantRef, extractPaymentReturnSignature, isPaymentReturnSuccess, paymentReturnParams } from "./core/models/payment-return-params.js";
|
|
16
11
|
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
//
|
|
21
|
-
|
|
22
|
-
export { PaymentFlowStates } from "./core/services/payment-flow-state.js";
|
|
12
|
+
// Types a caller reads off a result or a state, without the machinery that
|
|
13
|
+
// produces them. The orchestration internals — the controller, the raw webview,
|
|
14
|
+
// the phase hook, the individual screens — are deliberately not exported: they
|
|
15
|
+
// are how `SpareLinkHost` is built, not a surface anyone should build against,
|
|
16
|
+
// and exporting them makes every internal rename a breaking change.
|
|
23
17
|
|
|
24
18
|
// Storage interface
|
|
25
19
|
|
|
26
|
-
//
|
|
27
|
-
export { presentConsent, summaryFromState, formatAmount, formatCop } from "./core/services/consent-presenter.js";
|
|
28
|
-
export { buildMultiPaymentRules, rulesSectionTitle } from "./core/services/multi-payment-rules-presenter.js";
|
|
29
|
-
export { isMultiPayment, isInternational, supportsConfirmationOfPayee, resolvedPaymentType, consentUiVariant, PaymentType } from "./core/models/payment-type.js";
|
|
30
|
-
|
|
31
|
-
// UI surface
|
|
20
|
+
// UI surface: one component to mount, and the theme to match it.
|
|
32
21
|
export { SpareLinkHost } from "./ui/spare-link-host.js";
|
|
33
|
-
export { PaymentFlowPage } from "./ui/payment-flow-page.js";
|
|
34
|
-
export { usePaymentFlowState } from "./ui/hooks/use-payment-flow-state.js";
|
|
35
|
-
export { BankSelectionScreen, ConsentDetailsScreen, RedirectHandoffScreen, ResumeProcessingScreen, ResultScreen, MandateSetupSuccessScreen } from "./ui/screens/index.js";
|
|
36
22
|
export { Colors, Typography, Spacing, FONT_FAMILY } from "./ui/theme/index.js";
|
|
37
23
|
|
|
38
24
|
// Native platform integration
|
|
39
|
-
export {
|
|
25
|
+
export { launchBankRedirect, SecureStorePendingSessionStore, useSpareLinkDeepLinks } from "./internal/index.js";
|
|
40
26
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SDK_VERSION","
|
|
1
|
+
{"version":3,"names":["SDK_VERSION","isPaymentReturnCallbackUri","readPaymentReturn","extractPaymentReturnErrorCode","extractPaymentReturnErrorDescription","extractPaymentReturnErrorReason","extractPaymentReturnPaymentId","extractPaymentReturnMandateId","extractPaymentReturnReference","extractPaymentReturnMerchantRef","extractPaymentReturnSignature","isPaymentReturnSuccess","paymentReturnParams","SpareLinkHost","Colors","Typography","Spacing","FONT_FAMILY","launchBankRedirect","SecureStorePendingSessionStore","useSpareLinkDeepLinks"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;;AAEA,SAASA,WAAW,QAAQ,cAAW;AAEvC,cAAc,mBAAU;;AAExB;AACA;AACA,SAEEC,0BAA0B,EAC1BC,iBAAiB,EACjBC,6BAA6B,EAC7BC,oCAAoC,EACpCC,+BAA+B,EAC/BC,6BAA6B,EAC7BC,6BAA6B,EAC7BC,6BAA6B,EAC7BC,+BAA+B,EAC/BC,6BAA6B,EAC7BC,sBAAsB,EACtBC,mBAAmB,QACd,wCAAqC;;AAE5C;AACA;AACA;AACA;AACA;;AAGA;;AAIA;AACA,SAASC,aAAa,QAAiC,yBAAsB;AAC7E,SAASC,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEC,WAAW,QAAQ,qBAAY;;AAErE;AACA,SACEC,kBAAkB,EAElBC,8BAA8B,EAC9BC,qBAAqB,QAChB,qBAAY","ignoreList":[]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { parseUrlParts } from "../url-parts.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Messages the hosted payment page sends to this SDK.
|
|
7
|
+
*
|
|
8
|
+
* The contract is one-way. The page never waits on a reply, so a message this
|
|
9
|
+
* version does not recognise is dropped rather than treated as a failure — the
|
|
10
|
+
* page continues, and a newer page stays usable by an older app.
|
|
11
|
+
*
|
|
12
|
+
* The page posts to `window.ReactNativeWebView.postMessage` as a JSON string,
|
|
13
|
+
* which arrives here as `event.nativeEvent.data`.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/** The payable page is interactive. */
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A consent exists and the bank must now be opened outside the WebView.
|
|
20
|
+
*
|
|
21
|
+
* Banks commonly refuse to serve their authorization pages inside an embedded
|
|
22
|
+
* browser, and the address bar is what lets a payer tell a real bank page from
|
|
23
|
+
* a convincing copy.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/** The payer cancelled, and the request is already rejected server-side. */
|
|
27
|
+
|
|
28
|
+
/** The flow cannot continue. [code] is the key the page itself renders. */
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Parses a message posted by the hosted page.
|
|
32
|
+
*
|
|
33
|
+
* Returns null for anything unrecognised. The message crosses a boundary the
|
|
34
|
+
* SDK does not control, so nothing here trusts its shape — the WebView message
|
|
35
|
+
* channel is shared with every script on the page.
|
|
36
|
+
*/
|
|
37
|
+
export function parseHostedBridgeMessage(raw) {
|
|
38
|
+
const message = asRecord(raw);
|
|
39
|
+
if (!message) return null;
|
|
40
|
+
const type = message.type;
|
|
41
|
+
if (typeof type !== 'string') return null;
|
|
42
|
+
switch (type) {
|
|
43
|
+
case 'spare.ready':
|
|
44
|
+
return {
|
|
45
|
+
type: 'ready'
|
|
46
|
+
};
|
|
47
|
+
case 'spare.open_url':
|
|
48
|
+
{
|
|
49
|
+
const url = message.url;
|
|
50
|
+
if (typeof url !== 'string' || !isHttpsUrl(url)) return null;
|
|
51
|
+
return {
|
|
52
|
+
type: 'openUrl',
|
|
53
|
+
url
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
case 'spare.cancel':
|
|
57
|
+
return {
|
|
58
|
+
type: 'cancel'
|
|
59
|
+
};
|
|
60
|
+
case 'spare.error':
|
|
61
|
+
{
|
|
62
|
+
const code = message.code;
|
|
63
|
+
if (typeof code !== 'string' || code.trim().length === 0) return null;
|
|
64
|
+
return {
|
|
65
|
+
type: 'error',
|
|
66
|
+
code
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
default:
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Reads the message out of whatever the WebView handed over.
|
|
76
|
+
*
|
|
77
|
+
* The page stringifies its payload, but a plain object is accepted too so the
|
|
78
|
+
* transport is not the thing that decides whether a valid message is understood.
|
|
79
|
+
*/
|
|
80
|
+
function asRecord(raw) {
|
|
81
|
+
if (typeof raw === 'string') {
|
|
82
|
+
try {
|
|
83
|
+
return asRecord(JSON.parse(raw));
|
|
84
|
+
} catch {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) return null;
|
|
89
|
+
return raw;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Whether [url] is an absolute https URL.
|
|
94
|
+
*
|
|
95
|
+
* Required before handing a URL to the OS browser: the page is trusted to name
|
|
96
|
+
* a bank, not to name a scheme that could reach something else on the device.
|
|
97
|
+
* Parsed rather than pattern-matched so `https:/\/evil` and friends cannot pass
|
|
98
|
+
* for an absolute URL.
|
|
99
|
+
*/
|
|
100
|
+
function isHttpsUrl(url) {
|
|
101
|
+
const parts = parseUrlParts(url);
|
|
102
|
+
return parts !== null && parts.scheme === 'https' && parts.host.length > 0;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=bridge-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parseUrlParts","parseHostedBridgeMessage","raw","message","asRecord","type","url","isHttpsUrl","code","trim","length","JSON","parse","Array","isArray","parts","scheme","host"],"sourceRoot":"../../../../src","sources":["internal/hosted/bridge-message.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,iBAAc;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;;AAKA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,wBAAwBA,CAACC,GAAY,EAA8B;EACjF,MAAMC,OAAO,GAAGC,QAAQ,CAACF,GAAG,CAAC;EAC7B,IAAI,CAACC,OAAO,EAAE,OAAO,IAAI;EAEzB,MAAME,IAAI,GAAGF,OAAO,CAACE,IAAI;EACzB,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE,OAAO,IAAI;EAEzC,QAAQA,IAAI;IACV,KAAK,aAAa;MAChB,OAAO;QAAEA,IAAI,EAAE;MAAQ,CAAC;IAC1B,KAAK,gBAAgB;MAAE;QACrB,MAAMC,GAAG,GAAGH,OAAO,CAACG,GAAG;QACvB,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAI,CAACC,UAAU,CAACD,GAAG,CAAC,EAAE,OAAO,IAAI;QAC5D,OAAO;UAAED,IAAI,EAAE,SAAS;UAAEC;QAAI,CAAC;MACjC;IACA,KAAK,cAAc;MACjB,OAAO;QAAED,IAAI,EAAE;MAAS,CAAC;IAC3B,KAAK,aAAa;MAAE;QAClB,MAAMG,IAAI,GAAGL,OAAO,CAACK,IAAI;QACzB,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACC,IAAI,CAAC,CAAC,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;QACrE,OAAO;UAAEL,IAAI,EAAE,OAAO;UAAEG;QAAK,CAAC;MAChC;IACA;MACE,OAAO,IAAI;EACf;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASJ,QAAQA,CAACF,GAAY,EAAkC;EAC9D,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;IAC3B,IAAI;MACF,OAAOE,QAAQ,CAACO,IAAI,CAACC,KAAK,CAACV,GAAG,CAAY,CAAC;IAC7C,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF;EACA,IAAI,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,IAAI,IAAIW,KAAK,CAACC,OAAO,CAACZ,GAAG,CAAC,EAAE,OAAO,IAAI;EAC9E,OAAOA,GAAG;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,UAAUA,CAACD,GAAW,EAAW;EACxC,MAAMS,KAAK,GAAGf,aAAa,CAACM,GAAG,CAAC;EAChC,OAAOS,KAAK,KAAK,IAAI,IAAIA,KAAK,CAACC,MAAM,KAAK,OAAO,IAAID,KAAK,CAACE,IAAI,CAACP,MAAM,GAAG,CAAC;AAC5E","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { isSameOrigin } from "../url-parts.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Origin channel this SDK identifies as to the hosted page.
|
|
7
|
+
*
|
|
8
|
+
* The same value must be recorded on the payment request by the merchant's
|
|
9
|
+
* backend, because the bank redirect that completes a payment carries no query
|
|
10
|
+
* string of ours and the return path is decided from the stored row.
|
|
11
|
+
*/
|
|
12
|
+
export const HOSTED_ORIGIN_CHANNEL = 'sdk_react_native';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Builds the hosted payment page URL for a payment request reference.
|
|
16
|
+
*
|
|
17
|
+
* The reference is the only credential the page needs; everything else is
|
|
18
|
+
* resolved server-side from the row it names.
|
|
19
|
+
*/
|
|
20
|
+
export function buildHostedPaymentUrl(args) {
|
|
21
|
+
const base = args.baseUrl.trim().replace(/\/+$/, '');
|
|
22
|
+
const reference = encodeURIComponent(args.reference.trim());
|
|
23
|
+
return `${base}/link/payment/${reference}?channel=${HOSTED_ORIGIN_CHANNEL}`;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Whether [url] belongs to the hosted origin derived from [baseUrl].
|
|
28
|
+
*
|
|
29
|
+
* The WebView loads only the hosted origin. Bank authentication deliberately
|
|
30
|
+
* happens outside it, so anything else navigating in-frame is refused rather
|
|
31
|
+
* than followed.
|
|
32
|
+
*/
|
|
33
|
+
export function isHostedOriginUrl(args) {
|
|
34
|
+
return isSameOrigin(args.baseUrl, args.url);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=hosted-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isSameOrigin","HOSTED_ORIGIN_CHANNEL","buildHostedPaymentUrl","args","base","baseUrl","trim","replace","reference","encodeURIComponent","isHostedOriginUrl","url"],"sourceRoot":"../../../../src","sources":["internal/hosted/hosted-url.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,iBAAc;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAG,kBAAkB;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAACC,IAA4C,EAAU;EAC1F,MAAMC,IAAI,GAAGD,IAAI,CAACE,OAAO,CAACC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;EACpD,MAAMC,SAAS,GAAGC,kBAAkB,CAACN,IAAI,CAACK,SAAS,CAACF,IAAI,CAAC,CAAC,CAAC;EAC3D,OAAO,GAAGF,IAAI,iBAAiBI,SAAS,YAAYP,qBAAqB,EAAE;AAC7E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,iBAAiBA,CAACP,IAAsC,EAAW;EACjF,OAAOH,YAAY,CAACG,IAAI,CAACE,OAAO,EAAEF,IAAI,CAACQ,GAAG,CAAC;AAC7C","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export { collectTelemetry } from "./telemetry-collector.js";
|
|
4
3
|
export { launchBankRedirect } from "./bank-redirect.js";
|
|
5
4
|
export { SecureStorePendingSessionStore } from "./secure-store-pending-session-store.js";
|
|
6
5
|
export { useSpareLinkDeepLinks } from "./deep-link-listener.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["launchBankRedirect","SecureStorePendingSessionStore","useSpareLinkDeepLinks"],"sourceRoot":"../../../src","sources":["internal/index.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAA+B,oBAAiB;AAC3E,SAASC,8BAA8B,QAAQ,yCAAsC;AACrF,SAASC,qBAAqB,QAAQ,yBAAsB","ignoreList":[]}
|
|
@@ -1,21 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Redacts the query of a bank-return URI before it is logged.
|
|
5
|
+
*
|
|
6
|
+
* Every value goes except the few that describe the outcome rather than identify
|
|
7
|
+
* anyone — see {@link KEPT_KEYS}. Redaction is a denylist by default rather than
|
|
8
|
+
* an allowlist of names to remove: an earlier version named the two keys to
|
|
9
|
+
* redact, so anything else the return ever carried was logged in full, and one of
|
|
10
|
+
* the names it knew (`exchange_code`) is not even in the contract any more.
|
|
11
|
+
*
|
|
12
|
+
* What is worth keeping in a log is the shape of the URI — its scheme, its path,
|
|
13
|
+
* which parameters were present — plus enough to explain the outcome.
|
|
14
|
+
*
|
|
15
|
+
* It also cannot use the global `URL`. React Native's is a stub whose
|
|
16
|
+
* `searchParams` returns a fresh empty instance, so `has()` was always false and
|
|
17
|
+
* this function returned the URI untouched on a device while redacting correctly
|
|
18
|
+
* under Jest, which runs on Node.
|
|
19
|
+
*
|
|
20
|
+
* The query is split here rather than read through `parseQueryParams`, because
|
|
21
|
+
* that decodes values and keeps only the first of a repeated key — fine for
|
|
22
|
+
* reading an outcome, wrong for reproducing a URI whose shape is the point.
|
|
23
|
+
*/
|
|
4
24
|
|
|
5
|
-
|
|
25
|
+
const REDACTED = '[REDACTED]';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Parameters whose values are kept, because they say what happened rather than to
|
|
29
|
+
* whom.
|
|
30
|
+
*
|
|
31
|
+
* Redacting these made the log useless for the one question it gets asked. A
|
|
32
|
+
* return that resolves as unresolved does so because of its `status`, and a log
|
|
33
|
+
* reading `status=[REDACTED]` cannot tell anyone which value was not recognised.
|
|
34
|
+
*
|
|
35
|
+
* None of these identifies a payer, a payment or a request: `status` is one of a
|
|
36
|
+
* fixed vocabulary, and `errorCode` and `error` are keys from a fixed list. The
|
|
37
|
+
* identifiers — `reference`, `merchantRef`, `paymentId` — and the signature stay
|
|
38
|
+
* redacted, as does `error_description`, which is prose and could name a person.
|
|
39
|
+
*/
|
|
40
|
+
const KEPT_KEYS = new Set(['status', 'errorCode', 'error']);
|
|
6
41
|
export function redactPaymentReturnUri(uri) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
42
|
+
const queryStart = uri.indexOf('?');
|
|
43
|
+
const fragmentStart = uri.indexOf('#');
|
|
44
|
+
|
|
45
|
+
// No query and no fragment: nothing here carries a value.
|
|
46
|
+
if (queryStart === -1 && fragmentStart === -1) return uri;
|
|
47
|
+
const queryEnd = fragmentStart !== -1 && fragmentStart > queryStart ? fragmentStart : uri.length;
|
|
48
|
+
const beforeQuery = queryStart === -1 ? uri.slice(0, fragmentStart) : uri.slice(0, queryStart);
|
|
49
|
+
const query = queryStart === -1 ? '' : uri.slice(queryStart + 1, queryEnd);
|
|
50
|
+
|
|
51
|
+
// A fragment is dropped whole. Nothing in this SDK reads one, so its shape is
|
|
52
|
+
// not worth keeping, and a return that ever carried a token in one — as OAuth
|
|
53
|
+
// implicit flows do — must not put it in a log.
|
|
54
|
+
const hadFragment = fragmentStart !== -1;
|
|
55
|
+
const redactedQuery = query.split('&').filter(pair => pair.length > 0).map(pair => {
|
|
56
|
+
const eq = pair.indexOf('=');
|
|
57
|
+
const key = eq === -1 ? pair : pair.slice(0, eq);
|
|
58
|
+
if (KEPT_KEYS.has(key)) return pair;
|
|
59
|
+
return `${key}=${REDACTED}`;
|
|
60
|
+
}).join('&');
|
|
61
|
+
const rebuiltQuery = redactedQuery.length > 0 ? `?${redactedQuery}` : '';
|
|
62
|
+
const rebuiltFragment = hadFragment ? `#${REDACTED}` : '';
|
|
63
|
+
return `${beforeQuery}${rebuiltQuery}${rebuiltFragment}`;
|
|
20
64
|
}
|
|
21
65
|
//# sourceMappingURL=redact-uri.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["REDACTED","KEPT_KEYS","Set","redactPaymentReturnUri","uri","queryStart","indexOf","fragmentStart","queryEnd","length","beforeQuery","slice","query","hadFragment","redactedQuery","split","filter","pair","map","eq","key","has","join","rebuiltQuery","rebuiltFragment"],"sourceRoot":"../../../src","sources":["internal/redact-uri.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,QAAQ,GAAG,YAAY;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,SAA8B,GAAG,IAAIC,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAEhF,OAAO,SAASC,sBAAsBA,CAACC,GAAW,EAAU;EAC1D,MAAMC,UAAU,GAAGD,GAAG,CAACE,OAAO,CAAC,GAAG,CAAC;EACnC,MAAMC,aAAa,GAAGH,GAAG,CAACE,OAAO,CAAC,GAAG,CAAC;;EAEtC;EACA,IAAID,UAAU,KAAK,CAAC,CAAC,IAAIE,aAAa,KAAK,CAAC,CAAC,EAAE,OAAOH,GAAG;EAEzD,MAAMI,QAAQ,GAAGD,aAAa,KAAK,CAAC,CAAC,IAAIA,aAAa,GAAGF,UAAU,GAAGE,aAAa,GAAGH,GAAG,CAACK,MAAM;EAEhG,MAAMC,WAAW,GAAGL,UAAU,KAAK,CAAC,CAAC,GAAGD,GAAG,CAACO,KAAK,CAAC,CAAC,EAAEJ,aAAa,CAAC,GAAGH,GAAG,CAACO,KAAK,CAAC,CAAC,EAAEN,UAAU,CAAC;EAC9F,MAAMO,KAAK,GAAGP,UAAU,KAAK,CAAC,CAAC,GAAG,EAAE,GAAGD,GAAG,CAACO,KAAK,CAACN,UAAU,GAAG,CAAC,EAAEG,QAAQ,CAAC;;EAE1E;EACA;EACA;EACA,MAAMK,WAAW,GAAGN,aAAa,KAAK,CAAC,CAAC;EAExC,MAAMO,aAAa,GAAGF,KAAK,CACxBG,KAAK,CAAC,GAAG,CAAC,CACVC,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAACR,MAAM,GAAG,CAAC,CAAC,CACjCS,GAAG,CAAED,IAAI,IAAK;IACb,MAAME,EAAE,GAAGF,IAAI,CAACX,OAAO,CAAC,GAAG,CAAC;IAC5B,MAAMc,GAAG,GAAGD,EAAE,KAAK,CAAC,CAAC,GAAGF,IAAI,GAAGA,IAAI,CAACN,KAAK,CAAC,CAAC,EAAEQ,EAAE,CAAC;IAChD,IAAIlB,SAAS,CAACoB,GAAG,CAACD,GAAG,CAAC,EAAE,OAAOH,IAAI;IACnC,OAAO,GAAGG,GAAG,IAAIpB,QAAQ,EAAE;EAC7B,CAAC,CAAC,CACDsB,IAAI,CAAC,GAAG,CAAC;EAEZ,MAAMC,YAAY,GAAGT,aAAa,CAACL,MAAM,GAAG,CAAC,GAAG,IAAIK,aAAa,EAAE,GAAG,EAAE;EACxE,MAAMU,eAAe,GAAGX,WAAW,GAAG,IAAIb,QAAQ,EAAE,GAAG,EAAE;EAEzD,OAAO,GAAGU,WAAW,GAAGa,YAAY,GAAGC,eAAe,EAAE;AAC1D","ignoreList":[]}
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Production `PendingSessionStore` backed by expo-secure-store. Persists
|
|
5
|
-
* single in-flight payment
|
|
4
|
+
* Production `PendingSessionStore` backed by expo-secure-store. Persists the
|
|
5
|
+
* reference of a single in-flight payment so a cold start knows which payment
|
|
6
|
+
* was under way.
|
|
6
7
|
*/
|
|
7
8
|
|
|
8
9
|
import { createLogger } from "./logger.js";
|
|
9
10
|
const log = createLogger('SecureStorePendingSessionStore');
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
const KEY_REFERENCE = 'spare_link_reference';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Keys earlier versions wrote, cleared alongside our own.
|
|
15
|
+
*
|
|
16
|
+
* An app upgrading mid-payment would otherwise keep a token and session it can
|
|
17
|
+
* never resolve — the endpoints they addressed are gone — and the secure store
|
|
18
|
+
* outlives the version that wrote to it.
|
|
19
|
+
*/
|
|
20
|
+
const RETIRED_KEYS = ['spare_link_token', 'spare_link_session_id', 'spare_link_bank_id', 'spare_link_auth_url', 'spare_link_consent_at', 'spare_link_recovery_attempts', 'spare_link_merchant_ref'];
|
|
18
21
|
async function defaultLoader() {
|
|
19
22
|
try {
|
|
20
23
|
return await import('expo-secure-store');
|
|
@@ -54,34 +57,26 @@ export class SecureStorePendingSessionStore {
|
|
|
54
57
|
save(record) {
|
|
55
58
|
return this.enqueueWrite(async () => {
|
|
56
59
|
const s = await this.module;
|
|
57
|
-
await
|
|
60
|
+
await s.setItemAsync(KEY_REFERENCE, record.reference);
|
|
58
61
|
});
|
|
59
62
|
}
|
|
60
63
|
async load() {
|
|
61
64
|
// Wait for any pending writes to settle so we read a consistent snapshot.
|
|
62
65
|
await this.writeQueue.catch(() => undefined);
|
|
63
66
|
const s = await this.module;
|
|
64
|
-
const
|
|
65
|
-
if (!
|
|
66
|
-
log.fine('load: no pending
|
|
67
|
+
const reference = await s.getItemAsync(KEY_REFERENCE);
|
|
68
|
+
if (!reference) {
|
|
69
|
+
log.fine('load: no pending payment found');
|
|
67
70
|
return null;
|
|
68
71
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const record = {
|
|
72
|
-
sessionId,
|
|
73
|
-
selectedBankId: bankId,
|
|
74
|
-
authorizationUrl: authUrl,
|
|
75
|
-
recoveryAttempts: Number.isFinite(recoveryAttempts) ? recoveryAttempts : 0
|
|
72
|
+
return {
|
|
73
|
+
reference
|
|
76
74
|
};
|
|
77
|
-
if (consentAt !== undefined && Number.isFinite(consentAt)) record.consentAt = consentAt;
|
|
78
|
-
if (merchantRef) record.merchantRef = merchantRef;
|
|
79
|
-
return record;
|
|
80
75
|
}
|
|
81
76
|
clear() {
|
|
82
77
|
return this.enqueueWrite(async () => {
|
|
83
78
|
const s = await this.module;
|
|
84
|
-
await Promise.all([s.deleteItemAsync(
|
|
79
|
+
await Promise.all([s.deleteItemAsync(KEY_REFERENCE), ...RETIRED_KEYS.map(key => s.deleteItemAsync(key))]);
|
|
85
80
|
});
|
|
86
81
|
}
|
|
87
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createLogger","log","
|
|
1
|
+
{"version":3,"names":["createLogger","log","KEY_REFERENCE","RETIRED_KEYS","defaultLoader","err","Error","message","String","SecureStorePendingSessionStore","secureStore","writeQueue","Promise","resolve","constructor","moduleLoader","loader","module","enqueueWrite","op","next","then","catch","save","record","s","setItemAsync","reference","load","undefined","getItemAsync","fine","clear","all","deleteItemAsync","map","key"],"sourceRoot":"../../../src","sources":["internal/secure-store-pending-session-store.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAIA,SAASA,YAAY,QAAQ,aAAU;AAEvC,MAAMC,GAAG,GAAGD,YAAY,CAAC,gCAAgC,CAAC;AAE1D,MAAME,aAAa,GAAG,sBAAsB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,CACnB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,8BAA8B,EAC9B,yBAAyB,CACjB;AAQV,eAAeC,aAAaA,CAAA,EAA+B;EACzD,IAAI;IACF,OAAQ,MAAM,MAAM,CAAC,mBAAmB,CAAC;EAC3C,CAAC,CAAC,OAAOC,GAAG,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,0FACED,GAAG,YAAYC,KAAK,GAAGD,GAAG,CAACE,OAAO,GAAGC,MAAM,CAACH,GAAG,CAAC,GAEpD,CAAC;EACH;AACF;AAEA,OAAO,MAAMI,8BAA8B,CAAgC;EACjEC,WAAW,GAAsC,IAAI;EAE7D;AACF;AACA;AACA;EACUC,UAAU,GAAkBC,OAAO,CAACC,OAAO,CAAC,CAAC;;EAErD;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,YAA8C,GAAGX,aAAa,EAAE;IAC1E,IAAI,CAACY,MAAM,GAAGD,YAAY;EAC5B;EAEA,IAAYE,MAAMA,CAAA,EAA+B;IAC/C,IAAI,CAAC,IAAI,CAACP,WAAW,EAAE,IAAI,CAACA,WAAW,GAAG,IAAI,CAACM,MAAM,CAAC,CAAC;IACvD,OAAO,IAAI,CAACN,WAAW;EACzB;;EAEA;EACQQ,YAAYA,CAACC,EAAuB,EAAiB;IAC3D,MAAMC,IAAI,GAAG,IAAI,CAACT,UAAU,CAACU,IAAI,CAACF,EAAE,EAAEA,EAAE,CAAC;IACzC,IAAI,CAACR,UAAU,GAAGS,IAAI,CAACE,KAAK,CAAC,MAAM;MACjC;IAAA,CACD,CAAC;IACF,OAAOF,IAAI;EACb;EAEAG,IAAIA,CAACC,MAA4B,EAAiB;IAChD,OAAO,IAAI,CAACN,YAAY,CAAC,YAAY;MACnC,MAAMO,CAAC,GAAG,MAAM,IAAI,CAACR,MAAM;MAC3B,MAAMQ,CAAC,CAACC,YAAY,CAACxB,aAAa,EAAEsB,MAAM,CAACG,SAAS,CAAC;IACvD,CAAC,CAAC;EACJ;EAEA,MAAMC,IAAIA,CAAA,EAAyC;IACjD;IACA,MAAM,IAAI,CAACjB,UAAU,CAACW,KAAK,CAAC,MAAMO,SAAS,CAAC;IAC5C,MAAMJ,CAAC,GAAG,MAAM,IAAI,CAACR,MAAM;IAC3B,MAAMU,SAAS,GAAG,MAAMF,CAAC,CAACK,YAAY,CAAC5B,aAAa,CAAC;IACrD,IAAI,CAACyB,SAAS,EAAE;MACd1B,GAAG,CAAC8B,IAAI,CAAC,gCAAgC,CAAC;MAC1C,OAAO,IAAI;IACb;IACA,OAAO;MAAEJ;IAAU,CAAC;EACtB;EAEAK,KAAKA,CAAA,EAAkB;IACrB,OAAO,IAAI,CAACd,YAAY,CAAC,YAAY;MACnC,MAAMO,CAAC,GAAG,MAAM,IAAI,CAACR,MAAM;MAC3B,MAAML,OAAO,CAACqB,GAAG,CAAC,CAChBR,CAAC,CAACS,eAAe,CAAChC,aAAa,CAAC,EAChC,GAAGC,YAAY,CAACgC,GAAG,CAAEC,GAAG,IAAKX,CAAC,CAACS,eAAe,CAACE,GAAG,CAAC,CAAC,CACrD,CAAC;IACJ,CAAC,CAAC;EACJ;AACF","ignoreList":[]}
|