@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spare-link-session.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD
|
|
1
|
+
{"version":3,"file":"spare-link-session.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;gBAE5B,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;KAAE;CAIxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spare-link.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"spare-link.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HostedFlowController } from '../../core/services/hosted-flow-controller';
|
|
2
|
+
import type { HostedFlowState } from '../../core/services/hosted-flow-state';
|
|
3
|
+
/**
|
|
4
|
+
* React hook that bridges {@link HostedFlowController}'s observable to the
|
|
5
|
+
* component tree via `useSyncExternalStore`. Re-renders when the controller
|
|
6
|
+
* notifies a new state.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useHostedFlowState(controller: HostedFlowController): HostedFlowState;
|
|
9
|
+
//# sourceMappingURL=use-hosted-flow-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-hosted-flow-state.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/use-hosted-flow-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAE7E;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,eAAe,CAMpF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { HostedFlowController } from '../../core/services/hosted-flow-controller';
|
|
2
|
+
export interface HostedPaymentPageProps {
|
|
3
|
+
controller: HostedFlowController;
|
|
4
|
+
/** Resolved API base URL — the hosted page is served from the same host. */
|
|
5
|
+
baseUrl: string;
|
|
6
|
+
/** Called once the outcome has been shown and the flow should hand back. */
|
|
7
|
+
onResolved: () => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The screen a payer sees for the whole flow.
|
|
11
|
+
*
|
|
12
|
+
* Most of it is the hosted page. The native screens cover the moments the page
|
|
13
|
+
* cannot: while it loads, while the payer is away at their bank, and once there is
|
|
14
|
+
* an outcome to report.
|
|
15
|
+
*/
|
|
16
|
+
export declare function HostedPaymentPage(props: HostedPaymentPageProps): JSX.Element;
|
|
17
|
+
//# sourceMappingURL=hosted-payment-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-payment-page.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hosted/hosted-payment-page.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAavF,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,oBAAoB,CAAC;IACjC,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAuI5E"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a navigation the WebView is about to make should be allowed.
|
|
3
|
+
*
|
|
4
|
+
* Only the hosted origin may load in-frame. Bank authentication deliberately
|
|
5
|
+
* happens in a real browser, so a bank URL arriving here means the page's handoff
|
|
6
|
+
* did not reach us — following it would put the payer on a bank page with no
|
|
7
|
+
* address bar, which is the signal they rely on to tell a real one from a copy.
|
|
8
|
+
* Kept as a plain function because the WebView does not render under Jest, and
|
|
9
|
+
* this is the part worth testing.
|
|
10
|
+
*/
|
|
11
|
+
export declare function shouldAllowHostedNavigation(args: {
|
|
12
|
+
baseUrl: string;
|
|
13
|
+
url: string;
|
|
14
|
+
}): boolean;
|
|
15
|
+
export interface HostedPaymentWebViewProps {
|
|
16
|
+
/** Resolved API base URL — the hosted page is served from the same host. */
|
|
17
|
+
baseUrl: string;
|
|
18
|
+
/** The payment request this flow is paying. */
|
|
19
|
+
reference: string;
|
|
20
|
+
/**
|
|
21
|
+
* Called with each raw message the page posts. Parsing belongs to the caller so
|
|
22
|
+
* this component stays a transport.
|
|
23
|
+
*/
|
|
24
|
+
onBridgeMessage: (message: unknown) => void;
|
|
25
|
+
/** Called when the page itself could not be loaded. */
|
|
26
|
+
onLoadFailure?: () => void;
|
|
27
|
+
/**
|
|
28
|
+
* Called once this webview is on screen.
|
|
29
|
+
*
|
|
30
|
+
* Starts the clock the page has to become interactive, measured from here so
|
|
31
|
+
* that whatever the host did before rendering is not charged against it.
|
|
32
|
+
*/
|
|
33
|
+
onMounted?: () => void;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Hosts the hosted payment page.
|
|
37
|
+
*
|
|
38
|
+
* The page owns bank selection, the payee check and the consent screen, so this
|
|
39
|
+
* component carries no payment logic of its own: it loads one URL, forwards what
|
|
40
|
+
* the page reports, and refuses to navigate anywhere else.
|
|
41
|
+
*/
|
|
42
|
+
export declare function HostedPaymentWebView(props: HostedPaymentWebViewProps): JSX.Element;
|
|
43
|
+
//# sourceMappingURL=hosted-payment-webview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-payment-webview.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hosted/hosted-payment-webview.tsx"],"names":[],"mappings":"AAsBA;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAE3F;AAED,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,GAAG,CAAC,OAAO,CA4FlF"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { ConsentDetailsScreen, type ConsentDetailsScreenProps } from './consent-details-screen';
|
|
1
|
+
export { PageUnavailableScreen, type PageUnavailableScreenProps, } from './page-unavailable-screen';
|
|
3
2
|
export { RedirectHandoffScreen } from './redirect-handoff-screen';
|
|
4
3
|
export { ResumeProcessingScreen, type ResumeProcessingScreenProps, } from './resume-processing-screen';
|
|
5
4
|
export { ResultScreen, type ResultScreenProps } from './result-screen';
|
|
6
|
-
export { MandateSetupSuccessScreen, type MandateSetupSuccessScreenProps, } from './mandate-setup-success-screen';
|
|
7
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,GAChC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EACL,sBAAsB,EACtB,KAAK,2BAA2B,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface PageUnavailableScreenProps {
|
|
2
|
+
/** Asks for the payment page again. */
|
|
3
|
+
onRetry: () => void;
|
|
4
|
+
/** Gives up and hands the outcome back to the caller. */
|
|
5
|
+
onCancel: () => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Shown when the payment page could not be loaded, or loaded and never became
|
|
9
|
+
* interactive.
|
|
10
|
+
*
|
|
11
|
+
* It deliberately does not say the payment failed. Nothing has been attempted at
|
|
12
|
+
* this point — no consent, no bank, no money — and telling a payer their payment
|
|
13
|
+
* failed when the app could not open the page is the one thing they must not be
|
|
14
|
+
* told. It says what is true, says nothing has been taken, and offers the page
|
|
15
|
+
* again, because an unreachable service is usually unreachable briefly.
|
|
16
|
+
*/
|
|
17
|
+
export declare function PageUnavailableScreen(props: PageUnavailableScreenProps): JSX.Element;
|
|
18
|
+
//# sourceMappingURL=page-unavailable-screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-unavailable-screen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/page-unavailable-screen.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,0BAA0B;IACzC,uCAAuC;IACvC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,GAAG,CAAC,OAAO,CA8BpF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type BankLauncher } from '../core/services/hosted-flow-controller';
|
|
1
2
|
import type { PendingSessionStore } from '../core/services/pending-session-store';
|
|
2
3
|
import { type SpareLink } from '../public/spare-link-instance';
|
|
3
4
|
export interface SpareLinkHostProps {
|
|
@@ -8,16 +9,14 @@ export interface SpareLinkHostProps {
|
|
|
8
9
|
* When omitted, uses `spareLink.pendingSessionStore`.
|
|
9
10
|
*/
|
|
10
11
|
pendingSessionStore?: PendingSessionStore;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
mobileAppUrl?: string;
|
|
14
|
-
}) => Promise<void>;
|
|
12
|
+
/** Override how a bank authorization URL is opened. Tests inject a fake. */
|
|
13
|
+
launchBankRedirect?: BankLauncher;
|
|
15
14
|
showDismissButton?: boolean;
|
|
16
15
|
children?: React.ReactNode;
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* Host component that mounts the SDK modal and connects a {@link SpareLink}
|
|
20
|
-
* instance —
|
|
19
|
+
* instance — one instance, one host.
|
|
21
20
|
*/
|
|
22
21
|
export declare function SpareLinkHost(props: SpareLinkHostProps): JSX.Element;
|
|
23
22
|
//# sourceMappingURL=spare-link-host.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spare-link-host.d.ts","sourceRoot":"","sources":["../../../../src/ui/spare-link-host.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spare-link-host.d.ts","sourceRoot":"","sources":["../../../../src/ui/spare-link-host.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,YAAY,EAAwB,MAAM,yCAAyC,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAYlF,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,+BAA+B,CAAC;AAgB3E,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,SAAS,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAmSpE"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export { CustomStepper, type CustomStepperProps } from './stepper';
|
|
2
|
-
export { LayoutWHeader, type LayoutWHeaderProps } from './layout-w-header';
|
|
3
1
|
export { Footer, type FooterProps } from './footer';
|
|
4
2
|
export { GradientSpinner, type GradientSpinnerProps } from './gradient-spinner';
|
|
5
3
|
export { HandoffScreenLayout, type HandoffScreenLayoutProps } from './handoff-screen-layout';
|
|
4
|
+
export { ModalDismissButton, type ModalDismissButtonProps } from './modal-dismiss-button';
|
|
6
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/widgets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/widgets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* SDK version reported in telemetry and the default User-Agent.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* SDK version reported in telemetry and the default User-Agent.
|
|
3
|
+
*
|
|
4
|
+
* GENERATED FILE — do not edit by hand. Written from package.json by
|
|
5
|
+
* scripts/sync-sdk-version.mjs (run by the root `version` npm script after
|
|
6
|
+
* `changeset version`). The src/index.ts smoke test asserts this matches
|
|
7
|
+
* package.json's version.
|
|
6
8
|
*/
|
|
7
|
-
export declare const SDK_VERSION: "
|
|
9
|
+
export declare const SDK_VERSION: "1.0.0";
|
|
8
10
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAG,OAAgB,CAAC"}
|
|
@@ -1,124 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* SDK-side models. These are the camelCase shapes returned from the
|
|
3
|
-
* {@link LinkApiClient} — translated from the snake_case wire format defined
|
|
4
|
-
* by tofa (see harness `src/types/wire.ts` for the raw wire shapes).
|
|
5
|
-
*/
|
|
6
|
-
export interface AmountDto {
|
|
7
|
-
amount: string;
|
|
8
|
-
currency: string;
|
|
9
|
-
}
|
|
10
|
-
export interface PaymentScheduleEntry {
|
|
11
|
-
amount?: AmountDto;
|
|
12
|
-
maxAmount?: AmountDto;
|
|
13
|
-
paymentExecutionDate?: string;
|
|
14
|
-
}
|
|
15
|
-
export interface PeriodicControls {
|
|
16
|
-
maxCumulativeAmountPerPeriod?: AmountDto;
|
|
17
|
-
maxCumulativeNumberOfPaymentsPerPeriod?: number;
|
|
18
|
-
}
|
|
19
|
-
export interface PeriodicSchedule {
|
|
20
|
-
frequency?: string;
|
|
21
|
-
startDate?: string;
|
|
22
|
-
endDate?: string;
|
|
23
|
-
amount?: AmountDto;
|
|
24
|
-
maxAmount?: AmountDto;
|
|
25
|
-
controls?: PeriodicControls;
|
|
26
|
-
}
|
|
27
|
-
export interface CurrencyRequest {
|
|
28
|
-
priority?: string;
|
|
29
|
-
purpose?: string;
|
|
30
|
-
chargeBearer?: string;
|
|
31
|
-
}
|
|
32
|
-
export interface PaymentInstructions {
|
|
33
|
-
amount?: AmountDto;
|
|
34
|
-
isInternationalPayment?: boolean;
|
|
35
|
-
maxCumulativeNumberOfPayments?: number;
|
|
36
|
-
maxCumulativeAmount?: AmountDto;
|
|
37
|
-
paymentSchedule?: PaymentScheduleEntry[];
|
|
38
|
-
periodicSchedule?: PeriodicSchedule;
|
|
39
|
-
currencyRequest?: CurrencyRequest;
|
|
40
|
-
}
|
|
41
|
-
/** Payment request DTO as carried by GET /link. */
|
|
42
|
-
export interface CreatePaymentRequestInput {
|
|
43
|
-
id: string;
|
|
44
|
-
internalReference: string;
|
|
45
|
-
status: string;
|
|
46
|
-
type: string;
|
|
47
|
-
creditorType: string;
|
|
48
|
-
purpose: string;
|
|
49
|
-
creditorReference?: string;
|
|
50
|
-
merchantReference: string;
|
|
51
|
-
createdAt: string;
|
|
52
|
-
updatedAt: string;
|
|
53
|
-
isCopVerified: boolean;
|
|
54
|
-
creditorAccount: {
|
|
55
|
-
schemeName: string;
|
|
56
|
-
identification: string;
|
|
57
|
-
name?: string;
|
|
58
|
-
};
|
|
59
|
-
instructions: PaymentInstructions;
|
|
60
|
-
}
|
|
61
|
-
export interface LinkSessionResponse {
|
|
62
|
-
request: CreatePaymentRequestInput;
|
|
63
|
-
providerId?: string;
|
|
64
|
-
}
|
|
65
|
-
export interface ConsentResponse {
|
|
66
|
-
redirectUrl: string;
|
|
67
|
-
mobileAppUrl?: string;
|
|
68
|
-
}
|
|
69
|
-
export interface LinkStatusResponse {
|
|
70
|
-
linkSessionId: string;
|
|
71
|
-
/** created | initialized | redirected | callback_received | completed | failed | cancelled | expired */
|
|
72
|
-
status: string;
|
|
73
|
-
/** payment | account */
|
|
74
|
-
intent: string;
|
|
75
|
-
/** sip | multipayment | account */
|
|
76
|
-
resourceType: string;
|
|
77
|
-
expiresAt: string;
|
|
78
|
-
failureCode?: string;
|
|
79
|
-
cancelledAt?: string;
|
|
80
|
-
completedAt?: string;
|
|
81
|
-
failedAt?: string;
|
|
82
|
-
}
|
|
83
|
-
export interface CopResponse {
|
|
84
|
-
/** `Match` | `NoMatch` | `Unavailable` */
|
|
85
|
-
matchIndicator: string;
|
|
86
|
-
maskedName?: string;
|
|
87
|
-
}
|
|
88
|
-
export interface TelemetryResponse {
|
|
89
|
-
accepted?: boolean;
|
|
90
|
-
linkSessionId?: string;
|
|
91
|
-
}
|
|
92
|
-
export interface PatchTokenResponse {
|
|
93
|
-
status: string;
|
|
94
|
-
linkSession?: {
|
|
95
|
-
linkSessionId: string;
|
|
96
|
-
status: string;
|
|
97
|
-
cancelledAt: string | null;
|
|
98
|
-
failedAt: string | null;
|
|
99
|
-
failureCode: string | null;
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
export interface ProviderCountry {
|
|
103
|
-
englishName: string;
|
|
104
|
-
iso3166Code: string;
|
|
105
|
-
}
|
|
106
|
-
export interface ProviderSummary {
|
|
107
|
-
id: string;
|
|
108
|
-
code: string;
|
|
109
|
-
name: string;
|
|
110
|
-
logoUrl: string;
|
|
111
|
-
status: string;
|
|
112
|
-
country: ProviderCountry;
|
|
113
|
-
}
|
|
114
|
-
/** Persisted record describing an in-flight payment for cold-start recovery. */
|
|
115
|
-
export interface PendingSessionRecord {
|
|
116
|
-
sessionId: string;
|
|
117
|
-
selectedBankId: string;
|
|
118
|
-
authorizationUrl: string;
|
|
119
|
-
consentAt?: number;
|
|
120
|
-
recoveryAttempts: number;
|
|
121
|
-
/** Merchant reference from the link session, used to bind buffered return URIs. */
|
|
122
|
-
merchantRef?: string;
|
|
123
|
-
}
|
|
1
|
+
export type { PendingSessionRecord } from './pending-session-record.js';
|
|
124
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/models/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/models/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA0B,CAAC"}
|
|
@@ -1,15 +1,98 @@
|
|
|
1
|
+
export declare function isPaymentReturnCallbackUri(uri: URL | string): boolean;
|
|
2
|
+
/** Reads the query of a return URI into the shape the extractors below take. */
|
|
3
|
+
export declare function paymentReturnParams(uri: URL | string): Record<string, string>;
|
|
1
4
|
/**
|
|
2
|
-
*
|
|
5
|
+
* Whether the return URI reports a completed payment.
|
|
3
6
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
7
|
+
* Only a known settled status counts. Absent, in-flight or a status this version
|
|
8
|
+
* has not been taught is read as not-a-success: a payer returned without one has
|
|
9
|
+
* not been told their payment succeeded, and neither should the app.
|
|
6
10
|
*/
|
|
7
|
-
export declare function
|
|
11
|
+
export declare function isPaymentReturnSuccess(params: Record<string, string>): boolean;
|
|
12
|
+
/** The payment request reference, if the return URI named one. */
|
|
13
|
+
export declare function extractPaymentReturnReference(params: Record<string, string>): string | undefined;
|
|
14
|
+
/** The merchant's own reference for the attempt, if present. */
|
|
15
|
+
export declare function extractPaymentReturnMerchantRef(params: Record<string, string>): string | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Spare's identifier for the payment itself, present on a success.
|
|
18
|
+
*
|
|
19
|
+
* Distinct from the reference, which names the *request*. This is what a merchant
|
|
20
|
+
* records against the order.
|
|
21
|
+
*/
|
|
22
|
+
export declare function extractPaymentReturnPaymentId(params: Record<string, string>): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Spare's identifier for a mandate, present on a mandate's success.
|
|
25
|
+
*
|
|
26
|
+
* A return carries this or {@link extractPaymentReturnPaymentId}, never both: a
|
|
27
|
+
* single payment names a payment, every mandate type names a mandate. Read
|
|
28
|
+
* whichever is present rather than assuming which one the flow produced.
|
|
29
|
+
*/
|
|
30
|
+
export declare function extractPaymentReturnMandateId(params: Record<string, string>): string | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* The signature over this return, if it carried one.
|
|
33
|
+
*
|
|
34
|
+
* An ES256 JWS whose payload is the return URL. Handed to the caller unverified —
|
|
35
|
+
* checking it needs Spare's public key, which the SDK does not hold.
|
|
36
|
+
*/
|
|
37
|
+
export declare function extractPaymentReturnSignature(params: Record<string, string>): string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* The failure code from a payment return URI.
|
|
40
|
+
*
|
|
41
|
+
* A return that says only that it failed, naming no key, still yields something a
|
|
42
|
+
* merchant can branch on.
|
|
43
|
+
*/
|
|
44
|
+
export declare function extractPaymentReturnErrorCode(params: Record<string, string>): string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* The machine-readable reason a payment did not complete, e.g. `user_cancelled`.
|
|
47
|
+
*
|
|
48
|
+
* Kept alongside the code because the code is often generic where this is not.
|
|
49
|
+
*/
|
|
50
|
+
export declare function extractPaymentReturnErrorReason(params: Record<string, string>): string | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* The human-readable failure text, if the return carried one.
|
|
53
|
+
*
|
|
54
|
+
* For the merchant's logs and their own copy decisions — not shown to the payer
|
|
55
|
+
* by this SDK, which cannot verify anything the link says.
|
|
56
|
+
*/
|
|
57
|
+
export declare function extractPaymentReturnErrorDescription(params: Record<string, string>): string | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Everything a return said, gathered once.
|
|
60
|
+
*
|
|
61
|
+
* Carried whole through the flow so a new parameter reaches the caller by being
|
|
62
|
+
* read here, rather than by being threaded through every state factory.
|
|
63
|
+
*/
|
|
64
|
+
export interface PaymentReturnReport {
|
|
65
|
+
/**
|
|
66
|
+
* The payment request this return is about.
|
|
67
|
+
*
|
|
68
|
+
* Compared against the payment in flight before the outcome is applied: a
|
|
69
|
+
* delayed or spoofed callback naming another payment must not resolve this one.
|
|
70
|
+
*/
|
|
71
|
+
readonly reference?: string;
|
|
72
|
+
readonly merchantRef?: string;
|
|
73
|
+
readonly paymentId?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Spare's identifier for a mandate. Set instead of `paymentId` when the flow
|
|
76
|
+
* created a mandate rather than a single payment.
|
|
77
|
+
*/
|
|
78
|
+
readonly mandateId?: string;
|
|
79
|
+
readonly signature?: string;
|
|
80
|
+
readonly errorCode?: string;
|
|
81
|
+
readonly errorReason?: string;
|
|
82
|
+
readonly errorDescription?: string;
|
|
83
|
+
}
|
|
8
84
|
/**
|
|
9
|
-
*
|
|
85
|
+
* What a return said about the payment.
|
|
10
86
|
*
|
|
11
|
-
* `
|
|
12
|
-
*
|
|
87
|
+
* `unknown` is not a failure. The status vocabulary grows, and a payment the
|
|
88
|
+
* service has not finished deciding on must not be reported as one that failed —
|
|
89
|
+
* the merchant's backend is what resolves it.
|
|
13
90
|
*/
|
|
14
|
-
export
|
|
91
|
+
export type PaymentReturnOutcome = 'processed' | 'rejected' | 'unknown';
|
|
92
|
+
export declare function paymentReturnOutcome(params: Record<string, string>): PaymentReturnOutcome;
|
|
93
|
+
/** Reads a return URI into an outcome and everything it reported. */
|
|
94
|
+
export declare function readPaymentReturn(uri: URL | string): {
|
|
95
|
+
outcome: PaymentReturnOutcome;
|
|
96
|
+
report: PaymentReturnReport;
|
|
97
|
+
};
|
|
15
98
|
//# sourceMappingURL=payment-return-params.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-return-params.d.ts","sourceRoot":"","sources":["../../../../../src/core/models/payment-return-params.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"payment-return-params.d.ts","sourceRoot":"","sources":["../../../../../src/core/models/payment-return-params.ts"],"names":[],"mappings":"AAqEA,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO,CAUrE;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE7E;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAG9E;AAED,kEAAkE;AAClE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAEhG;AAED,gEAAgE;AAChE,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,GAAG,SAAS,CAEpB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAEhG;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAEhG;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAEhG;AAsBD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAMhG;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,GAAG,SAAS,CAGpB;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,MAAM,GAAG,SAAS,CAEpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAExE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,oBAAoB,CAiBzF;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG;IACpD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAeA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the SDK remembers about a payment that was still in flight.
|
|
3
|
+
*
|
|
4
|
+
* Only the reference: the SDK holds no credentials and can ask the service
|
|
5
|
+
* nothing, so the record exists to tell a cold start which payment to hand the
|
|
6
|
+
* merchant's backend for resolution — not to resume the flow itself.
|
|
7
|
+
*/
|
|
8
|
+
export interface PendingSessionRecord {
|
|
9
|
+
reference: string;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=pending-session-record.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-session-record.d.ts","sourceRoot":"","sources":["../../../../../src/core/models/pending-session-record.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { type HostedFlowState } from './hosted-flow-state.js';
|
|
2
|
+
/** Opens a bank authorization URL outside the WebView. */
|
|
3
|
+
export type BankLauncher = (url: string) => Promise<void>;
|
|
4
|
+
/**
|
|
5
|
+
* How long the page has to become interactive, measured from when the webview
|
|
6
|
+
* mounts.
|
|
7
|
+
*
|
|
8
|
+
* A page can load and still never speak: its script can fail to fetch, or throw
|
|
9
|
+
* before it posts `spare.ready`. Nothing else would notice, and the payer would
|
|
10
|
+
* hold a blank frame for as long as they were willing to.
|
|
11
|
+
*
|
|
12
|
+
* Measured from the webview rather than from this controller, because a
|
|
13
|
+
* controller is built before the screen is: the sheet's animation and whatever
|
|
14
|
+
* the host waits on before rendering would otherwise be charged against the
|
|
15
|
+
* page's budget, and a page that merely loads slowly would be called unreachable.
|
|
16
|
+
*/
|
|
17
|
+
export declare const DEFAULT_READY_TIMEOUT_MS = 20000;
|
|
18
|
+
export interface HostedFlowControllerOptions {
|
|
19
|
+
reference: string;
|
|
20
|
+
bankLauncher?: BankLauncher;
|
|
21
|
+
/** Override the readiness timeout. Tests set this alongside fake timers. */
|
|
22
|
+
readyTimeoutMs?: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Drives a hosted payment from the messages the page sends and the deep link
|
|
26
|
+
* the OS delivers when the payer comes back.
|
|
27
|
+
*
|
|
28
|
+
* The SDK makes no API calls of its own: the page creates the consent, and the
|
|
29
|
+
* merchant's backend reads the result. So this controller only ever reacts —
|
|
30
|
+
* which is why every transition here is guarded against arriving after the flow
|
|
31
|
+
* has already resolved.
|
|
32
|
+
*/
|
|
33
|
+
export declare class HostedFlowController {
|
|
34
|
+
readonly reference: string;
|
|
35
|
+
private readonly bankLauncher;
|
|
36
|
+
private readonly listeners;
|
|
37
|
+
private readonly readyTimeoutMs;
|
|
38
|
+
private currentState;
|
|
39
|
+
private readyTimer;
|
|
40
|
+
constructor(options: HostedFlowControllerOptions);
|
|
41
|
+
/**
|
|
42
|
+
* Records that the webview carrying the page is on screen.
|
|
43
|
+
*
|
|
44
|
+
* Starts the clock the page has to become interactive. Called on mount rather
|
|
45
|
+
* than on load, so a document that never finishes arriving is covered too.
|
|
46
|
+
*/
|
|
47
|
+
reportPageMounted(): void;
|
|
48
|
+
get state(): HostedFlowState;
|
|
49
|
+
/** Subscribe to state changes. Returns an unsubscribe function. */
|
|
50
|
+
subscribe(listener: () => void): () => void;
|
|
51
|
+
/**
|
|
52
|
+
* Reacts to a message from the hosted page.
|
|
53
|
+
*
|
|
54
|
+
* Resolves to whether the message was understood, so a caller can log what it
|
|
55
|
+
* dropped. An unrecognised message is not a failure: the page keeps working
|
|
56
|
+
* and the payer is unaffected.
|
|
57
|
+
*/
|
|
58
|
+
handleBridgeMessage(raw: unknown): Promise<boolean>;
|
|
59
|
+
/**
|
|
60
|
+
* Resolves the flow from the deep link the payer returned through.
|
|
61
|
+
*
|
|
62
|
+
* The outcome is read from the link rather than inferred: it is the only
|
|
63
|
+
* report of what the bank and the payment actually did.
|
|
64
|
+
*/
|
|
65
|
+
/** Whether the page is still the thing on screen and may still be believed. */
|
|
66
|
+
private isPagePresented;
|
|
67
|
+
handleReturn(uri: URL | string): void;
|
|
68
|
+
/**
|
|
69
|
+
* Records that the payment page could not be loaded.
|
|
70
|
+
*
|
|
71
|
+
* Only meaningful before the bank is opened. Once the payer is away, a load
|
|
72
|
+
* error is the WebView behind them and says nothing about their payment.
|
|
73
|
+
*
|
|
74
|
+
* Before the page has spoken this does not resolve the flow: nothing has been
|
|
75
|
+
* attempted, so the payer is offered the page again rather than told their
|
|
76
|
+
* payment failed.
|
|
77
|
+
*
|
|
78
|
+
* After it has spoken, it does. By then the payer may have chosen a bank and
|
|
79
|
+
* the page may have created a consent for it, and reloading from the start
|
|
80
|
+
* could create a second one while silently discarding what they entered.
|
|
81
|
+
*/
|
|
82
|
+
failToLoad(): void;
|
|
83
|
+
/**
|
|
84
|
+
* Asks for the page again after it could not be reached.
|
|
85
|
+
*
|
|
86
|
+
* The attempt is counted so the screen mounts a fresh webview: reusing the one
|
|
87
|
+
* that failed would show the payer the same dead frame.
|
|
88
|
+
*/
|
|
89
|
+
retry(): void;
|
|
90
|
+
/**
|
|
91
|
+
* Records that the payer gave up on a page that could not be reached.
|
|
92
|
+
*
|
|
93
|
+
* Reported as a failure rather than abandonment: the payer did not leave a
|
|
94
|
+
* payment in progress, the SDK never managed to present one.
|
|
95
|
+
*/
|
|
96
|
+
giveUp(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Records that the payer left before the flow resolved.
|
|
99
|
+
*
|
|
100
|
+
* A payment already at the bank may still complete after this, so it is
|
|
101
|
+
* reported as abandoned rather than failed: the merchant's backend, not the
|
|
102
|
+
* app, is what knows.
|
|
103
|
+
*/
|
|
104
|
+
abandon(): void;
|
|
105
|
+
dispose(): void;
|
|
106
|
+
private watchForReadiness;
|
|
107
|
+
private stopWatchingForReadiness;
|
|
108
|
+
/**
|
|
109
|
+
* Opens the bank and waits for the payer to be sent back.
|
|
110
|
+
*
|
|
111
|
+
* The URL is opened exactly once, and never once the flow has resolved. The
|
|
112
|
+
* page posts on render, so a rebuild can repeat the message; opening a second
|
|
113
|
+
* browser — or one for a payment the payer has already left — would leave them
|
|
114
|
+
* authorizing in a window whose return nobody is waiting for.
|
|
115
|
+
*/
|
|
116
|
+
private openBank;
|
|
117
|
+
private moveTo;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=hosted-flow-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hosted-flow-controller.d.ts","sourceRoot":"","sources":["../../../../../src/core/services/hosted-flow-controller.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,eAAe,EAAqC,MAAM,wBAAqB,CAAC;AAI9F,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,UAAU,CAA4C;gBAElD,OAAO,EAAE,2BAA2B;IAQhD;;;;;OAKG;IACH,iBAAiB,IAAI,IAAI;IAKzB,IAAI,KAAK,IAAI,eAAe,CAE3B;IAED,mEAAmE;IACnE,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAO3C;;;;;;OAMG;IACG,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CzD;;;;;OAKG;IACH,+EAA+E;IAC/E,OAAO,CAAC,eAAe;IAKvB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI;IA4CrC;;;;;;;;;;;;;OAaG;IACH,UAAU,IAAI,IAAI;IA2BlB;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IAWb;;;;;OAKG;IACH,MAAM,IAAI,IAAI;IAed;;;;;;OAMG;IACH,OAAO,IAAI,IAAI;IAmBf,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,wBAAwB;IAMhC;;;;;;;OAOG;YACW,QAAQ;IAiCtB,OAAO,CAAC,MAAM;CAcf"}
|