@spare-technologies/spare-link 0.1.0-beta.1 → 1.0.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.
- package/README.md +119 -63
- 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/bank-redirect.js +20 -9
- package/lib/commonjs/internal/bank-redirect.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 +1 -1
- 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/bank-redirect.js +20 -9
- package/lib/module/internal/bank-redirect.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 +1 -1
- 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/bank-redirect.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 +1 -1
- 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/bank-redirect.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 +1 -1
- package/lib/typescript/module/version.d.ts.map +1 -1
- package/package.json +24 -22
- 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/bank-redirect.ts +23 -9
- 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 +1 -1
- package/CHANGELOG.md +0 -25
- 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
package/lib/commonjs/index.js
CHANGED
|
@@ -5,125 +5,37 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
var _exportNames = {
|
|
7
7
|
SDK_VERSION: true,
|
|
8
|
-
PaymentApiError: true,
|
|
9
|
-
isPaymentApiError: true,
|
|
10
8
|
isPaymentReturnCallbackUri: true,
|
|
9
|
+
readPaymentReturn: true,
|
|
11
10
|
extractPaymentReturnErrorCode: true,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
isMultiPayment: true,
|
|
22
|
-
isInternational: true,
|
|
23
|
-
supportsConfirmationOfPayee: true,
|
|
24
|
-
resolvedPaymentType: true,
|
|
25
|
-
consentUiVariant: true,
|
|
26
|
-
PaymentType: true,
|
|
11
|
+
extractPaymentReturnErrorDescription: true,
|
|
12
|
+
extractPaymentReturnErrorReason: true,
|
|
13
|
+
extractPaymentReturnPaymentId: true,
|
|
14
|
+
extractPaymentReturnMandateId: true,
|
|
15
|
+
extractPaymentReturnReference: true,
|
|
16
|
+
extractPaymentReturnMerchantRef: true,
|
|
17
|
+
extractPaymentReturnSignature: true,
|
|
18
|
+
isPaymentReturnSuccess: true,
|
|
19
|
+
paymentReturnParams: true,
|
|
27
20
|
SpareLinkHost: true,
|
|
28
|
-
PaymentFlowPage: true,
|
|
29
|
-
usePaymentFlowState: true,
|
|
30
|
-
BankSelectionScreen: true,
|
|
31
|
-
ConsentDetailsScreen: true,
|
|
32
|
-
RedirectHandoffScreen: true,
|
|
33
|
-
ResumeProcessingScreen: true,
|
|
34
|
-
ResultScreen: true,
|
|
35
|
-
MandateSetupSuccessScreen: true,
|
|
36
21
|
Colors: true,
|
|
37
22
|
Typography: true,
|
|
38
23
|
Spacing: true,
|
|
39
24
|
FONT_FAMILY: true,
|
|
40
|
-
collectTelemetry: true,
|
|
41
25
|
launchBankRedirect: true,
|
|
42
26
|
SecureStorePendingSessionStore: true,
|
|
43
27
|
useSpareLinkDeepLinks: true
|
|
44
28
|
};
|
|
45
|
-
Object.defineProperty(exports, "BankSelectionScreen", {
|
|
46
|
-
enumerable: true,
|
|
47
|
-
get: function () {
|
|
48
|
-
return _index2.BankSelectionScreen;
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
29
|
Object.defineProperty(exports, "Colors", {
|
|
52
30
|
enumerable: true,
|
|
53
31
|
get: function () {
|
|
54
|
-
return
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
Object.defineProperty(exports, "ConsentDetailsScreen", {
|
|
58
|
-
enumerable: true,
|
|
59
|
-
get: function () {
|
|
60
|
-
return _index2.ConsentDetailsScreen;
|
|
32
|
+
return _index2.Colors;
|
|
61
33
|
}
|
|
62
34
|
});
|
|
63
35
|
Object.defineProperty(exports, "FONT_FAMILY", {
|
|
64
36
|
enumerable: true,
|
|
65
37
|
get: function () {
|
|
66
|
-
return
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
Object.defineProperty(exports, "LinkApiClient", {
|
|
70
|
-
enumerable: true,
|
|
71
|
-
get: function () {
|
|
72
|
-
return _linkApiClient.LinkApiClient;
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
Object.defineProperty(exports, "MandateSetupSuccessScreen", {
|
|
76
|
-
enumerable: true,
|
|
77
|
-
get: function () {
|
|
78
|
-
return _index2.MandateSetupSuccessScreen;
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
Object.defineProperty(exports, "PaymentApiError", {
|
|
82
|
-
enumerable: true,
|
|
83
|
-
get: function () {
|
|
84
|
-
return _paymentApiError.PaymentApiError;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
Object.defineProperty(exports, "PaymentFlowController", {
|
|
88
|
-
enumerable: true,
|
|
89
|
-
get: function () {
|
|
90
|
-
return _paymentFlowController.PaymentFlowController;
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
Object.defineProperty(exports, "PaymentFlowPage", {
|
|
94
|
-
enumerable: true,
|
|
95
|
-
get: function () {
|
|
96
|
-
return _paymentFlowPage.PaymentFlowPage;
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
Object.defineProperty(exports, "PaymentFlowStates", {
|
|
100
|
-
enumerable: true,
|
|
101
|
-
get: function () {
|
|
102
|
-
return _paymentFlowState.PaymentFlowStates;
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
Object.defineProperty(exports, "PaymentType", {
|
|
106
|
-
enumerable: true,
|
|
107
|
-
get: function () {
|
|
108
|
-
return _paymentType.PaymentType;
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
Object.defineProperty(exports, "RedirectHandoffScreen", {
|
|
112
|
-
enumerable: true,
|
|
113
|
-
get: function () {
|
|
114
|
-
return _index2.RedirectHandoffScreen;
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
Object.defineProperty(exports, "ResultScreen", {
|
|
118
|
-
enumerable: true,
|
|
119
|
-
get: function () {
|
|
120
|
-
return _index2.ResultScreen;
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
Object.defineProperty(exports, "ResumeProcessingScreen", {
|
|
124
|
-
enumerable: true,
|
|
125
|
-
get: function () {
|
|
126
|
-
return _index2.ResumeProcessingScreen;
|
|
38
|
+
return _index2.FONT_FAMILY;
|
|
127
39
|
}
|
|
128
40
|
});
|
|
129
41
|
Object.defineProperty(exports, "SDK_VERSION", {
|
|
@@ -135,13 +47,13 @@ Object.defineProperty(exports, "SDK_VERSION", {
|
|
|
135
47
|
Object.defineProperty(exports, "SecureStorePendingSessionStore", {
|
|
136
48
|
enumerable: true,
|
|
137
49
|
get: function () {
|
|
138
|
-
return
|
|
50
|
+
return _index3.SecureStorePendingSessionStore;
|
|
139
51
|
}
|
|
140
52
|
});
|
|
141
53
|
Object.defineProperty(exports, "Spacing", {
|
|
142
54
|
enumerable: true,
|
|
143
55
|
get: function () {
|
|
144
|
-
return
|
|
56
|
+
return _index2.Spacing;
|
|
145
57
|
}
|
|
146
58
|
});
|
|
147
59
|
Object.defineProperty(exports, "SpareLinkHost", {
|
|
@@ -153,25 +65,7 @@ Object.defineProperty(exports, "SpareLinkHost", {
|
|
|
153
65
|
Object.defineProperty(exports, "Typography", {
|
|
154
66
|
enumerable: true,
|
|
155
67
|
get: function () {
|
|
156
|
-
return
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
Object.defineProperty(exports, "buildMultiPaymentRules", {
|
|
160
|
-
enumerable: true,
|
|
161
|
-
get: function () {
|
|
162
|
-
return _multiPaymentRulesPresenter.buildMultiPaymentRules;
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
Object.defineProperty(exports, "collectTelemetry", {
|
|
166
|
-
enumerable: true,
|
|
167
|
-
get: function () {
|
|
168
|
-
return _index4.collectTelemetry;
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
Object.defineProperty(exports, "consentUiVariant", {
|
|
172
|
-
enumerable: true,
|
|
173
|
-
get: function () {
|
|
174
|
-
return _paymentType.consentUiVariant;
|
|
68
|
+
return _index2.Typography;
|
|
175
69
|
}
|
|
176
70
|
});
|
|
177
71
|
Object.defineProperty(exports, "extractPaymentReturnErrorCode", {
|
|
@@ -180,88 +74,82 @@ Object.defineProperty(exports, "extractPaymentReturnErrorCode", {
|
|
|
180
74
|
return _paymentReturnParams.extractPaymentReturnErrorCode;
|
|
181
75
|
}
|
|
182
76
|
});
|
|
183
|
-
Object.defineProperty(exports, "
|
|
77
|
+
Object.defineProperty(exports, "extractPaymentReturnErrorDescription", {
|
|
184
78
|
enumerable: true,
|
|
185
79
|
get: function () {
|
|
186
|
-
return
|
|
80
|
+
return _paymentReturnParams.extractPaymentReturnErrorDescription;
|
|
187
81
|
}
|
|
188
82
|
});
|
|
189
|
-
Object.defineProperty(exports, "
|
|
83
|
+
Object.defineProperty(exports, "extractPaymentReturnErrorReason", {
|
|
190
84
|
enumerable: true,
|
|
191
85
|
get: function () {
|
|
192
|
-
return
|
|
86
|
+
return _paymentReturnParams.extractPaymentReturnErrorReason;
|
|
193
87
|
}
|
|
194
88
|
});
|
|
195
|
-
Object.defineProperty(exports, "
|
|
89
|
+
Object.defineProperty(exports, "extractPaymentReturnMandateId", {
|
|
196
90
|
enumerable: true,
|
|
197
91
|
get: function () {
|
|
198
|
-
return
|
|
92
|
+
return _paymentReturnParams.extractPaymentReturnMandateId;
|
|
199
93
|
}
|
|
200
94
|
});
|
|
201
|
-
Object.defineProperty(exports, "
|
|
95
|
+
Object.defineProperty(exports, "extractPaymentReturnMerchantRef", {
|
|
202
96
|
enumerable: true,
|
|
203
97
|
get: function () {
|
|
204
|
-
return
|
|
98
|
+
return _paymentReturnParams.extractPaymentReturnMerchantRef;
|
|
205
99
|
}
|
|
206
100
|
});
|
|
207
|
-
Object.defineProperty(exports, "
|
|
101
|
+
Object.defineProperty(exports, "extractPaymentReturnPaymentId", {
|
|
208
102
|
enumerable: true,
|
|
209
103
|
get: function () {
|
|
210
|
-
return
|
|
104
|
+
return _paymentReturnParams.extractPaymentReturnPaymentId;
|
|
211
105
|
}
|
|
212
106
|
});
|
|
213
|
-
Object.defineProperty(exports, "
|
|
107
|
+
Object.defineProperty(exports, "extractPaymentReturnReference", {
|
|
214
108
|
enumerable: true,
|
|
215
109
|
get: function () {
|
|
216
|
-
return _paymentReturnParams.
|
|
110
|
+
return _paymentReturnParams.extractPaymentReturnReference;
|
|
217
111
|
}
|
|
218
112
|
});
|
|
219
|
-
Object.defineProperty(exports, "
|
|
220
|
-
enumerable: true,
|
|
221
|
-
get: function () {
|
|
222
|
-
return _index4.launchBankRedirect;
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
Object.defineProperty(exports, "presentConsent", {
|
|
113
|
+
Object.defineProperty(exports, "extractPaymentReturnSignature", {
|
|
226
114
|
enumerable: true,
|
|
227
115
|
get: function () {
|
|
228
|
-
return
|
|
116
|
+
return _paymentReturnParams.extractPaymentReturnSignature;
|
|
229
117
|
}
|
|
230
118
|
});
|
|
231
|
-
Object.defineProperty(exports, "
|
|
119
|
+
Object.defineProperty(exports, "isPaymentReturnCallbackUri", {
|
|
232
120
|
enumerable: true,
|
|
233
121
|
get: function () {
|
|
234
|
-
return
|
|
122
|
+
return _paymentReturnParams.isPaymentReturnCallbackUri;
|
|
235
123
|
}
|
|
236
124
|
});
|
|
237
|
-
Object.defineProperty(exports, "
|
|
125
|
+
Object.defineProperty(exports, "isPaymentReturnSuccess", {
|
|
238
126
|
enumerable: true,
|
|
239
127
|
get: function () {
|
|
240
|
-
return
|
|
128
|
+
return _paymentReturnParams.isPaymentReturnSuccess;
|
|
241
129
|
}
|
|
242
130
|
});
|
|
243
|
-
Object.defineProperty(exports, "
|
|
131
|
+
Object.defineProperty(exports, "launchBankRedirect", {
|
|
244
132
|
enumerable: true,
|
|
245
133
|
get: function () {
|
|
246
|
-
return
|
|
134
|
+
return _index3.launchBankRedirect;
|
|
247
135
|
}
|
|
248
136
|
});
|
|
249
|
-
Object.defineProperty(exports, "
|
|
137
|
+
Object.defineProperty(exports, "paymentReturnParams", {
|
|
250
138
|
enumerable: true,
|
|
251
139
|
get: function () {
|
|
252
|
-
return
|
|
140
|
+
return _paymentReturnParams.paymentReturnParams;
|
|
253
141
|
}
|
|
254
142
|
});
|
|
255
|
-
Object.defineProperty(exports, "
|
|
143
|
+
Object.defineProperty(exports, "readPaymentReturn", {
|
|
256
144
|
enumerable: true,
|
|
257
145
|
get: function () {
|
|
258
|
-
return
|
|
146
|
+
return _paymentReturnParams.readPaymentReturn;
|
|
259
147
|
}
|
|
260
148
|
});
|
|
261
149
|
Object.defineProperty(exports, "useSpareLinkDeepLinks", {
|
|
262
150
|
enumerable: true,
|
|
263
151
|
get: function () {
|
|
264
|
-
return
|
|
152
|
+
return _index3.useSpareLinkDeepLinks;
|
|
265
153
|
}
|
|
266
154
|
});
|
|
267
155
|
var _version = require("./version.js");
|
|
@@ -277,18 +165,8 @@ Object.keys(_index).forEach(function (key) {
|
|
|
277
165
|
}
|
|
278
166
|
});
|
|
279
167
|
});
|
|
280
|
-
var _paymentApiError = require("./core/errors/payment-api-error.js");
|
|
281
168
|
var _paymentReturnParams = require("./core/models/payment-return-params.js");
|
|
282
|
-
var _linkApiClient = require("./core/client/link-api-client.js");
|
|
283
|
-
var _paymentFlowController = require("./core/services/payment-flow-controller.js");
|
|
284
|
-
var _paymentFlowState = require("./core/services/payment-flow-state.js");
|
|
285
|
-
var _consentPresenter = require("./core/services/consent-presenter.js");
|
|
286
|
-
var _multiPaymentRulesPresenter = require("./core/services/multi-payment-rules-presenter.js");
|
|
287
|
-
var _paymentType = require("./core/models/payment-type.js");
|
|
288
169
|
var _spareLinkHost = require("./ui/spare-link-host.js");
|
|
289
|
-
var
|
|
290
|
-
var
|
|
291
|
-
var _index2 = require("./ui/screens/index.js");
|
|
292
|
-
var _index3 = require("./ui/theme/index.js");
|
|
293
|
-
var _index4 = require("./internal/index.js");
|
|
170
|
+
var _index2 = require("./ui/theme/index.js");
|
|
171
|
+
var _index3 = require("./internal/index.js");
|
|
294
172
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_version","require","_index","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","
|
|
1
|
+
{"version":3,"names":["_version","require","_index","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_paymentReturnParams","_spareLinkHost","_index2","_index3"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAIA,IAAAS,oBAAA,GAAAd,OAAA;AA4BA,IAAAe,cAAA,GAAAf,OAAA;AACA,IAAAgB,OAAA,GAAAhB,OAAA;AAGA,IAAAiB,OAAA,GAAAjB,OAAA","ignoreList":[]}
|
|
@@ -14,9 +14,15 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
14
14
|
* 1. If `mobileAppUrl` is provided (e.g. `altareq://authorize?...`), try
|
|
15
15
|
* `Linking.openURL` after checking `canOpenURL` — this launches the
|
|
16
16
|
* bank's app directly without a browser tab.
|
|
17
|
-
* 2. Otherwise (or if step 1 fails)
|
|
18
|
-
* `
|
|
19
|
-
*
|
|
17
|
+
* 2. Otherwise (or if step 1 fails) hand `authorizationUrl` to the OS with
|
|
18
|
+
* `Linking.openURL`, so the bank's app opens it where one claims the URL.
|
|
19
|
+
* 3. Only if that throws, retry in `expo-web-browser`'s in-app browser tab.
|
|
20
|
+
*
|
|
21
|
+
* Steps 2 and 3 are in that order because the redirection guide requires it:
|
|
22
|
+
* https://nebras-open-finance.com/tech/tpp-standards/security/fapi/opening-the-redirect
|
|
23
|
+
* An in-app browser tab is a permitted fallback — it is a real browser surface,
|
|
24
|
+
* not an embedded webview — but it takes the routing decision away from the OS,
|
|
25
|
+
* so preferring it means app-to-app redirection never gets the chance to happen.
|
|
20
26
|
*/
|
|
21
27
|
const log = (0, _logger.createLogger)('BankRedirect');
|
|
22
28
|
async function loadWebBrowser() {
|
|
@@ -41,13 +47,18 @@ async function launchBankRedirect(args) {
|
|
|
41
47
|
log.warning(`launch: mobile deep link failed (${e instanceof Error ? e.message : String(e)}) — falling back`);
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
log.info('launch:
|
|
47
|
-
await wb.openBrowserAsync(args.authorizationUrl);
|
|
50
|
+
try {
|
|
51
|
+
await _reactNative.Linking.openURL(args.authorizationUrl);
|
|
52
|
+
log.info('launch: authorization URL handed to the OS');
|
|
48
53
|
return;
|
|
54
|
+
} catch (e) {
|
|
55
|
+
log.warning(`launch: OS could not open the authorization URL (${e instanceof Error ? e.message : String(e)}) — retrying in an in-app browser tab`);
|
|
56
|
+
}
|
|
57
|
+
const wb = await loadWebBrowser();
|
|
58
|
+
if (!wb?.openBrowserAsync) {
|
|
59
|
+
throw new Error('Unable to open bank authorization URL');
|
|
49
60
|
}
|
|
50
|
-
log.info('launch: opening authorization URL in
|
|
51
|
-
await
|
|
61
|
+
log.info('launch: opening authorization URL in in-app browser tab');
|
|
62
|
+
await wb.openBrowserAsync(args.authorizationUrl);
|
|
52
63
|
}
|
|
53
64
|
//# sourceMappingURL=bank-redirect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_logger","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","log","createLogger","loadWebBrowser","Promise","resolve","then","launchBankRedirect","args","mobileAppUrl","info","can","Linking","canOpenURL","openURL","warning","Error","message","String","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_logger","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","log","createLogger","loadWebBrowser","Promise","resolve","then","launchBankRedirect","args","mobileAppUrl","info","can","Linking","canOpenURL","openURL","warning","Error","message","String","authorizationUrl","wb","openBrowserAsync"],"sourceRoot":"../../../src","sources":["internal/bank-redirect.ts"],"mappings":";;;;;;AAkBA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAAwC,SAAAE,wBAAAC,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAH,uBAAA,YAAAA,CAAAC,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA,KAnBxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA,MAAMkB,GAAG,GAAG,IAAAC,oBAAY,EAAC,cAAc,CAAC;AAWxC,eAAeC,cAAcA,CAAA,EAAmC;EAC9D,IAAI;IACF,OAAQ,MAAAC,OAAA,CAAAC,OAAA,GAAAC,IAAA,OAAAzB,uBAAA,CAAAF,OAAA,CAAa,kBAAkB,GAAC;EAC1C,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEO,eAAe4B,kBAAkBA,CAACC,IAAsB,EAAiB;EAC9E,IAAIA,IAAI,CAACC,YAAY,EAAE;IACrBR,GAAG,CAACS,IAAI,CAAC,qCAAqC,CAAC;IAC/C,IAAI;MACF,MAAMC,GAAG,GAAG,MAAMC,oBAAO,CAACC,UAAU,CAACL,IAAI,CAACC,YAAY,CAAC;MACvD,IAAIE,GAAG,EAAE;QACP,MAAMC,oBAAO,CAACE,OAAO,CAACN,IAAI,CAACC,YAAY,CAAC;QACxCR,GAAG,CAACS,IAAI,CAAC,wCAAwC,CAAC;QAClD;MACF;MACAT,GAAG,CAACc,OAAO,CAAC,gEAAgE,CAAC;IAC/E,CAAC,CAAC,OAAOjC,CAAC,EAAE;MACVmB,GAAG,CAACc,OAAO,CACT,oCAAoCjC,CAAC,YAAYkC,KAAK,GAAGlC,CAAC,CAACmC,OAAO,GAAGC,MAAM,CAACpC,CAAC,CAAC,kBAChF,CAAC;IACH;EACF;EAEA,IAAI;IACF,MAAM8B,oBAAO,CAACE,OAAO,CAACN,IAAI,CAACW,gBAAgB,CAAC;IAC5ClB,GAAG,CAACS,IAAI,CAAC,4CAA4C,CAAC;IACtD;EACF,CAAC,CAAC,OAAO5B,CAAC,EAAE;IACVmB,GAAG,CAACc,OAAO,CACT,oDAAoDjC,CAAC,YAAYkC,KAAK,GAAGlC,CAAC,CAACmC,OAAO,GAAGC,MAAM,CAACpC,CAAC,CAAC,uCAChG,CAAC;EACH;EAEA,MAAMsC,EAAE,GAAG,MAAMjB,cAAc,CAAC,CAAC;EACjC,IAAI,CAACiB,EAAE,EAAEC,gBAAgB,EAAE;IACzB,MAAM,IAAIL,KAAK,CAAC,uCAAuC,CAAC;EAC1D;EACAf,GAAG,CAACS,IAAI,CAAC,yDAAyD,CAAC;EACnE,MAAMU,EAAE,CAACC,gBAAgB,CAACb,IAAI,CAACW,gBAAgB,CAAC;AAClD","ignoreList":[]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parseHostedBridgeMessage = parseHostedBridgeMessage;
|
|
7
|
+
var _urlParts = require("../url-parts.js");
|
|
8
|
+
/**
|
|
9
|
+
* Messages the hosted payment page sends to this SDK.
|
|
10
|
+
*
|
|
11
|
+
* The contract is one-way. The page never waits on a reply, so a message this
|
|
12
|
+
* version does not recognise is dropped rather than treated as a failure — the
|
|
13
|
+
* page continues, and a newer page stays usable by an older app.
|
|
14
|
+
*
|
|
15
|
+
* The page posts to `window.ReactNativeWebView.postMessage` as a JSON string,
|
|
16
|
+
* which arrives here as `event.nativeEvent.data`.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/** The payable page is interactive. */
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* A consent exists and the bank must now be opened outside the WebView.
|
|
23
|
+
*
|
|
24
|
+
* Banks commonly refuse to serve their authorization pages inside an embedded
|
|
25
|
+
* browser, and the address bar is what lets a payer tell a real bank page from
|
|
26
|
+
* a convincing copy.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/** The payer cancelled, and the request is already rejected server-side. */
|
|
30
|
+
|
|
31
|
+
/** The flow cannot continue. [code] is the key the page itself renders. */
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Parses a message posted by the hosted page.
|
|
35
|
+
*
|
|
36
|
+
* Returns null for anything unrecognised. The message crosses a boundary the
|
|
37
|
+
* SDK does not control, so nothing here trusts its shape — the WebView message
|
|
38
|
+
* channel is shared with every script on the page.
|
|
39
|
+
*/
|
|
40
|
+
function parseHostedBridgeMessage(raw) {
|
|
41
|
+
const message = asRecord(raw);
|
|
42
|
+
if (!message) return null;
|
|
43
|
+
const type = message.type;
|
|
44
|
+
if (typeof type !== 'string') return null;
|
|
45
|
+
switch (type) {
|
|
46
|
+
case 'spare.ready':
|
|
47
|
+
return {
|
|
48
|
+
type: 'ready'
|
|
49
|
+
};
|
|
50
|
+
case 'spare.open_url':
|
|
51
|
+
{
|
|
52
|
+
const url = message.url;
|
|
53
|
+
if (typeof url !== 'string' || !isHttpsUrl(url)) return null;
|
|
54
|
+
return {
|
|
55
|
+
type: 'openUrl',
|
|
56
|
+
url
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
case 'spare.cancel':
|
|
60
|
+
return {
|
|
61
|
+
type: 'cancel'
|
|
62
|
+
};
|
|
63
|
+
case 'spare.error':
|
|
64
|
+
{
|
|
65
|
+
const code = message.code;
|
|
66
|
+
if (typeof code !== 'string' || code.trim().length === 0) return null;
|
|
67
|
+
return {
|
|
68
|
+
type: 'error',
|
|
69
|
+
code
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
default:
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Reads the message out of whatever the WebView handed over.
|
|
79
|
+
*
|
|
80
|
+
* The page stringifies its payload, but a plain object is accepted too so the
|
|
81
|
+
* transport is not the thing that decides whether a valid message is understood.
|
|
82
|
+
*/
|
|
83
|
+
function asRecord(raw) {
|
|
84
|
+
if (typeof raw === 'string') {
|
|
85
|
+
try {
|
|
86
|
+
return asRecord(JSON.parse(raw));
|
|
87
|
+
} catch {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) return null;
|
|
92
|
+
return raw;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Whether [url] is an absolute https URL.
|
|
97
|
+
*
|
|
98
|
+
* Required before handing a URL to the OS browser: the page is trusted to name
|
|
99
|
+
* a bank, not to name a scheme that could reach something else on the device.
|
|
100
|
+
* Parsed rather than pattern-matched so `https:/\/evil` and friends cannot pass
|
|
101
|
+
* for an absolute URL.
|
|
102
|
+
*/
|
|
103
|
+
function isHttpsUrl(url) {
|
|
104
|
+
const parts = (0, _urlParts.parseUrlParts)(url);
|
|
105
|
+
return parts !== null && parts.scheme === 'https' && parts.host.length > 0;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=bridge-message.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_urlParts","require","parseHostedBridgeMessage","raw","message","asRecord","type","url","isHttpsUrl","code","trim","length","JSON","parse","Array","isArray","parts","parseUrlParts","scheme","host"],"sourceRoot":"../../../../src","sources":["internal/hosted/bridge-message.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA;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;AACO,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,GAAG,IAAAC,uBAAa,EAACV,GAAG,CAAC;EAChC,OAAOS,KAAK,KAAK,IAAI,IAAIA,KAAK,CAACE,MAAM,KAAK,OAAO,IAAIF,KAAK,CAACG,IAAI,CAACR,MAAM,GAAG,CAAC;AAC5E","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.HOSTED_ORIGIN_CHANNEL = void 0;
|
|
7
|
+
exports.buildHostedPaymentUrl = buildHostedPaymentUrl;
|
|
8
|
+
exports.isHostedOriginUrl = isHostedOriginUrl;
|
|
9
|
+
var _urlParts = require("../url-parts.js");
|
|
10
|
+
/**
|
|
11
|
+
* Origin channel this SDK identifies as to the hosted page.
|
|
12
|
+
*
|
|
13
|
+
* The same value must be recorded on the payment request by the merchant's
|
|
14
|
+
* backend, because the bank redirect that completes a payment carries no query
|
|
15
|
+
* string of ours and the return path is decided from the stored row.
|
|
16
|
+
*/
|
|
17
|
+
const HOSTED_ORIGIN_CHANNEL = exports.HOSTED_ORIGIN_CHANNEL = 'sdk_react_native';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Builds the hosted payment page URL for a payment request reference.
|
|
21
|
+
*
|
|
22
|
+
* The reference is the only credential the page needs; everything else is
|
|
23
|
+
* resolved server-side from the row it names.
|
|
24
|
+
*/
|
|
25
|
+
function buildHostedPaymentUrl(args) {
|
|
26
|
+
const base = args.baseUrl.trim().replace(/\/+$/, '');
|
|
27
|
+
const reference = encodeURIComponent(args.reference.trim());
|
|
28
|
+
return `${base}/link/payment/${reference}?channel=${HOSTED_ORIGIN_CHANNEL}`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Whether [url] belongs to the hosted origin derived from [baseUrl].
|
|
33
|
+
*
|
|
34
|
+
* The WebView loads only the hosted origin. Bank authentication deliberately
|
|
35
|
+
* happens outside it, so anything else navigating in-frame is refused rather
|
|
36
|
+
* than followed.
|
|
37
|
+
*/
|
|
38
|
+
function isHostedOriginUrl(args) {
|
|
39
|
+
return (0, _urlParts.isSameOrigin)(args.baseUrl, args.url);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=hosted-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_urlParts","require","HOSTED_ORIGIN_CHANNEL","exports","buildHostedPaymentUrl","args","base","baseUrl","trim","replace","reference","encodeURIComponent","isHostedOriginUrl","isSameOrigin","url"],"sourceRoot":"../../../../src","sources":["internal/hosted/hosted-url.ts"],"mappings":";;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,kBAAkB;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,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,YAAYR,qBAAqB,EAAE;AAC7E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,iBAAiBA,CAACP,IAAsC,EAAW;EACjF,OAAO,IAAAQ,sBAAY,EAACR,IAAI,CAACE,OAAO,EAAEF,IAAI,CAACS,GAAG,CAAC;AAC7C","ignoreList":[]}
|
|
@@ -9,12 +9,6 @@ Object.defineProperty(exports, "SecureStorePendingSessionStore", {
|
|
|
9
9
|
return _secureStorePendingSessionStore.SecureStorePendingSessionStore;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
Object.defineProperty(exports, "collectTelemetry", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _telemetryCollector.collectTelemetry;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
12
|
Object.defineProperty(exports, "launchBankRedirect", {
|
|
19
13
|
enumerable: true,
|
|
20
14
|
get: function () {
|
|
@@ -27,7 +21,6 @@ Object.defineProperty(exports, "useSpareLinkDeepLinks", {
|
|
|
27
21
|
return _deepLinkListener.useSpareLinkDeepLinks;
|
|
28
22
|
}
|
|
29
23
|
});
|
|
30
|
-
var _telemetryCollector = require("./telemetry-collector.js");
|
|
31
24
|
var _bankRedirect = require("./bank-redirect.js");
|
|
32
25
|
var _secureStorePendingSessionStore = require("./secure-store-pending-session-store.js");
|
|
33
26
|
var _deepLinkListener = require("./deep-link-listener.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_bankRedirect","require","_secureStorePendingSessionStore","_deepLinkListener"],"sourceRoot":"../../../src","sources":["internal/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,+BAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA","ignoreList":[]}
|
|
@@ -4,22 +4,66 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.redactPaymentReturnUri = redactPaymentReturnUri;
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Redacts the query of a bank-return URI before it is logged.
|
|
9
|
+
*
|
|
10
|
+
* Every value goes except the few that describe the outcome rather than identify
|
|
11
|
+
* anyone — see {@link KEPT_KEYS}. Redaction is a denylist by default rather than
|
|
12
|
+
* an allowlist of names to remove: an earlier version named the two keys to
|
|
13
|
+
* redact, so anything else the return ever carried was logged in full, and one of
|
|
14
|
+
* the names it knew (`exchange_code`) is not even in the contract any more.
|
|
15
|
+
*
|
|
16
|
+
* What is worth keeping in a log is the shape of the URI — its scheme, its path,
|
|
17
|
+
* which parameters were present — plus enough to explain the outcome.
|
|
18
|
+
*
|
|
19
|
+
* It also cannot use the global `URL`. React Native's is a stub whose
|
|
20
|
+
* `searchParams` returns a fresh empty instance, so `has()` was always false and
|
|
21
|
+
* this function returned the URI untouched on a device while redacting correctly
|
|
22
|
+
* under Jest, which runs on Node.
|
|
23
|
+
*
|
|
24
|
+
* The query is split here rather than read through `parseQueryParams`, because
|
|
25
|
+
* that decodes values and keeps only the first of a repeated key — fine for
|
|
26
|
+
* reading an outcome, wrong for reproducing a URI whose shape is the point.
|
|
27
|
+
*/
|
|
8
28
|
|
|
9
|
-
|
|
29
|
+
const REDACTED = '[REDACTED]';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Parameters whose values are kept, because they say what happened rather than to
|
|
33
|
+
* whom.
|
|
34
|
+
*
|
|
35
|
+
* Redacting these made the log useless for the one question it gets asked. A
|
|
36
|
+
* return that resolves as unresolved does so because of its `status`, and a log
|
|
37
|
+
* reading `status=[REDACTED]` cannot tell anyone which value was not recognised.
|
|
38
|
+
*
|
|
39
|
+
* None of these identifies a payer, a payment or a request: `status` is one of a
|
|
40
|
+
* fixed vocabulary, and `errorCode` and `error` are keys from a fixed list. The
|
|
41
|
+
* identifiers — `reference`, `merchantRef`, `paymentId` — and the signature stay
|
|
42
|
+
* redacted, as does `error_description`, which is prose and could name a person.
|
|
43
|
+
*/
|
|
44
|
+
const KEPT_KEYS = new Set(['status', 'errorCode', 'error']);
|
|
10
45
|
function redactPaymentReturnUri(uri) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
46
|
+
const queryStart = uri.indexOf('?');
|
|
47
|
+
const fragmentStart = uri.indexOf('#');
|
|
48
|
+
|
|
49
|
+
// No query and no fragment: nothing here carries a value.
|
|
50
|
+
if (queryStart === -1 && fragmentStart === -1) return uri;
|
|
51
|
+
const queryEnd = fragmentStart !== -1 && fragmentStart > queryStart ? fragmentStart : uri.length;
|
|
52
|
+
const beforeQuery = queryStart === -1 ? uri.slice(0, fragmentStart) : uri.slice(0, queryStart);
|
|
53
|
+
const query = queryStart === -1 ? '' : uri.slice(queryStart + 1, queryEnd);
|
|
54
|
+
|
|
55
|
+
// A fragment is dropped whole. Nothing in this SDK reads one, so its shape is
|
|
56
|
+
// not worth keeping, and a return that ever carried a token in one — as OAuth
|
|
57
|
+
// implicit flows do — must not put it in a log.
|
|
58
|
+
const hadFragment = fragmentStart !== -1;
|
|
59
|
+
const redactedQuery = query.split('&').filter(pair => pair.length > 0).map(pair => {
|
|
60
|
+
const eq = pair.indexOf('=');
|
|
61
|
+
const key = eq === -1 ? pair : pair.slice(0, eq);
|
|
62
|
+
if (KEPT_KEYS.has(key)) return pair;
|
|
63
|
+
return `${key}=${REDACTED}`;
|
|
64
|
+
}).join('&');
|
|
65
|
+
const rebuiltQuery = redactedQuery.length > 0 ? `?${redactedQuery}` : '';
|
|
66
|
+
const rebuiltFragment = hadFragment ? `#${REDACTED}` : '';
|
|
67
|
+
return `${beforeQuery}${rebuiltQuery}${rebuiltFragment}`;
|
|
24
68
|
}
|
|
25
69
|
//# sourceMappingURL=redact-uri.js.map
|