@spare-technologies/spare-link 0.1.0-beta.1 → 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 -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/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/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/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/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/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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SCHEME_AND_AUTHORITY","DEFAULT_PORTS","http","https","parseUrlParts","url","match","exec","trim","undefined","scheme","toLowerCase","authority","slice","lastIndexOf","hostAndPort","splitHostAndPort","host","portText","length","port","test","Number","parseInt","isSameOrigin","a","b","left","right","parseQueryParams","params","start","indexOf","fragment","query","pair","split","eq","rawKey","rawValue","key","decodeFormComponent","Object","hasOwn","startsWith","close","rest","colon","value","plusesAsSpaces","replace","decodeURIComponent"],"sourceRoot":"../../../src","sources":["internal/url-parts.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export { defaultBaseUrlFor, tenantCountryCode, resolvedBaseUrl,
|
|
3
|
+
export { defaultBaseUrlFor, tenantCountryCode, resolvedBaseUrl, assertValidConfig } from "./spare-link-config.js";
|
|
4
4
|
export { SPARE_LINK_EVENT_TYPES, isSpareLinkEvent, SpareLinkEvents } from "./spare-link-event.js";
|
|
5
5
|
export { paymentSuccess, paymentCancelled, paymentFailed, paymentAbandoned } from "./payment-result.js";
|
|
6
|
-
export { isSessionRecovered, isNoRecoveryNeeded
|
|
6
|
+
export { isSessionRecovered, isNoRecoveryNeeded } from "./recovery-result.js";
|
|
7
7
|
export { SpareLinkSession } from "./spare-link-session.js";
|
|
8
8
|
export { SpareLink } from "./spare-link-instance.js";
|
|
9
|
-
export { kMaxRecoveryAttempts, DEFAULT_REQUEST_TIMEOUT_MS, DEFAULT_AWAITING_CALLBACK_TIMEOUT_MS, DEFAULT_AWAITING_CALLBACK_POLL_MS } from "./constants.js";
|
|
10
9
|
export { configureSpareLinkLogging, createLogger } from "../internal/logger.js";
|
|
11
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defaultBaseUrlFor","tenantCountryCode","resolvedBaseUrl","
|
|
1
|
+
{"version":3,"names":["defaultBaseUrlFor","tenantCountryCode","resolvedBaseUrl","assertValidConfig","SPARE_LINK_EVENT_TYPES","isSpareLinkEvent","SpareLinkEvents","paymentSuccess","paymentCancelled","paymentFailed","paymentAbandoned","isSessionRecovered","isNoRecoveryNeeded","SpareLinkSession","SpareLink","configureSpareLinkLogging","createLogger"],"sourceRoot":"../../../src","sources":["public/index.ts"],"mappings":";;AAAA,SAIEA,iBAAiB,EACjBC,iBAAiB,EACjBC,eAAe,EACfC,iBAAiB,QACZ,wBAAqB;AAE5B,SAWEC,sBAAsB,EACtBC,gBAAgB,EAChBC,eAAe,QACV,uBAAoB;AAE3B,SAOEC,cAAc,EACdC,gBAAgB,EAChBC,aAAa,EACbC,gBAAgB,QACX,qBAAkB;AAQzB,SAASC,kBAAkB,EAAEC,kBAAkB,QAAQ,sBAAmB;AAE1E,SAASC,gBAAgB,QAAQ,yBAAsB;AACvD,SAASC,SAAS,QAA+B,0BAAuB;AAExE,SACEC,yBAAyB,EACzBC,YAAY,QAKP,uBAAoB","ignoreList":[]}
|
|
@@ -2,15 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Terminal outcome of a payment flow — narrow on the `status` field.
|
|
5
|
+
*
|
|
6
|
+
* Every result here is read off a deep link, which is interceptable by design
|
|
7
|
+
* and names no bank identifiers. It reports what happened rather than attesting
|
|
8
|
+
* to it: confirm with your backend via `GET /payment-requests/{reference}`
|
|
9
|
+
* before acting on one.
|
|
5
10
|
*/
|
|
6
11
|
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
12
|
+
/**
|
|
13
|
+
* The return reported a completed payment.
|
|
14
|
+
*
|
|
15
|
+
* Treat this as a prompt to confirm with your backend, not as settlement.
|
|
16
|
+
*/
|
|
10
17
|
|
|
11
18
|
/** Payment failed. Always has an `errorCode` so merchants can map to UI copy. */
|
|
12
19
|
|
|
13
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* The payer left before the flow resolved either way.
|
|
22
|
+
*
|
|
23
|
+
* A payment already at the bank may still complete after this, so it is not a
|
|
24
|
+
* failure — only your backend knows how it ended.
|
|
25
|
+
*/
|
|
14
26
|
|
|
15
27
|
// ---- Constructor helpers ---------------------------------------------------
|
|
16
28
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["paymentSuccess","args","status","paymentCancelled","paymentFailed","paymentAbandoned"],"sourceRoot":"../../../src","sources":["public/payment-result.ts"],"mappings":";;AAAA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["paymentSuccess","args","status","paymentCancelled","paymentFailed","paymentAbandoned"],"sourceRoot":"../../../src","sources":["public/payment-result.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA4CA;AACA;AACA;AACA;AACA;;AASA;;AAMA;AACA;AACA;AACA;AACA;AACA;;AAOA;;AAEA,OAAO,SAASA,cAAcA,CAACC,IAAoC,EAAkB;EACnF,OAAO;IAAEC,MAAM,EAAE,SAAS;IAAE,GAAGD;EAAK,CAAC;AACvC;AAEA,OAAO,SAASE,gBAAgBA,CAACF,IAAsC,EAAoB;EACzF,OAAO;IAAEC,MAAM,EAAE,WAAW;IAAE,GAAGD;EAAK,CAAC;AACzC;AAEA,OAAO,SAASG,aAAaA,CAACH,IAAmC,EAAiB;EAChF,OAAO;IAAEC,MAAM,EAAE,QAAQ;IAAE,GAAGD;EAAK,CAAC;AACtC;AAEA,OAAO,SAASI,gBAAgBA,CAACJ,IAAsC,EAAoB;EACzF,OAAO;IAAEC,MAAM,EAAE,WAAW;IAAE,GAAGD;EAAK,CAAC;AACzC","ignoreList":[]}
|
|
@@ -2,25 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Why {@link SpareLink.resumeIfNeeded} did not recover a terminal session.
|
|
5
|
-
* Mirrors Flutter's `NoRecoveryReason`.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Outcome of {@link SpareLink.resumeIfNeeded}.
|
|
10
5
|
*
|
|
11
|
-
*
|
|
6
|
+
* `outcomeUnknown` is the one that carries weight: a payment was pending and no
|
|
7
|
+
* return arrived, so **it may have completed**. The SDK holds no credentials and
|
|
8
|
+
* has nothing to ask with — the reference is handed back for your backend to
|
|
9
|
+
* resolve.
|
|
12
10
|
*/
|
|
13
11
|
|
|
14
|
-
/**
|
|
12
|
+
/** Outcome of {@link SpareLink.resumeIfNeeded}. */
|
|
15
13
|
|
|
16
|
-
/**
|
|
14
|
+
/** No pending payment was resolved to a terminal outcome. */
|
|
17
15
|
|
|
18
|
-
/**
|
|
19
|
-
* A pending session is non-terminal and the SDK opened its recovery UI —
|
|
20
|
-
* the integrator should treat this as in-progress, not "nothing happened".
|
|
21
|
-
* The terminal outcome arrives later via `SpareLink.events` /
|
|
22
|
-
* `spareLink.emitTerminal`, not as a second `resumeIfNeeded` resolution.
|
|
23
|
-
*/
|
|
16
|
+
/** A pending payment was resolved to a terminal {@link PaymentResult}. */
|
|
24
17
|
|
|
25
18
|
export function isSessionRecovered(r) {
|
|
26
19
|
return r.kind === 'recovered';
|
|
@@ -28,7 +21,4 @@ export function isSessionRecovered(r) {
|
|
|
28
21
|
export function isNoRecoveryNeeded(r) {
|
|
29
22
|
return r.kind === 'none';
|
|
30
23
|
}
|
|
31
|
-
export function isRecoveryAwaitingUser(r) {
|
|
32
|
-
return r.kind === 'awaitingUser';
|
|
33
|
-
}
|
|
34
24
|
//# sourceMappingURL=recovery-result.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isSessionRecovered","r","kind","isNoRecoveryNeeded"
|
|
1
|
+
{"version":3,"names":["isSessionRecovered","r","kind","isNoRecoveryNeeded"],"sourceRoot":"../../../src","sources":["public/recovery-result.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;;AAGA;;AAQA;;AAMA,OAAO,SAASA,kBAAkBA,CAACC,CAAiB,EAAyB;EAC3E,OAAOA,CAAC,CAACC,IAAI,KAAK,WAAW;AAC/B;AAEA,OAAO,SAASC,kBAAkBA,CAACF,CAAiB,EAAyB;EAC3E,OAAOA,CAAC,CAACC,IAAI,KAAK,MAAM;AAC1B","ignoreList":[]}
|
|
@@ -1,18 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Deployment environment for the Spare Link API, which is also where the hosted
|
|
7
|
+
* payment page is served from.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/** Default port an Encore app serves on. */
|
|
11
|
+
const LOCAL_PORT = 4000;
|
|
12
|
+
|
|
3
13
|
/**
|
|
4
|
-
*
|
|
14
|
+
* A Spare API running on the developer's own machine.
|
|
5
15
|
*
|
|
6
|
-
*
|
|
7
|
-
* the
|
|
16
|
+
* The host differs by platform because an emulator's `localhost` is the emulator,
|
|
17
|
+
* not the machine hosting it. A **physical device** reaches neither, so pass
|
|
18
|
+
* `baseUrl` with your machine's address on the local network instead.
|
|
19
|
+
*
|
|
20
|
+
* Serves over plain HTTP, which both platforms block by default. See the
|
|
21
|
+
* integration notes for the debug-only exceptions that allow it.
|
|
8
22
|
*/
|
|
23
|
+
function localBaseUrl() {
|
|
24
|
+
return Platform.OS === 'android' ? `http://10.0.2.2:${LOCAL_PORT}` : `http://localhost:${LOCAL_PORT}`;
|
|
25
|
+
}
|
|
9
26
|
|
|
27
|
+
/**
|
|
28
|
+
* `dev` is Spare's own integration environment, not one an integrator would ship
|
|
29
|
+
* against. Unlike the others its host names a single tenant, so it serves UAE alone.
|
|
30
|
+
*/
|
|
10
31
|
const DEFAULT_BASE_URLS = {
|
|
32
|
+
dev: 'https://api-dev-uae.tryspare.ae',
|
|
11
33
|
sandbox: 'https://api.sandbox.tryspare.ae',
|
|
12
34
|
production: 'https://api.tryspare.ae'
|
|
13
35
|
};
|
|
14
36
|
export function defaultBaseUrlFor(env) {
|
|
15
|
-
return DEFAULT_BASE_URLS[env];
|
|
37
|
+
return env === 'local' ? localBaseUrl() : DEFAULT_BASE_URLS[env];
|
|
16
38
|
}
|
|
17
39
|
|
|
18
40
|
/** Spare API tenant — one country per tenant. */
|
|
@@ -26,7 +48,7 @@ export function tenantCountryCode(t) {
|
|
|
26
48
|
return TENANT_COUNTRY_CODES[t];
|
|
27
49
|
}
|
|
28
50
|
|
|
29
|
-
/** Configuration
|
|
51
|
+
/** Configuration for a Spare Link instance. */
|
|
30
52
|
|
|
31
53
|
/** Resolved base URL: explicit `baseUrl` if provided, else the environment default. */
|
|
32
54
|
export function resolvedBaseUrl(config) {
|
|
@@ -34,21 +56,26 @@ export function resolvedBaseUrl(config) {
|
|
|
34
56
|
}
|
|
35
57
|
|
|
36
58
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
59
|
+
* The tenants the hosted flow can actually serve.
|
|
60
|
+
*
|
|
61
|
+
* `tenant` accepts the others because the API surface outlives this list, but
|
|
62
|
+
* accepting one the page cannot serve would put a payer in front of the wrong
|
|
63
|
+
* country's flow rather than telling the integrator at construction time.
|
|
39
64
|
*/
|
|
65
|
+
const SUPPORTED_TENANTS = ['uae'];
|
|
40
66
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Throws if a config cannot be honoured.
|
|
69
|
+
*
|
|
70
|
+
* Called from {@link SpareLink}'s constructor, so a bad value fails where it was
|
|
71
|
+
* written rather than reaching the webview as a URL nobody meant.
|
|
72
|
+
*/
|
|
46
73
|
export function assertValidConfig(config) {
|
|
47
|
-
if (!config.linkToken) {
|
|
48
|
-
throw new Error('SpareLinkConfig: linkToken must not be empty');
|
|
49
|
-
}
|
|
50
74
|
if (config.baseUrl && !/^https?:\/\//.test(config.baseUrl)) {
|
|
51
75
|
throw new Error('SpareLinkConfig: baseUrl must start with http:// or https://');
|
|
52
76
|
}
|
|
77
|
+
if (!SUPPORTED_TENANTS.includes(config.tenant)) {
|
|
78
|
+
throw new Error(`SpareLinkConfig: the hosted flow does not serve tenant '${config.tenant}' yet ` + `(supported: ${SUPPORTED_TENANTS.join(', ')})`);
|
|
79
|
+
}
|
|
53
80
|
}
|
|
54
81
|
//# sourceMappingURL=spare-link-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DEFAULT_BASE_URLS","sandbox","production","defaultBaseUrlFor","env","TENANT_COUNTRY_CODES","ksa","uae","bah","tenantCountryCode","t","resolvedBaseUrl","config","baseUrl","environment","
|
|
1
|
+
{"version":3,"names":["Platform","LOCAL_PORT","localBaseUrl","OS","DEFAULT_BASE_URLS","dev","sandbox","production","defaultBaseUrlFor","env","TENANT_COUNTRY_CODES","ksa","uae","bah","tenantCountryCode","t","resolvedBaseUrl","config","baseUrl","environment","SUPPORTED_TENANTS","assertValidConfig","test","Error","includes","tenant","join"],"sourceRoot":"../../../src","sources":["public/spare-link-config.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA;AACA;;AAGA;AACA,MAAMC,UAAU,GAAG,IAAI;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,YAAYA,CAAA,EAAW;EAC9B,OAAOF,QAAQ,CAACG,EAAE,KAAK,SAAS,GAC5B,mBAAmBF,UAAU,EAAE,GAC/B,oBAAoBA,UAAU,EAAE;AACtC;;AAEA;AACA;AACA;AACA;AACA,MAAMG,iBAAiF,GAAG;EACxFC,GAAG,EAAE,iCAAiC;EACtCC,OAAO,EAAE,iCAAiC;EAC1CC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,SAASC,iBAAiBA,CAACC,GAAuB,EAAU;EACjE,OAAOA,GAAG,KAAK,OAAO,GAAGP,YAAY,CAAC,CAAC,GAAGE,iBAAiB,CAACK,GAAG,CAAC;AAClE;;AAEA;;AAGA,MAAMC,oBAA8D,GAAG;EACrEC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE,KAAK;EACVC,GAAG,EAAE;AACP,CAAC;AAED,OAAO,SAASC,iBAAiBA,CAACC,CAAiB,EAAU;EAC3D,OAAOL,oBAAoB,CAACK,CAAC,CAAC;AAChC;;AAEA;;AAeA;AACA,OAAO,SAASC,eAAeA,CAACC,MAAuB,EAAU;EAC/D,OAAOA,MAAM,CAACC,OAAO,IAAIV,iBAAiB,CAACS,MAAM,CAACE,WAAW,CAAC;AAChE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,iBAA4C,GAAG,CAAC,KAAK,CAAC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACJ,MAAuB,EAAQ;EAC/D,IAAIA,MAAM,CAACC,OAAO,IAAI,CAAC,cAAc,CAACI,IAAI,CAACL,MAAM,CAACC,OAAO,CAAC,EAAE;IAC1D,MAAM,IAAIK,KAAK,CAAC,8DAA8D,CAAC;EACjF;EACA,IAAI,CAACH,iBAAiB,CAACI,QAAQ,CAACP,MAAM,CAACQ,MAAM,CAAC,EAAE;IAC9C,MAAM,IAAIF,KAAK,CACb,2DAA2DN,MAAM,CAACQ,MAAM,QAAQ,GAC9E,eAAeL,iBAAiB,CAACM,IAAI,CAAC,IAAI,CAAC,GAC/C,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -3,20 +3,21 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* Lifecycle events emitted on {@link SpareLink.events}.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Analytics only — never required to drive the flow. This is a discriminated
|
|
7
|
+
* union (TypeScript's equivalent to Dart sealed classes); switch on `type` for
|
|
8
|
+
* exhaustive handling:
|
|
8
9
|
*
|
|
9
10
|
* ```ts
|
|
10
11
|
* spareLink.events.subscribe((event) => {
|
|
11
12
|
* switch (event.type) {
|
|
12
13
|
* case 'initialized':
|
|
13
|
-
* console.log('Started flow for', event.
|
|
14
|
+
* console.log('Started flow for', event.reference);
|
|
14
15
|
* break;
|
|
15
|
-
* case '
|
|
16
|
-
* console.log('
|
|
16
|
+
* case 'pageReady':
|
|
17
|
+
* console.log('Payer can act on the page');
|
|
17
18
|
* break;
|
|
18
19
|
* case 'succeeded':
|
|
19
|
-
* console.log('
|
|
20
|
+
* console.log('Reported success for', event.result.reference);
|
|
20
21
|
* break;
|
|
21
22
|
* // ...
|
|
22
23
|
* }
|
|
@@ -26,24 +27,27 @@
|
|
|
26
27
|
|
|
27
28
|
/** The SDK has started a payment flow. */
|
|
28
29
|
|
|
29
|
-
/**
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
/**
|
|
31
|
+
* The hosted page is interactive and the payer has something to act on.
|
|
32
|
+
*
|
|
33
|
+
* The steps after this — choosing a bank, the payee check, reading the consent —
|
|
34
|
+
* happen inside the page, which does not report them.
|
|
35
|
+
*/
|
|
32
36
|
|
|
33
|
-
/** The
|
|
37
|
+
/** The payer is being handed to their bank, outside the WebView. */
|
|
34
38
|
|
|
35
39
|
/** The bank has redirected back with a callback URI. */
|
|
36
40
|
|
|
37
|
-
/** The
|
|
41
|
+
/** The return reported a completed payment and the flow is about to resolve. */
|
|
38
42
|
|
|
39
43
|
/** The payment failed and the flow is about to resolve. */
|
|
40
44
|
|
|
41
|
-
/** The
|
|
45
|
+
/** The payer cancelled the payment and the flow is about to resolve. */
|
|
42
46
|
|
|
43
|
-
/** The
|
|
47
|
+
/** The payer left before the flow resolved either way. */
|
|
44
48
|
|
|
45
49
|
/** All possible event type strings for type narrowing. */
|
|
46
|
-
export const SPARE_LINK_EVENT_TYPES = ['initialized', '
|
|
50
|
+
export const SPARE_LINK_EVENT_TYPES = ['initialized', 'pageReady', 'redirectToBank', 'bankCallbackReceived', 'succeeded', 'failed', 'cancelled', 'abandoned'];
|
|
47
51
|
/** Type guard for SpareLinkEvent. */
|
|
48
52
|
export function isSpareLinkEvent(value) {
|
|
49
53
|
if (typeof value !== 'object' || value === null) return false;
|
|
@@ -53,38 +57,28 @@ export function isSpareLinkEvent(value) {
|
|
|
53
57
|
|
|
54
58
|
/** Factory functions for creating events (internal use). */
|
|
55
59
|
export const SpareLinkEvents = {
|
|
56
|
-
initialized(
|
|
60
|
+
initialized(reference) {
|
|
57
61
|
return {
|
|
58
62
|
type: 'initialized',
|
|
59
|
-
|
|
60
|
-
};
|
|
61
|
-
},
|
|
62
|
-
sessionLoaded(linkToken, linkSessionId) {
|
|
63
|
-
return linkSessionId ? {
|
|
64
|
-
type: 'sessionLoaded',
|
|
65
|
-
linkToken,
|
|
66
|
-
linkSessionId
|
|
67
|
-
} : {
|
|
68
|
-
type: 'sessionLoaded',
|
|
69
|
-
linkToken
|
|
63
|
+
reference
|
|
70
64
|
};
|
|
71
65
|
},
|
|
72
|
-
|
|
66
|
+
pageReady(reference) {
|
|
73
67
|
return {
|
|
74
|
-
type: '
|
|
75
|
-
|
|
68
|
+
type: 'pageReady',
|
|
69
|
+
reference
|
|
76
70
|
};
|
|
77
71
|
},
|
|
78
|
-
redirectToBank(
|
|
72
|
+
redirectToBank(reference) {
|
|
79
73
|
return {
|
|
80
74
|
type: 'redirectToBank',
|
|
81
|
-
|
|
75
|
+
reference
|
|
82
76
|
};
|
|
83
77
|
},
|
|
84
|
-
bankCallbackReceived(
|
|
78
|
+
bankCallbackReceived(reference) {
|
|
85
79
|
return {
|
|
86
80
|
type: 'bankCallbackReceived',
|
|
87
|
-
|
|
81
|
+
reference
|
|
88
82
|
};
|
|
89
83
|
},
|
|
90
84
|
succeeded(result) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SPARE_LINK_EVENT_TYPES","isSpareLinkEvent","value","type","includes","SpareLinkEvents","initialized","
|
|
1
|
+
{"version":3,"names":["SPARE_LINK_EVENT_TYPES","isSpareLinkEvent","value","type","includes","SpareLinkEvents","initialized","reference","pageReady","redirectToBank","bankCallbackReceived","succeeded","result","failed","cancelled","abandoned"],"sourceRoot":"../../../src","sources":["public/spare-link-event.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA;;AAMA;AACA;AACA;AACA;AACA;AACA;;AAMA;;AAMA;;AAMA;;AAMA;;AAMA;;AAMA;;AAMA;AACA,OAAO,MAAMA,sBAAsB,GAAG,CACpC,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,sBAAsB,EACtB,WAAW,EACX,QAAQ,EACR,WAAW,EACX,WAAW,CACH;AAIV;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAAc,EAA2B;EACxE,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE,OAAO,KAAK;EAC7D,MAAMC,IAAI,GAAID,KAAK,CAAwBC,IAAI;EAC/C,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIH,sBAAsB,CAACI,QAAQ,CAACD,IAA0B,CAAC;AAChG;;AAEA;AACA,OAAO,MAAME,eAAe,GAAG;EAC7BC,WAAWA,CAACC,SAAiB,EAAwB;IACnD,OAAO;MAAEJ,IAAI,EAAE,aAAa;MAAEI;IAAU,CAAC;EAC3C,CAAC;EACDC,SAASA,CAACD,SAAiB,EAAsB;IAC/C,OAAO;MAAEJ,IAAI,EAAE,WAAW;MAAEI;IAAU,CAAC;EACzC,CAAC;EACDE,cAAcA,CAACF,SAAiB,EAA2B;IACzD,OAAO;MAAEJ,IAAI,EAAE,gBAAgB;MAAEI;IAAU,CAAC;EAC9C,CAAC;EACDG,oBAAoBA,CAACH,SAAiB,EAAiC;IACrE,OAAO;MAAEJ,IAAI,EAAE,sBAAsB;MAAEI;IAAU,CAAC;EACpD,CAAC;EACDI,SAASA,CAACC,MAAqB,EAAsB;IACnD,OAAO;MAAET,IAAI,EAAE,WAAW;MAAES;IAAO,CAAC;EACtC,CAAC;EACDC,MAAMA,CAACD,MAAqB,EAAmB;IAC7C,OAAO;MAAET,IAAI,EAAE,QAAQ;MAAES;IAAO,CAAC;EACnC,CAAC;EACDE,SAASA,CAACF,MAAqB,EAAsB;IACnD,OAAO;MAAET,IAAI,EAAE,WAAW;MAAES;IAAO,CAAC;EACtC,CAAC;EACDG,SAASA,CAACH,MAAqB,EAAsB;IACnD,OAAO;MAAET,IAAI,EAAE,WAAW;MAAES;IAAO,CAAC;EACtC;AACF,CAAU","ignoreList":[]}
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
import { createEventEmitter } from "../internal/event-emitter.js";
|
|
4
4
|
import { paymentAbandoned } from "./payment-result.js";
|
|
5
|
-
import {
|
|
6
|
-
import { defaultBaseUrlFor } from "./spare-link-config.js";
|
|
5
|
+
import { assertValidConfig, defaultBaseUrlFor } from "./spare-link-config.js";
|
|
7
6
|
import { SpareLinkEvents } from "./spare-link-event.js";
|
|
8
7
|
import { SpareLinkSession } from "./spare-link-session.js";
|
|
9
8
|
/**
|
|
10
|
-
* Entry point for the Spare Link payment SDK
|
|
11
|
-
*
|
|
9
|
+
* Entry point for the Spare Link payment SDK.
|
|
10
|
+
*
|
|
11
|
+
* Your backend creates the payment request — with `channel: 'sdk_react_native'`
|
|
12
|
+
* and the return URLs your app is registered for — and gives the app the
|
|
13
|
+
* reference it returns. That reference is all this SDK needs.
|
|
12
14
|
*
|
|
13
15
|
* Mount {@link SpareLinkHost} once near your app root and pass this instance:
|
|
14
16
|
*
|
|
@@ -22,6 +24,10 @@ import { SpareLinkSession } from "./spare-link-session.js";
|
|
|
22
24
|
* <App />
|
|
23
25
|
* </SpareLinkHost>
|
|
24
26
|
* ```
|
|
27
|
+
*
|
|
28
|
+
* The SDK makes no API calls of its own and holds no credentials. Every result
|
|
29
|
+
* it reports comes from a deep link that is interceptable by design, so confirm
|
|
30
|
+
* with your backend via `GET /payment-requests/{reference}` before acting on one.
|
|
25
31
|
*/
|
|
26
32
|
export class SpareLink {
|
|
27
33
|
_events = createEventEmitter();
|
|
@@ -31,11 +37,18 @@ export class SpareLink {
|
|
|
31
37
|
_pendingRedirects = [];
|
|
32
38
|
_pendingResumes = [];
|
|
33
39
|
constructor(options) {
|
|
40
|
+
// Fails where the config was written rather than letting a host the page was
|
|
41
|
+
// never served from reach the webview as a URL nobody meant.
|
|
42
|
+
assertValidConfig({
|
|
43
|
+
environment: options.environment,
|
|
44
|
+
tenant: options.tenant,
|
|
45
|
+
...(options.baseUrl ? {
|
|
46
|
+
baseUrl: options.baseUrl
|
|
47
|
+
} : {})
|
|
48
|
+
});
|
|
34
49
|
this.environment = options.environment;
|
|
35
50
|
this.tenant = options.tenant;
|
|
36
51
|
this.baseUrl = options.baseUrl;
|
|
37
|
-
this.fetch = options.fetch;
|
|
38
|
-
this.requestTimeoutMs = options.requestTimeoutMs;
|
|
39
52
|
this.pendingSessionStore = options.pendingSessionStore;
|
|
40
53
|
}
|
|
41
54
|
|
|
@@ -53,52 +66,35 @@ export class SpareLink {
|
|
|
53
66
|
}
|
|
54
67
|
|
|
55
68
|
/**
|
|
56
|
-
*
|
|
69
|
+
* Opens the hosted payment page for `reference` and resolves when the flow ends.
|
|
57
70
|
*
|
|
58
|
-
* Returns a {@link SpareLinkSession} immediately; await `session.result`
|
|
59
|
-
*
|
|
71
|
+
* Returns a {@link SpareLinkSession} immediately; await `session.result` for the
|
|
72
|
+
* terminal outcome. There is no session to load first: the page resolves the
|
|
73
|
+
* request itself, so the payer sees it without waiting on a round trip.
|
|
60
74
|
*/
|
|
61
75
|
async start(args) {
|
|
62
76
|
const {
|
|
63
|
-
|
|
77
|
+
reference
|
|
64
78
|
} = args;
|
|
65
|
-
if (!
|
|
66
|
-
|
|
67
|
-
linkToken: '',
|
|
68
|
-
message: 'SpareLinkConfig: linkToken must not be empty',
|
|
69
|
-
resolvedAtMs: Date.now()
|
|
70
|
-
});
|
|
71
|
-
this._emitTerminal(result);
|
|
72
|
-
return new SpareLinkSession({
|
|
73
|
-
linkToken: '',
|
|
74
|
-
result: Promise.resolve(result)
|
|
75
|
-
});
|
|
79
|
+
if (!reference) {
|
|
80
|
+
return this._resolveImmediately('', 'SpareLink.start: reference must not be empty');
|
|
76
81
|
}
|
|
77
82
|
if (this._disposed) {
|
|
78
|
-
|
|
79
|
-
linkToken,
|
|
80
|
-
message: 'SpareLink has been disposed.',
|
|
81
|
-
resolvedAtMs: Date.now()
|
|
82
|
-
});
|
|
83
|
-
this._emitTerminal(result);
|
|
84
|
-
return new SpareLinkSession({
|
|
85
|
-
linkToken,
|
|
86
|
-
result: Promise.resolve(result)
|
|
87
|
-
});
|
|
83
|
+
return this._resolveImmediately(reference, 'SpareLink has been disposed.');
|
|
88
84
|
}
|
|
89
|
-
this._events.emit(SpareLinkEvents.initialized(
|
|
85
|
+
this._events.emit(SpareLinkEvents.initialized(reference));
|
|
90
86
|
if (!this._host) {
|
|
91
87
|
return new Promise(resolve => {
|
|
92
88
|
this._pendingStarts.push({
|
|
93
|
-
|
|
89
|
+
reference,
|
|
94
90
|
resolve
|
|
95
91
|
});
|
|
96
92
|
});
|
|
97
93
|
}
|
|
98
|
-
return this._hostStart(
|
|
94
|
+
return this._hostStart(reference);
|
|
99
95
|
}
|
|
100
96
|
|
|
101
|
-
/** Processes a deep-link URI
|
|
97
|
+
/** Processes a deep-link URI the payer returned through. */
|
|
102
98
|
async handleRedirect(uri) {
|
|
103
99
|
if (this._disposed) return false;
|
|
104
100
|
if (!this._host) {
|
|
@@ -112,15 +108,16 @@ export class SpareLink {
|
|
|
112
108
|
return this._host.handleRedirect(uri);
|
|
113
109
|
}
|
|
114
110
|
|
|
115
|
-
/**
|
|
111
|
+
/**
|
|
112
|
+
* Reports a payment that was left in progress by a previous app session.
|
|
113
|
+
*
|
|
114
|
+
* If the return deep link arrived before the app had a flow to give it to, the
|
|
115
|
+
* outcome is resolved from it. Otherwise the SDK cannot say how the payment
|
|
116
|
+
* ended — it holds no credentials, so it has nothing to ask with — and reports
|
|
117
|
+
* `outcomeUnknown` with the reference for your backend to resolve.
|
|
118
|
+
*/
|
|
116
119
|
async resumeIfNeeded() {
|
|
117
|
-
if (this._disposed) {
|
|
118
|
-
return {
|
|
119
|
-
kind: 'none',
|
|
120
|
-
reason: 'persistenceUnavailable'
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
if (!this.pendingSessionStore) {
|
|
120
|
+
if (this._disposed || !this.pendingSessionStore) {
|
|
124
121
|
return {
|
|
125
122
|
kind: 'none',
|
|
126
123
|
reason: 'persistenceUnavailable'
|
|
@@ -142,13 +139,13 @@ export class SpareLink {
|
|
|
142
139
|
const resumes = this._pendingResumes.splice(0);
|
|
143
140
|
for (const p of starts) {
|
|
144
141
|
const result = paymentAbandoned({
|
|
145
|
-
|
|
142
|
+
reference: p.reference,
|
|
146
143
|
message: 'SpareLink has been disposed.',
|
|
147
144
|
resolvedAtMs: Date.now()
|
|
148
145
|
});
|
|
149
146
|
this._emitTerminal(result);
|
|
150
147
|
p.resolve(new SpareLinkSession({
|
|
151
|
-
|
|
148
|
+
reference: p.reference,
|
|
152
149
|
result: Promise.resolve(result)
|
|
153
150
|
}));
|
|
154
151
|
}
|
|
@@ -187,6 +184,18 @@ export class SpareLink {
|
|
|
187
184
|
emitTerminal(result) {
|
|
188
185
|
this._emitTerminal(result);
|
|
189
186
|
}
|
|
187
|
+
_resolveImmediately(reference, message) {
|
|
188
|
+
const result = paymentAbandoned({
|
|
189
|
+
reference,
|
|
190
|
+
message,
|
|
191
|
+
resolvedAtMs: Date.now()
|
|
192
|
+
});
|
|
193
|
+
this._emitTerminal(result);
|
|
194
|
+
return new SpareLinkSession({
|
|
195
|
+
reference,
|
|
196
|
+
result: Promise.resolve(result)
|
|
197
|
+
});
|
|
198
|
+
}
|
|
190
199
|
_emitTerminal(result) {
|
|
191
200
|
switch (result.status) {
|
|
192
201
|
case 'success':
|
|
@@ -203,12 +212,12 @@ export class SpareLink {
|
|
|
203
212
|
break;
|
|
204
213
|
}
|
|
205
214
|
}
|
|
206
|
-
async _hostStart(
|
|
215
|
+
async _hostStart(reference) {
|
|
207
216
|
const host = this._host;
|
|
208
217
|
if (!host) {
|
|
209
218
|
return new Promise(resolve => {
|
|
210
219
|
this._pendingStarts.push({
|
|
211
|
-
|
|
220
|
+
reference,
|
|
212
221
|
resolve
|
|
213
222
|
});
|
|
214
223
|
});
|
|
@@ -217,29 +226,24 @@ export class SpareLink {
|
|
|
217
226
|
const resultPromise = new Promise(resolve => {
|
|
218
227
|
resolveResult = resolve;
|
|
219
228
|
});
|
|
220
|
-
const session = new SpareLinkSession({
|
|
221
|
-
linkToken,
|
|
222
|
-
result: resultPromise
|
|
223
|
-
});
|
|
224
229
|
host.startFlow({
|
|
225
|
-
|
|
230
|
+
reference,
|
|
226
231
|
resolve: result => {
|
|
227
232
|
this._emitTerminal(result);
|
|
228
233
|
resolveResult(result);
|
|
229
|
-
},
|
|
230
|
-
onSessionLoaded: linkSessionId => {
|
|
231
|
-
session.updateLinkSessionId(linkSessionId);
|
|
232
|
-
this._events.emit(SpareLinkEvents.sessionLoaded(linkToken, linkSessionId));
|
|
233
234
|
}
|
|
234
235
|
});
|
|
235
|
-
return
|
|
236
|
+
return new SpareLinkSession({
|
|
237
|
+
reference,
|
|
238
|
+
result: resultPromise
|
|
239
|
+
});
|
|
236
240
|
}
|
|
237
241
|
_drainPending(host) {
|
|
238
242
|
const starts = this._pendingStarts.splice(0);
|
|
239
243
|
const redirects = this._pendingRedirects.splice(0);
|
|
240
244
|
const resumes = this._pendingResumes.splice(0);
|
|
241
245
|
for (const p of starts) {
|
|
242
|
-
void this._hostStart(p.
|
|
246
|
+
void this._hostStart(p.reference).then(p.resolve);
|
|
243
247
|
}
|
|
244
248
|
for (const p of redirects) {
|
|
245
249
|
void host.handleRedirect(p.uri).then(p.resolve, () => p.resolve(false));
|
|
@@ -252,22 +256,14 @@ export class SpareLink {
|
|
|
252
256
|
}
|
|
253
257
|
}
|
|
254
258
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
linkToken: recovery.linkToken
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
return recovery;
|
|
265
|
-
}
|
|
266
|
-
export function noRecovery(reason) {
|
|
267
|
-
return {
|
|
259
|
+
export function noRecovery(reason, reference) {
|
|
260
|
+
return reference ? {
|
|
261
|
+
kind: 'none',
|
|
262
|
+
reason,
|
|
263
|
+
reference
|
|
264
|
+
} : {
|
|
268
265
|
kind: 'none',
|
|
269
266
|
reason
|
|
270
267
|
};
|
|
271
268
|
}
|
|
272
|
-
export { isSessionRecovered };
|
|
273
269
|
//# sourceMappingURL=spare-link-instance.js.map
|