@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.
Files changed (561) hide show
  1. package/README.md +119 -81
  2. package/lib/commonjs/core/models/payment-return-params.js +245 -20
  3. package/lib/commonjs/core/models/payment-return-params.js.map +1 -1
  4. package/lib/commonjs/core/models/pending-session-record.js +2 -0
  5. package/lib/commonjs/core/models/pending-session-record.js.map +1 -0
  6. package/lib/commonjs/core/services/hosted-flow-controller.js +333 -0
  7. package/lib/commonjs/core/services/hosted-flow-controller.js.map +1 -0
  8. package/lib/commonjs/core/services/hosted-flow-state.js +96 -0
  9. package/lib/commonjs/core/services/hosted-flow-state.js.map +1 -0
  10. package/lib/commonjs/index.js +42 -164
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/internal/hosted/bridge-message.js +107 -0
  13. package/lib/commonjs/internal/hosted/bridge-message.js.map +1 -0
  14. package/lib/commonjs/internal/hosted/hosted-url.js +41 -0
  15. package/lib/commonjs/internal/hosted/hosted-url.js.map +1 -0
  16. package/lib/commonjs/internal/index.js +0 -7
  17. package/lib/commonjs/internal/index.js.map +1 -1
  18. package/lib/commonjs/internal/redact-uri.js +59 -15
  19. package/lib/commonjs/internal/redact-uri.js.map +1 -1
  20. package/lib/commonjs/internal/secure-store-pending-session-store.js +20 -25
  21. package/lib/commonjs/internal/secure-store-pending-session-store.js.map +1 -1
  22. package/lib/commonjs/internal/url-parts.js +145 -0
  23. package/lib/commonjs/internal/url-parts.js.map +1 -0
  24. package/lib/commonjs/public/index.js +0 -37
  25. package/lib/commonjs/public/index.js.map +1 -1
  26. package/lib/commonjs/public/payment-result.js +16 -4
  27. package/lib/commonjs/public/payment-result.js.map +1 -1
  28. package/lib/commonjs/public/recovery-result.js +7 -18
  29. package/lib/commonjs/public/recovery-result.js.map +1 -1
  30. package/lib/commonjs/public/spare-link-config.js +41 -16
  31. package/lib/commonjs/public/spare-link-config.js.map +1 -1
  32. package/lib/commonjs/public/spare-link-event.js +27 -33
  33. package/lib/commonjs/public/spare-link-event.js.map +1 -1
  34. package/lib/commonjs/public/spare-link-instance.js +67 -77
  35. package/lib/commonjs/public/spare-link-instance.js.map +1 -1
  36. package/lib/commonjs/public/spare-link-session.js +2 -9
  37. package/lib/commonjs/public/spare-link-session.js.map +1 -1
  38. package/lib/commonjs/public/spare-link.js +0 -12
  39. package/lib/commonjs/public/spare-link.js.map +1 -1
  40. package/lib/commonjs/ui/hooks/{use-payment-flow-state.js → use-hosted-flow-state.js} +4 -4
  41. package/lib/commonjs/ui/hooks/use-hosted-flow-state.js.map +1 -0
  42. package/lib/commonjs/ui/hosted/hosted-payment-page.js +177 -0
  43. package/lib/commonjs/ui/hosted/hosted-payment-page.js.map +1 -0
  44. package/lib/commonjs/ui/hosted/hosted-payment-webview.js +168 -0
  45. package/lib/commonjs/ui/hosted/hosted-payment-webview.js.map +1 -0
  46. package/lib/commonjs/ui/screens/index.js +3 -17
  47. package/lib/commonjs/ui/screens/index.js.map +1 -1
  48. package/lib/commonjs/ui/screens/page-unavailable-screen.js +101 -0
  49. package/lib/commonjs/ui/screens/page-unavailable-screen.js.map +1 -0
  50. package/lib/commonjs/ui/spare-link-host.js +220 -234
  51. package/lib/commonjs/ui/spare-link-host.js.map +1 -1
  52. package/lib/commonjs/ui/widgets/index.js +3 -10
  53. package/lib/commonjs/ui/widgets/index.js.map +1 -1
  54. package/lib/commonjs/version.js +7 -5
  55. package/lib/commonjs/version.js.map +1 -1
  56. package/lib/module/core/models/payment-return-params.js +235 -20
  57. package/lib/module/core/models/payment-return-params.js.map +1 -1
  58. package/lib/module/core/models/pending-session-record.js +2 -0
  59. package/lib/module/core/models/pending-session-record.js.map +1 -0
  60. package/lib/module/core/services/hosted-flow-controller.js +328 -0
  61. package/lib/module/core/services/hosted-flow-controller.js.map +1 -0
  62. package/lib/module/core/services/hosted-flow-state.js +91 -0
  63. package/lib/module/core/services/hosted-flow-state.js.map +1 -0
  64. package/lib/module/index.js +8 -22
  65. package/lib/module/index.js.map +1 -1
  66. package/lib/module/internal/hosted/bridge-message.js +104 -0
  67. package/lib/module/internal/hosted/bridge-message.js.map +1 -0
  68. package/lib/module/internal/hosted/hosted-url.js +36 -0
  69. package/lib/module/internal/hosted/hosted-url.js.map +1 -0
  70. package/lib/module/internal/index.js +0 -1
  71. package/lib/module/internal/index.js.map +1 -1
  72. package/lib/module/internal/redact-uri.js +59 -15
  73. package/lib/module/internal/redact-uri.js.map +1 -1
  74. package/lib/module/internal/secure-store-pending-session-store.js +20 -25
  75. package/lib/module/internal/secure-store-pending-session-store.js.map +1 -1
  76. package/lib/module/internal/url-parts.js +139 -0
  77. package/lib/module/internal/url-parts.js.map +1 -0
  78. package/lib/module/public/index.js +2 -3
  79. package/lib/module/public/index.js.map +1 -1
  80. package/lib/module/public/payment-result.js +16 -4
  81. package/lib/module/public/payment-result.js.map +1 -1
  82. package/lib/module/public/recovery-result.js +7 -17
  83. package/lib/module/public/recovery-result.js.map +1 -1
  84. package/lib/module/public/spare-link-config.js +42 -15
  85. package/lib/module/public/spare-link-config.js.map +1 -1
  86. package/lib/module/public/spare-link-event.js +27 -33
  87. package/lib/module/public/spare-link-event.js.map +1 -1
  88. package/lib/module/public/spare-link-instance.js +68 -72
  89. package/lib/module/public/spare-link-instance.js.map +1 -1
  90. package/lib/module/public/spare-link-session.js +2 -9
  91. package/lib/module/public/spare-link-session.js.map +1 -1
  92. package/lib/module/public/spare-link.js +1 -1
  93. package/lib/module/public/spare-link.js.map +1 -1
  94. package/lib/module/ui/hooks/{use-payment-flow-state.js → use-hosted-flow-state.js} +3 -3
  95. package/lib/module/ui/hooks/use-hosted-flow-state.js.map +1 -0
  96. package/lib/module/ui/hosted/hosted-payment-page.js +175 -0
  97. package/lib/module/ui/hosted/hosted-payment-page.js.map +1 -0
  98. package/lib/module/ui/hosted/hosted-payment-webview.js +163 -0
  99. package/lib/module/ui/hosted/hosted-payment-webview.js.map +1 -0
  100. package/lib/module/ui/screens/index.js +1 -3
  101. package/lib/module/ui/screens/index.js.map +1 -1
  102. package/lib/module/ui/screens/page-unavailable-screen.js +97 -0
  103. package/lib/module/ui/screens/page-unavailable-screen.js.map +1 -0
  104. package/lib/module/ui/spare-link-host.js +221 -236
  105. package/lib/module/ui/spare-link-host.js.map +1 -1
  106. package/lib/module/ui/widgets/index.js +1 -2
  107. package/lib/module/ui/widgets/index.js.map +1 -1
  108. package/lib/module/version.js +7 -5
  109. package/lib/module/version.js.map +1 -1
  110. package/lib/typescript/commonjs/core/models/index.d.ts +1 -123
  111. package/lib/typescript/commonjs/core/models/index.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/core/models/payment-return-params.d.ts +91 -8
  113. package/lib/typescript/commonjs/core/models/payment-return-params.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/core/models/pending-session-record.d.ts +11 -0
  115. package/lib/typescript/commonjs/core/models/pending-session-record.d.ts.map +1 -0
  116. package/lib/typescript/commonjs/core/services/hosted-flow-controller.d.ts +119 -0
  117. package/lib/typescript/commonjs/core/services/hosted-flow-controller.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/core/services/hosted-flow-state.d.ts +75 -0
  119. package/lib/typescript/commonjs/core/services/hosted-flow-state.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/index.d.ts +5 -14
  121. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/internal/hosted/bridge-message.d.ts +44 -0
  123. package/lib/typescript/commonjs/internal/hosted/bridge-message.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/internal/hosted/hosted-url.d.ts +30 -0
  125. package/lib/typescript/commonjs/internal/hosted/hosted-url.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/internal/index.d.ts +0 -1
  127. package/lib/typescript/commonjs/internal/index.d.ts.map +1 -1
  128. package/lib/typescript/commonjs/internal/redact-uri.d.ts +21 -1
  129. package/lib/typescript/commonjs/internal/redact-uri.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/internal/secure-store-pending-session-store.d.ts +3 -2
  131. package/lib/typescript/commonjs/internal/secure-store-pending-session-store.d.ts.map +1 -1
  132. package/lib/typescript/commonjs/internal/url-parts.d.ts +46 -0
  133. package/lib/typescript/commonjs/internal/url-parts.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/public/index.d.ts +4 -6
  135. package/lib/typescript/commonjs/public/index.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/public/payment-result.d.ts +50 -12
  137. package/lib/typescript/commonjs/public/payment-result.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/public/recovery-result.d.ts +11 -20
  139. package/lib/typescript/commonjs/public/recovery-result.d.ts.map +1 -1
  140. package/lib/typescript/commonjs/public/spare-link-config.d.ts +13 -31
  141. package/lib/typescript/commonjs/public/spare-link-config.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/public/spare-link-event.d.ts +29 -31
  143. package/lib/typescript/commonjs/public/spare-link-event.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/public/spare-link-host-api.d.ts +1 -12
  145. package/lib/typescript/commonjs/public/spare-link-host-api.d.ts.map +1 -1
  146. package/lib/typescript/commonjs/public/spare-link-instance.d.ts +26 -20
  147. package/lib/typescript/commonjs/public/spare-link-instance.d.ts.map +1 -1
  148. package/lib/typescript/commonjs/public/spare-link-session.d.ts +3 -8
  149. package/lib/typescript/commonjs/public/spare-link-session.d.ts.map +1 -1
  150. package/lib/typescript/commonjs/public/spare-link.d.ts +1 -1
  151. package/lib/typescript/commonjs/public/spare-link.d.ts.map +1 -1
  152. package/lib/typescript/commonjs/ui/hooks/use-hosted-flow-state.d.ts +9 -0
  153. package/lib/typescript/commonjs/ui/hooks/use-hosted-flow-state.d.ts.map +1 -0
  154. package/lib/typescript/commonjs/ui/hosted/hosted-payment-page.d.ts +17 -0
  155. package/lib/typescript/commonjs/ui/hosted/hosted-payment-page.d.ts.map +1 -0
  156. package/lib/typescript/commonjs/ui/hosted/hosted-payment-webview.d.ts +43 -0
  157. package/lib/typescript/commonjs/ui/hosted/hosted-payment-webview.d.ts.map +1 -0
  158. package/lib/typescript/commonjs/ui/screens/index.d.ts +1 -3
  159. package/lib/typescript/commonjs/ui/screens/index.d.ts.map +1 -1
  160. package/lib/typescript/commonjs/ui/screens/page-unavailable-screen.d.ts +18 -0
  161. package/lib/typescript/commonjs/ui/screens/page-unavailable-screen.d.ts.map +1 -0
  162. package/lib/typescript/commonjs/ui/spare-link-host.d.ts +4 -5
  163. package/lib/typescript/commonjs/ui/spare-link-host.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/ui/widgets/index.d.ts +1 -2
  165. package/lib/typescript/commonjs/ui/widgets/index.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/version.d.ts +7 -5
  167. package/lib/typescript/commonjs/version.d.ts.map +1 -1
  168. package/lib/typescript/module/core/models/index.d.ts +1 -123
  169. package/lib/typescript/module/core/models/index.d.ts.map +1 -1
  170. package/lib/typescript/module/core/models/payment-return-params.d.ts +91 -8
  171. package/lib/typescript/module/core/models/payment-return-params.d.ts.map +1 -1
  172. package/lib/typescript/module/core/models/pending-session-record.d.ts +11 -0
  173. package/lib/typescript/module/core/models/pending-session-record.d.ts.map +1 -0
  174. package/lib/typescript/module/core/services/hosted-flow-controller.d.ts +119 -0
  175. package/lib/typescript/module/core/services/hosted-flow-controller.d.ts.map +1 -0
  176. package/lib/typescript/module/core/services/hosted-flow-state.d.ts +75 -0
  177. package/lib/typescript/module/core/services/hosted-flow-state.d.ts.map +1 -0
  178. package/lib/typescript/module/index.d.ts +5 -14
  179. package/lib/typescript/module/index.d.ts.map +1 -1
  180. package/lib/typescript/module/internal/hosted/bridge-message.d.ts +44 -0
  181. package/lib/typescript/module/internal/hosted/bridge-message.d.ts.map +1 -0
  182. package/lib/typescript/module/internal/hosted/hosted-url.d.ts +30 -0
  183. package/lib/typescript/module/internal/hosted/hosted-url.d.ts.map +1 -0
  184. package/lib/typescript/module/internal/index.d.ts +0 -1
  185. package/lib/typescript/module/internal/index.d.ts.map +1 -1
  186. package/lib/typescript/module/internal/redact-uri.d.ts +21 -1
  187. package/lib/typescript/module/internal/redact-uri.d.ts.map +1 -1
  188. package/lib/typescript/module/internal/secure-store-pending-session-store.d.ts +3 -2
  189. package/lib/typescript/module/internal/secure-store-pending-session-store.d.ts.map +1 -1
  190. package/lib/typescript/module/internal/url-parts.d.ts +46 -0
  191. package/lib/typescript/module/internal/url-parts.d.ts.map +1 -0
  192. package/lib/typescript/module/public/index.d.ts +4 -6
  193. package/lib/typescript/module/public/index.d.ts.map +1 -1
  194. package/lib/typescript/module/public/payment-result.d.ts +50 -12
  195. package/lib/typescript/module/public/payment-result.d.ts.map +1 -1
  196. package/lib/typescript/module/public/recovery-result.d.ts +11 -20
  197. package/lib/typescript/module/public/recovery-result.d.ts.map +1 -1
  198. package/lib/typescript/module/public/spare-link-config.d.ts +13 -31
  199. package/lib/typescript/module/public/spare-link-config.d.ts.map +1 -1
  200. package/lib/typescript/module/public/spare-link-event.d.ts +29 -31
  201. package/lib/typescript/module/public/spare-link-event.d.ts.map +1 -1
  202. package/lib/typescript/module/public/spare-link-host-api.d.ts +1 -12
  203. package/lib/typescript/module/public/spare-link-host-api.d.ts.map +1 -1
  204. package/lib/typescript/module/public/spare-link-instance.d.ts +26 -20
  205. package/lib/typescript/module/public/spare-link-instance.d.ts.map +1 -1
  206. package/lib/typescript/module/public/spare-link-session.d.ts +3 -8
  207. package/lib/typescript/module/public/spare-link-session.d.ts.map +1 -1
  208. package/lib/typescript/module/public/spare-link.d.ts +1 -1
  209. package/lib/typescript/module/public/spare-link.d.ts.map +1 -1
  210. package/lib/typescript/module/ui/hooks/use-hosted-flow-state.d.ts +9 -0
  211. package/lib/typescript/module/ui/hooks/use-hosted-flow-state.d.ts.map +1 -0
  212. package/lib/typescript/module/ui/hosted/hosted-payment-page.d.ts +17 -0
  213. package/lib/typescript/module/ui/hosted/hosted-payment-page.d.ts.map +1 -0
  214. package/lib/typescript/module/ui/hosted/hosted-payment-webview.d.ts +43 -0
  215. package/lib/typescript/module/ui/hosted/hosted-payment-webview.d.ts.map +1 -0
  216. package/lib/typescript/module/ui/screens/index.d.ts +1 -3
  217. package/lib/typescript/module/ui/screens/index.d.ts.map +1 -1
  218. package/lib/typescript/module/ui/screens/page-unavailable-screen.d.ts +18 -0
  219. package/lib/typescript/module/ui/screens/page-unavailable-screen.d.ts.map +1 -0
  220. package/lib/typescript/module/ui/spare-link-host.d.ts +4 -5
  221. package/lib/typescript/module/ui/spare-link-host.d.ts.map +1 -1
  222. package/lib/typescript/module/ui/widgets/index.d.ts +1 -2
  223. package/lib/typescript/module/ui/widgets/index.d.ts.map +1 -1
  224. package/lib/typescript/module/version.d.ts +7 -5
  225. package/lib/typescript/module/version.d.ts.map +1 -1
  226. package/package.json +24 -23
  227. package/plugins/with-spare-link.js +6 -26
  228. package/src/core/models/index.ts +1 -139
  229. package/src/core/models/payment-return-params.ts +269 -21
  230. package/src/core/models/pending-session-record.ts +10 -0
  231. package/src/core/services/hosted-flow-controller.ts +374 -0
  232. package/src/core/services/hosted-flow-state.ts +123 -0
  233. package/src/index.ts +20 -89
  234. package/src/internal/hosted/bridge-message.ts +106 -0
  235. package/src/internal/hosted/hosted-url.ts +33 -0
  236. package/src/internal/index.ts +0 -1
  237. package/src/internal/redact-uri.ts +69 -15
  238. package/src/internal/secure-store-pending-session-store.ts +28 -49
  239. package/src/internal/url-parts.ts +134 -0
  240. package/src/public/index.ts +2 -24
  241. package/src/public/payment-result.ts +50 -12
  242. package/src/public/recovery-result.ts +16 -25
  243. package/src/public/spare-link-config.ts +56 -43
  244. package/src/public/spare-link-event.ts +33 -42
  245. package/src/public/spare-link-host-api.ts +1 -14
  246. package/src/public/spare-link-instance.ts +57 -65
  247. package/src/public/spare-link-session.ts +4 -16
  248. package/src/public/spare-link.ts +1 -1
  249. package/src/ui/hooks/use-hosted-flow-state.ts +16 -0
  250. package/src/ui/hosted/hosted-payment-page.tsx +178 -0
  251. package/src/ui/hosted/hosted-payment-webview.tsx +164 -0
  252. package/src/ui/screens/index.ts +4 -6
  253. package/src/ui/screens/page-unavailable-screen.tsx +94 -0
  254. package/src/ui/spare-link-host.tsx +227 -247
  255. package/src/ui/widgets/index.ts +1 -2
  256. package/src/version.ts +7 -5
  257. package/CHANGELOG.md +0 -66
  258. package/lib/commonjs/core/client/link-api-client.js +0 -297
  259. package/lib/commonjs/core/client/link-api-client.js.map +0 -1
  260. package/lib/commonjs/core/errors/payment-api-error.js +0 -35
  261. package/lib/commonjs/core/errors/payment-api-error.js.map +0 -1
  262. package/lib/commonjs/core/models/link-session-status.js +0 -14
  263. package/lib/commonjs/core/models/link-session-status.js.map +0 -1
  264. package/lib/commonjs/core/models/payment-type.js +0 -45
  265. package/lib/commonjs/core/models/payment-type.js.map +0 -1
  266. package/lib/commonjs/core/models/wire-mappers.js +0 -277
  267. package/lib/commonjs/core/models/wire-mappers.js.map +0 -1
  268. package/lib/commonjs/core/services/consent-presenter.js +0 -150
  269. package/lib/commonjs/core/services/consent-presenter.js.map +0 -1
  270. package/lib/commonjs/core/services/execute-resume-if-needed.js +0 -216
  271. package/lib/commonjs/core/services/execute-resume-if-needed.js.map +0 -1
  272. package/lib/commonjs/core/services/multi-payment-rules-presenter.js +0 -151
  273. package/lib/commonjs/core/services/multi-payment-rules-presenter.js.map +0 -1
  274. package/lib/commonjs/core/services/payment-flow-controller.js +0 -547
  275. package/lib/commonjs/core/services/payment-flow-controller.js.map +0 -1
  276. package/lib/commonjs/core/services/payment-flow-state.js +0 -110
  277. package/lib/commonjs/core/services/payment-flow-state.js.map +0 -1
  278. package/lib/commonjs/core/services/payment-result-mapper.js +0 -49
  279. package/lib/commonjs/core/services/payment-result-mapper.js.map +0 -1
  280. package/lib/commonjs/core/services/presentation-utils.js +0 -11
  281. package/lib/commonjs/core/services/presentation-utils.js.map +0 -1
  282. package/lib/commonjs/core/services/redirect-buffer.js +0 -40
  283. package/lib/commonjs/core/services/redirect-buffer.js.map +0 -1
  284. package/lib/commonjs/core/services/user-friendly-messages.js +0 -46
  285. package/lib/commonjs/core/services/user-friendly-messages.js.map +0 -1
  286. package/lib/commonjs/internal/telemetry-collector.js +0 -80
  287. package/lib/commonjs/internal/telemetry-collector.js.map +0 -1
  288. package/lib/commonjs/public/constants.js +0 -21
  289. package/lib/commonjs/public/constants.js.map +0 -1
  290. package/lib/commonjs/public/spare-link-callbacks.js +0 -6
  291. package/lib/commonjs/public/spare-link-callbacks.js.map +0 -1
  292. package/lib/commonjs/ui/consent/charge-bearer-display.js +0 -99
  293. package/lib/commonjs/ui/consent/charge-bearer-display.js.map +0 -1
  294. package/lib/commonjs/ui/consent/consent-accordion.js +0 -94
  295. package/lib/commonjs/ui/consent/consent-accordion.js.map +0 -1
  296. package/lib/commonjs/ui/consent/consent-summary-section.js +0 -27
  297. package/lib/commonjs/ui/consent/consent-summary-section.js.map +0 -1
  298. package/lib/commonjs/ui/consent/cop-information.js +0 -168
  299. package/lib/commonjs/ui/consent/cop-information.js.map +0 -1
  300. package/lib/commonjs/ui/consent/international-payment-summary.js +0 -98
  301. package/lib/commonjs/ui/consent/international-payment-summary.js.map +0 -1
  302. package/lib/commonjs/ui/consent/label-value-rows.js +0 -59
  303. package/lib/commonjs/ui/consent/label-value-rows.js.map +0 -1
  304. package/lib/commonjs/ui/consent/multi-payment-rules-list.js +0 -130
  305. package/lib/commonjs/ui/consent/multi-payment-rules-list.js.map +0 -1
  306. package/lib/commonjs/ui/consent/multi-payment-summary.js +0 -99
  307. package/lib/commonjs/ui/consent/multi-payment-summary.js.map +0 -1
  308. package/lib/commonjs/ui/consent/single-payment-summary.js +0 -158
  309. package/lib/commonjs/ui/consent/single-payment-summary.js.map +0 -1
  310. package/lib/commonjs/ui/consent/terms-link.js +0 -35
  311. package/lib/commonjs/ui/consent/terms-link.js.map +0 -1
  312. package/lib/commonjs/ui/hooks/use-payment-flow-state.js.map +0 -1
  313. package/lib/commonjs/ui/payment-flow-page.js +0 -235
  314. package/lib/commonjs/ui/payment-flow-page.js.map +0 -1
  315. package/lib/commonjs/ui/screens/bank-selection-screen.js +0 -215
  316. package/lib/commonjs/ui/screens/bank-selection-screen.js.map +0 -1
  317. package/lib/commonjs/ui/screens/consent-details-screen.js +0 -124
  318. package/lib/commonjs/ui/screens/consent-details-screen.js.map +0 -1
  319. package/lib/commonjs/ui/screens/mandate-setup-success-screen.js +0 -79
  320. package/lib/commonjs/ui/screens/mandate-setup-success-screen.js.map +0 -1
  321. package/lib/commonjs/ui/widgets/layout-w-header.js +0 -106
  322. package/lib/commonjs/ui/widgets/layout-w-header.js.map +0 -1
  323. package/lib/commonjs/ui/widgets/stepper.js +0 -124
  324. package/lib/commonjs/ui/widgets/stepper.js.map +0 -1
  325. package/lib/module/core/client/link-api-client.js +0 -292
  326. package/lib/module/core/client/link-api-client.js.map +0 -1
  327. package/lib/module/core/errors/payment-api-error.js +0 -29
  328. package/lib/module/core/errors/payment-api-error.js.map +0 -1
  329. package/lib/module/core/models/link-session-status.js +0 -10
  330. package/lib/module/core/models/link-session-status.js.map +0 -1
  331. package/lib/module/core/models/payment-type.js +0 -36
  332. package/lib/module/core/models/payment-type.js.map +0 -1
  333. package/lib/module/core/models/wire-mappers.js +0 -263
  334. package/lib/module/core/models/wire-mappers.js.map +0 -1
  335. package/lib/module/core/services/consent-presenter.js +0 -140
  336. package/lib/module/core/services/consent-presenter.js.map +0 -1
  337. package/lib/module/core/services/execute-resume-if-needed.js +0 -211
  338. package/lib/module/core/services/execute-resume-if-needed.js.map +0 -1
  339. package/lib/module/core/services/multi-payment-rules-presenter.js +0 -146
  340. package/lib/module/core/services/multi-payment-rules-presenter.js.map +0 -1
  341. package/lib/module/core/services/payment-flow-controller.js +0 -544
  342. package/lib/module/core/services/payment-flow-controller.js.map +0 -1
  343. package/lib/module/core/services/payment-flow-state.js +0 -106
  344. package/lib/module/core/services/payment-flow-state.js.map +0 -1
  345. package/lib/module/core/services/payment-result-mapper.js +0 -45
  346. package/lib/module/core/services/payment-result-mapper.js.map +0 -1
  347. package/lib/module/core/services/presentation-utils.js +0 -7
  348. package/lib/module/core/services/presentation-utils.js.map +0 -1
  349. package/lib/module/core/services/redirect-buffer.js +0 -33
  350. package/lib/module/core/services/redirect-buffer.js.map +0 -1
  351. package/lib/module/core/services/user-friendly-messages.js +0 -42
  352. package/lib/module/core/services/user-friendly-messages.js.map +0 -1
  353. package/lib/module/internal/telemetry-collector.js +0 -75
  354. package/lib/module/internal/telemetry-collector.js.map +0 -1
  355. package/lib/module/public/constants.js +0 -17
  356. package/lib/module/public/constants.js.map +0 -1
  357. package/lib/module/public/spare-link-callbacks.js +0 -4
  358. package/lib/module/public/spare-link-callbacks.js.map +0 -1
  359. package/lib/module/ui/consent/charge-bearer-display.js +0 -95
  360. package/lib/module/ui/consent/charge-bearer-display.js.map +0 -1
  361. package/lib/module/ui/consent/consent-accordion.js +0 -90
  362. package/lib/module/ui/consent/consent-accordion.js.map +0 -1
  363. package/lib/module/ui/consent/consent-summary-section.js +0 -23
  364. package/lib/module/ui/consent/consent-summary-section.js.map +0 -1
  365. package/lib/module/ui/consent/cop-information.js +0 -165
  366. package/lib/module/ui/consent/cop-information.js.map +0 -1
  367. package/lib/module/ui/consent/international-payment-summary.js +0 -94
  368. package/lib/module/ui/consent/international-payment-summary.js.map +0 -1
  369. package/lib/module/ui/consent/label-value-rows.js +0 -55
  370. package/lib/module/ui/consent/label-value-rows.js.map +0 -1
  371. package/lib/module/ui/consent/multi-payment-rules-list.js +0 -125
  372. package/lib/module/ui/consent/multi-payment-rules-list.js.map +0 -1
  373. package/lib/module/ui/consent/multi-payment-summary.js +0 -95
  374. package/lib/module/ui/consent/multi-payment-summary.js.map +0 -1
  375. package/lib/module/ui/consent/single-payment-summary.js +0 -154
  376. package/lib/module/ui/consent/single-payment-summary.js.map +0 -1
  377. package/lib/module/ui/consent/terms-link.js +0 -31
  378. package/lib/module/ui/consent/terms-link.js.map +0 -1
  379. package/lib/module/ui/hooks/use-payment-flow-state.js.map +0 -1
  380. package/lib/module/ui/payment-flow-page.js +0 -232
  381. package/lib/module/ui/payment-flow-page.js.map +0 -1
  382. package/lib/module/ui/screens/bank-selection-screen.js +0 -211
  383. package/lib/module/ui/screens/bank-selection-screen.js.map +0 -1
  384. package/lib/module/ui/screens/consent-details-screen.js +0 -120
  385. package/lib/module/ui/screens/consent-details-screen.js.map +0 -1
  386. package/lib/module/ui/screens/mandate-setup-success-screen.js +0 -75
  387. package/lib/module/ui/screens/mandate-setup-success-screen.js.map +0 -1
  388. package/lib/module/ui/widgets/layout-w-header.js +0 -102
  389. package/lib/module/ui/widgets/layout-w-header.js.map +0 -1
  390. package/lib/module/ui/widgets/stepper.js +0 -120
  391. package/lib/module/ui/widgets/stepper.js.map +0 -1
  392. package/lib/typescript/commonjs/core/client/link-api-client.d.ts +0 -70
  393. package/lib/typescript/commonjs/core/client/link-api-client.d.ts.map +0 -1
  394. package/lib/typescript/commonjs/core/errors/payment-api-error.d.ts +0 -15
  395. package/lib/typescript/commonjs/core/errors/payment-api-error.d.ts.map +0 -1
  396. package/lib/typescript/commonjs/core/models/link-session-status.d.ts +0 -6
  397. package/lib/typescript/commonjs/core/models/link-session-status.d.ts.map +0 -1
  398. package/lib/typescript/commonjs/core/models/payment-type.d.ts +0 -18
  399. package/lib/typescript/commonjs/core/models/payment-type.d.ts.map +0 -1
  400. package/lib/typescript/commonjs/core/models/wire-mappers.d.ts +0 -19
  401. package/lib/typescript/commonjs/core/models/wire-mappers.d.ts.map +0 -1
  402. package/lib/typescript/commonjs/core/services/consent-presenter.d.ts +0 -67
  403. package/lib/typescript/commonjs/core/services/consent-presenter.d.ts.map +0 -1
  404. package/lib/typescript/commonjs/core/services/execute-resume-if-needed.d.ts +0 -32
  405. package/lib/typescript/commonjs/core/services/execute-resume-if-needed.d.ts.map +0 -1
  406. package/lib/typescript/commonjs/core/services/multi-payment-rules-presenter.d.ts +0 -9
  407. package/lib/typescript/commonjs/core/services/multi-payment-rules-presenter.d.ts.map +0 -1
  408. package/lib/typescript/commonjs/core/services/payment-flow-controller.d.ts +0 -146
  409. package/lib/typescript/commonjs/core/services/payment-flow-controller.d.ts.map +0 -1
  410. package/lib/typescript/commonjs/core/services/payment-flow-state.d.ts +0 -64
  411. package/lib/typescript/commonjs/core/services/payment-flow-state.d.ts.map +0 -1
  412. package/lib/typescript/commonjs/core/services/payment-result-mapper.d.ts +0 -5
  413. package/lib/typescript/commonjs/core/services/payment-result-mapper.d.ts.map +0 -1
  414. package/lib/typescript/commonjs/core/services/presentation-utils.d.ts +0 -5
  415. package/lib/typescript/commonjs/core/services/presentation-utils.d.ts.map +0 -1
  416. package/lib/typescript/commonjs/core/services/redirect-buffer.d.ts +0 -6
  417. package/lib/typescript/commonjs/core/services/redirect-buffer.d.ts.map +0 -1
  418. package/lib/typescript/commonjs/core/services/user-friendly-messages.d.ts +0 -6
  419. package/lib/typescript/commonjs/core/services/user-friendly-messages.d.ts.map +0 -1
  420. package/lib/typescript/commonjs/internal/telemetry-collector.d.ts +0 -2
  421. package/lib/typescript/commonjs/internal/telemetry-collector.d.ts.map +0 -1
  422. package/lib/typescript/commonjs/public/constants.d.ts +0 -12
  423. package/lib/typescript/commonjs/public/constants.d.ts.map +0 -1
  424. package/lib/typescript/commonjs/public/spare-link-callbacks.d.ts +0 -14
  425. package/lib/typescript/commonjs/public/spare-link-callbacks.d.ts.map +0 -1
  426. package/lib/typescript/commonjs/ui/consent/charge-bearer-display.d.ts +0 -5
  427. package/lib/typescript/commonjs/ui/consent/charge-bearer-display.d.ts.map +0 -1
  428. package/lib/typescript/commonjs/ui/consent/consent-accordion.d.ts +0 -10
  429. package/lib/typescript/commonjs/ui/consent/consent-accordion.d.ts.map +0 -1
  430. package/lib/typescript/commonjs/ui/consent/consent-summary-section.d.ts +0 -6
  431. package/lib/typescript/commonjs/ui/consent/consent-summary-section.d.ts.map +0 -1
  432. package/lib/typescript/commonjs/ui/consent/cop-information.d.ts +0 -6
  433. package/lib/typescript/commonjs/ui/consent/cop-information.d.ts.map +0 -1
  434. package/lib/typescript/commonjs/ui/consent/international-payment-summary.d.ts +0 -6
  435. package/lib/typescript/commonjs/ui/consent/international-payment-summary.d.ts.map +0 -1
  436. package/lib/typescript/commonjs/ui/consent/label-value-rows.d.ts +0 -10
  437. package/lib/typescript/commonjs/ui/consent/label-value-rows.d.ts.map +0 -1
  438. package/lib/typescript/commonjs/ui/consent/multi-payment-rules-list.d.ts +0 -15
  439. package/lib/typescript/commonjs/ui/consent/multi-payment-rules-list.d.ts.map +0 -1
  440. package/lib/typescript/commonjs/ui/consent/multi-payment-summary.d.ts +0 -6
  441. package/lib/typescript/commonjs/ui/consent/multi-payment-summary.d.ts.map +0 -1
  442. package/lib/typescript/commonjs/ui/consent/single-payment-summary.d.ts +0 -6
  443. package/lib/typescript/commonjs/ui/consent/single-payment-summary.d.ts.map +0 -1
  444. package/lib/typescript/commonjs/ui/consent/terms-link.d.ts +0 -2
  445. package/lib/typescript/commonjs/ui/consent/terms-link.d.ts.map +0 -1
  446. package/lib/typescript/commonjs/ui/hooks/use-payment-flow-state.d.ts +0 -9
  447. package/lib/typescript/commonjs/ui/hooks/use-payment-flow-state.d.ts.map +0 -1
  448. package/lib/typescript/commonjs/ui/payment-flow-page.d.ts +0 -20
  449. package/lib/typescript/commonjs/ui/payment-flow-page.d.ts.map +0 -1
  450. package/lib/typescript/commonjs/ui/screens/bank-selection-screen.d.ts +0 -15
  451. package/lib/typescript/commonjs/ui/screens/bank-selection-screen.d.ts.map +0 -1
  452. package/lib/typescript/commonjs/ui/screens/consent-details-screen.d.ts +0 -13
  453. package/lib/typescript/commonjs/ui/screens/consent-details-screen.d.ts.map +0 -1
  454. package/lib/typescript/commonjs/ui/screens/mandate-setup-success-screen.d.ts +0 -10
  455. package/lib/typescript/commonjs/ui/screens/mandate-setup-success-screen.d.ts.map +0 -1
  456. package/lib/typescript/commonjs/ui/widgets/layout-w-header.d.ts +0 -20
  457. package/lib/typescript/commonjs/ui/widgets/layout-w-header.d.ts.map +0 -1
  458. package/lib/typescript/commonjs/ui/widgets/stepper.d.ts +0 -15
  459. package/lib/typescript/commonjs/ui/widgets/stepper.d.ts.map +0 -1
  460. package/lib/typescript/module/core/client/link-api-client.d.ts +0 -70
  461. package/lib/typescript/module/core/client/link-api-client.d.ts.map +0 -1
  462. package/lib/typescript/module/core/errors/payment-api-error.d.ts +0 -15
  463. package/lib/typescript/module/core/errors/payment-api-error.d.ts.map +0 -1
  464. package/lib/typescript/module/core/models/link-session-status.d.ts +0 -6
  465. package/lib/typescript/module/core/models/link-session-status.d.ts.map +0 -1
  466. package/lib/typescript/module/core/models/payment-type.d.ts +0 -18
  467. package/lib/typescript/module/core/models/payment-type.d.ts.map +0 -1
  468. package/lib/typescript/module/core/models/wire-mappers.d.ts +0 -19
  469. package/lib/typescript/module/core/models/wire-mappers.d.ts.map +0 -1
  470. package/lib/typescript/module/core/services/consent-presenter.d.ts +0 -67
  471. package/lib/typescript/module/core/services/consent-presenter.d.ts.map +0 -1
  472. package/lib/typescript/module/core/services/execute-resume-if-needed.d.ts +0 -32
  473. package/lib/typescript/module/core/services/execute-resume-if-needed.d.ts.map +0 -1
  474. package/lib/typescript/module/core/services/multi-payment-rules-presenter.d.ts +0 -9
  475. package/lib/typescript/module/core/services/multi-payment-rules-presenter.d.ts.map +0 -1
  476. package/lib/typescript/module/core/services/payment-flow-controller.d.ts +0 -146
  477. package/lib/typescript/module/core/services/payment-flow-controller.d.ts.map +0 -1
  478. package/lib/typescript/module/core/services/payment-flow-state.d.ts +0 -64
  479. package/lib/typescript/module/core/services/payment-flow-state.d.ts.map +0 -1
  480. package/lib/typescript/module/core/services/payment-result-mapper.d.ts +0 -5
  481. package/lib/typescript/module/core/services/payment-result-mapper.d.ts.map +0 -1
  482. package/lib/typescript/module/core/services/presentation-utils.d.ts +0 -5
  483. package/lib/typescript/module/core/services/presentation-utils.d.ts.map +0 -1
  484. package/lib/typescript/module/core/services/redirect-buffer.d.ts +0 -6
  485. package/lib/typescript/module/core/services/redirect-buffer.d.ts.map +0 -1
  486. package/lib/typescript/module/core/services/user-friendly-messages.d.ts +0 -6
  487. package/lib/typescript/module/core/services/user-friendly-messages.d.ts.map +0 -1
  488. package/lib/typescript/module/internal/telemetry-collector.d.ts +0 -2
  489. package/lib/typescript/module/internal/telemetry-collector.d.ts.map +0 -1
  490. package/lib/typescript/module/public/constants.d.ts +0 -12
  491. package/lib/typescript/module/public/constants.d.ts.map +0 -1
  492. package/lib/typescript/module/public/spare-link-callbacks.d.ts +0 -14
  493. package/lib/typescript/module/public/spare-link-callbacks.d.ts.map +0 -1
  494. package/lib/typescript/module/ui/consent/charge-bearer-display.d.ts +0 -5
  495. package/lib/typescript/module/ui/consent/charge-bearer-display.d.ts.map +0 -1
  496. package/lib/typescript/module/ui/consent/consent-accordion.d.ts +0 -10
  497. package/lib/typescript/module/ui/consent/consent-accordion.d.ts.map +0 -1
  498. package/lib/typescript/module/ui/consent/consent-summary-section.d.ts +0 -6
  499. package/lib/typescript/module/ui/consent/consent-summary-section.d.ts.map +0 -1
  500. package/lib/typescript/module/ui/consent/cop-information.d.ts +0 -6
  501. package/lib/typescript/module/ui/consent/cop-information.d.ts.map +0 -1
  502. package/lib/typescript/module/ui/consent/international-payment-summary.d.ts +0 -6
  503. package/lib/typescript/module/ui/consent/international-payment-summary.d.ts.map +0 -1
  504. package/lib/typescript/module/ui/consent/label-value-rows.d.ts +0 -10
  505. package/lib/typescript/module/ui/consent/label-value-rows.d.ts.map +0 -1
  506. package/lib/typescript/module/ui/consent/multi-payment-rules-list.d.ts +0 -15
  507. package/lib/typescript/module/ui/consent/multi-payment-rules-list.d.ts.map +0 -1
  508. package/lib/typescript/module/ui/consent/multi-payment-summary.d.ts +0 -6
  509. package/lib/typescript/module/ui/consent/multi-payment-summary.d.ts.map +0 -1
  510. package/lib/typescript/module/ui/consent/single-payment-summary.d.ts +0 -6
  511. package/lib/typescript/module/ui/consent/single-payment-summary.d.ts.map +0 -1
  512. package/lib/typescript/module/ui/consent/terms-link.d.ts +0 -2
  513. package/lib/typescript/module/ui/consent/terms-link.d.ts.map +0 -1
  514. package/lib/typescript/module/ui/hooks/use-payment-flow-state.d.ts +0 -9
  515. package/lib/typescript/module/ui/hooks/use-payment-flow-state.d.ts.map +0 -1
  516. package/lib/typescript/module/ui/payment-flow-page.d.ts +0 -20
  517. package/lib/typescript/module/ui/payment-flow-page.d.ts.map +0 -1
  518. package/lib/typescript/module/ui/screens/bank-selection-screen.d.ts +0 -15
  519. package/lib/typescript/module/ui/screens/bank-selection-screen.d.ts.map +0 -1
  520. package/lib/typescript/module/ui/screens/consent-details-screen.d.ts +0 -13
  521. package/lib/typescript/module/ui/screens/consent-details-screen.d.ts.map +0 -1
  522. package/lib/typescript/module/ui/screens/mandate-setup-success-screen.d.ts +0 -10
  523. package/lib/typescript/module/ui/screens/mandate-setup-success-screen.d.ts.map +0 -1
  524. package/lib/typescript/module/ui/widgets/layout-w-header.d.ts +0 -20
  525. package/lib/typescript/module/ui/widgets/layout-w-header.d.ts.map +0 -1
  526. package/lib/typescript/module/ui/widgets/stepper.d.ts +0 -15
  527. package/lib/typescript/module/ui/widgets/stepper.d.ts.map +0 -1
  528. package/src/core/client/link-api-client.ts +0 -414
  529. package/src/core/errors/payment-api-error.ts +0 -35
  530. package/src/core/models/link-session-status.ts +0 -7
  531. package/src/core/models/payment-type.ts +0 -54
  532. package/src/core/models/wire-mappers.ts +0 -315
  533. package/src/core/services/consent-presenter.ts +0 -213
  534. package/src/core/services/execute-resume-if-needed.ts +0 -243
  535. package/src/core/services/multi-payment-rules-presenter.ts +0 -158
  536. package/src/core/services/payment-flow-controller.ts +0 -607
  537. package/src/core/services/payment-flow-state.ts +0 -124
  538. package/src/core/services/payment-result-mapper.ts +0 -41
  539. package/src/core/services/presentation-utils.ts +0 -4
  540. package/src/core/services/redirect-buffer.ts +0 -34
  541. package/src/core/services/user-friendly-messages.ts +0 -39
  542. package/src/internal/telemetry-collector.ts +0 -90
  543. package/src/public/constants.ts +0 -14
  544. package/src/public/spare-link-callbacks.ts +0 -20
  545. package/src/ui/consent/charge-bearer-display.tsx +0 -68
  546. package/src/ui/consent/consent-accordion.tsx +0 -89
  547. package/src/ui/consent/consent-summary-section.tsx +0 -19
  548. package/src/ui/consent/cop-information.tsx +0 -121
  549. package/src/ui/consent/international-payment-summary.tsx +0 -83
  550. package/src/ui/consent/label-value-rows.tsx +0 -50
  551. package/src/ui/consent/multi-payment-rules-list.tsx +0 -138
  552. package/src/ui/consent/multi-payment-summary.tsx +0 -82
  553. package/src/ui/consent/single-payment-summary.tsx +0 -123
  554. package/src/ui/consent/terms-link.tsx +0 -27
  555. package/src/ui/hooks/use-payment-flow-state.ts +0 -16
  556. package/src/ui/payment-flow-page.tsx +0 -254
  557. package/src/ui/screens/bank-selection-screen.tsx +0 -209
  558. package/src/ui/screens/consent-details-screen.tsx +0 -106
  559. package/src/ui/screens/mandate-setup-success-screen.tsx +0 -72
  560. package/src/ui/widgets/layout-w-header.tsx +0 -89
  561. package/src/ui/widgets/stepper.tsx +0 -126
@@ -0,0 +1,75 @@
1
+ import type { PaymentReturnReport } from '../models/payment-return-params.js';
2
+ /**
3
+ * Where a hosted payment has got to.
4
+ *
5
+ * The phases the payer spends most of their time in — choosing a bank, reading
6
+ * the consent, confirming the payee — are all `hosted`: they happen inside the
7
+ * page, which does not report them, and the SDK has nothing to decide there.
8
+ */
9
+ export type HostedFlowPhase =
10
+ /** The page is being fetched. Nothing is interactive yet. */
11
+ 'loading'
12
+ /** The page is interactive and the payer is working through it. */
13
+ | 'hosted'
14
+ /**
15
+ * The page could not be loaded, or loaded and never became interactive.
16
+ *
17
+ * Deliberately not terminal. Nothing has been attempted — no consent, no bank,
18
+ * no money — so the payer is offered the page again rather than told their
19
+ * payment failed, and the flow stays open while they decide.
20
+ */
21
+ | 'unreachable'
22
+ /** A consent exists and the bank is being opened outside the WebView. */
23
+ | 'redirecting'
24
+ /** The bank has the payer. The next thing to happen is a deep link home. */
25
+ | 'awaitingCallback' | 'succeeded' | 'failed' | 'cancelled'
26
+ /** The payer left before the flow resolved either way. */
27
+ | 'abandoned';
28
+ /** Immutable snapshot of a hosted payment. */
29
+ export interface HostedFlowState {
30
+ readonly phase: HostedFlowPhase;
31
+ /**
32
+ * The payment request this flow is paying. Also what the merchant's backend
33
+ * reads the authoritative result by.
34
+ */
35
+ readonly reference: string;
36
+ /**
37
+ * Everything the return deep link reported — the merchant's reference, the
38
+ * payment id, the signature, the failure detail.
39
+ *
40
+ * Carried whole so a parameter added to the return contract reaches the caller
41
+ * without threading a new field through every factory below.
42
+ */
43
+ readonly report?: PaymentReturnReport;
44
+ readonly errorCode?: string;
45
+ /**
46
+ * How many times the page has been asked for, starting at 1.
47
+ *
48
+ * The screen keys the webview on this so a retry mounts a fresh one; reusing
49
+ * the failed instance would show the payer the same dead frame.
50
+ */
51
+ readonly attempt: number;
52
+ }
53
+ export declare function isTerminalPhase(phase: HostedFlowPhase): boolean;
54
+ /** Factories for each phase, so no caller assembles a state by hand. */
55
+ export declare const HostedFlowStates: {
56
+ readonly loading: (reference: string, attempt?: number) => HostedFlowState;
57
+ readonly hosted: (reference: string, attempt?: number) => HostedFlowState;
58
+ readonly unreachable: (reference: string, attempt?: number) => HostedFlowState;
59
+ readonly redirecting: (reference: string, attempt?: number) => HostedFlowState;
60
+ readonly awaitingCallback: (reference: string, attempt?: number) => HostedFlowState;
61
+ readonly succeeded: (args: {
62
+ reference: string;
63
+ report?: PaymentReturnReport;
64
+ attempt?: number;
65
+ }) => HostedFlowState;
66
+ readonly failed: (args: {
67
+ reference: string;
68
+ errorCode: string;
69
+ report?: PaymentReturnReport;
70
+ attempt?: number;
71
+ }) => HostedFlowState;
72
+ readonly cancelled: (reference: string, attempt?: number) => HostedFlowState;
73
+ readonly abandoned: (reference: string, attempt?: number) => HostedFlowState;
74
+ };
75
+ //# sourceMappingURL=hosted-flow-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-flow-state.d.ts","sourceRoot":"","sources":["../../../../../src/core/services/hosted-flow-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAiC,CAAC;AAE3E;;;;;;GAMG;AACH,MAAM,MAAM,eAAe;AACzB,6DAA6D;AAC3D,SAAS;AACX,mEAAmE;GACjE,QAAQ;AACV;;;;;;GAMG;GACD,aAAa;AACf,yEAAyE;GACvE,aAAa;AACf,4EAA4E;GAC1E,kBAAkB,GAClB,WAAW,GACX,QAAQ,GACR,WAAW;AACb,0DAA0D;GACxD,WAAW,CAAC;AAEhB,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAEtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AASD,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAE/D;AAED,wEAAwE;AACxE,eAAO,MAAM,gBAAgB;kCACR,MAAM,uBAAgB,eAAe;iCAGtC,MAAM,uBAAgB,eAAe;sCAGhC,MAAM,uBAAgB,eAAe;sCAGrC,MAAM,uBAAgB,eAAe;2CAGhC,MAAM,uBAAgB,eAAe;+BAGjD;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAG,eAAe;4BAQN;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAG,eAAe;oCASE,MAAM,uBAAgB,eAAe;oCAGrC,MAAM,uBAAgB,eAAe;CAGlD,CAAC"}
@@ -1,19 +1,10 @@
1
1
  export { SDK_VERSION } from './version.js';
2
2
  export * from './public/index.js';
3
- export { PaymentApiError, isPaymentApiError } from './core/errors/payment-api-error.js';
4
- export type { CreatePaymentRequestInput, AmountDto, PaymentInstructions, PaymentScheduleEntry, PeriodicSchedule, PeriodicControls, CurrencyRequest, LinkSessionResponse, ConsentResponse, LinkStatusResponse, CopResponse, TelemetryResponse, PatchTokenResponse, ProviderCountry, ProviderSummary, PendingSessionRecord, } from './core/models/index.js';
5
- export { isPaymentReturnCallbackUri, extractPaymentReturnErrorCode, } from './core/models/payment-return-params.js';
6
- export { LinkApiClient, type LinkApiClientOptions } from './core/client/link-api-client.js';
7
- export { PaymentFlowController, type PaymentFlowControllerOptions, type Clock, } from './core/services/payment-flow-controller.js';
8
- export { PaymentFlowStates, type PaymentFlowPhase, type PaymentFlowState, } from './core/services/payment-flow-state.js';
3
+ export { type PaymentReturnReport, isPaymentReturnCallbackUri, readPaymentReturn, extractPaymentReturnErrorCode, extractPaymentReturnErrorDescription, extractPaymentReturnErrorReason, extractPaymentReturnPaymentId, extractPaymentReturnMandateId, extractPaymentReturnReference, extractPaymentReturnMerchantRef, extractPaymentReturnSignature, isPaymentReturnSuccess, paymentReturnParams, } from './core/models/payment-return-params.js';
4
+ export type { HostedFlowPhase, HostedFlowState } from './core/services/hosted-flow-state.js';
9
5
  export type { PendingSessionStore } from './core/services/pending-session-store.js';
10
- export { presentConsent, summaryFromState, formatAmount, formatCop, type ConsentSummaryData, type SinglePaymentSummaryData, type InternationalPaymentSummaryData, type MultiPaymentSummaryData, type ConsentDisplayData, type CopDisplayData, type CopMatchIndicator, } from './core/services/consent-presenter.js';
11
- export { buildMultiPaymentRules, rulesSectionTitle, type LabelValueRow, } from './core/services/multi-payment-rules-presenter.js';
12
- export { isMultiPayment, isInternational, supportsConfirmationOfPayee, resolvedPaymentType, consentUiVariant, PaymentType, type ConsentUiVariant, } from './core/models/payment-type.js';
13
- export { SpareLinkHost, type SpareLinkHostProps, } from './ui/spare-link-host.js';
14
- export { PaymentFlowPage, type PaymentFlowPageProps } from './ui/payment-flow-page.js';
15
- export { usePaymentFlowState } from './ui/hooks/use-payment-flow-state.js';
16
- export { BankSelectionScreen, type BankSelectionScreenProps, ConsentDetailsScreen, type ConsentDetailsScreenProps, RedirectHandoffScreen, ResumeProcessingScreen, type ResumeProcessingScreenProps, ResultScreen, type ResultScreenProps, MandateSetupSuccessScreen, type MandateSetupSuccessScreenProps, } from './ui/screens/index.js';
6
+ export type { PendingSessionRecord } from './core/models/index.js';
7
+ export { SpareLinkHost, type SpareLinkHostProps } from './ui/spare-link-host.js';
17
8
  export { Colors, Typography, Spacing, FONT_FAMILY } from './ui/theme/index.js';
18
- export { collectTelemetry, launchBankRedirect, type BankRedirectArgs, SecureStorePendingSessionStore, useSpareLinkDeepLinks, } from './internal/index.js';
9
+ export { launchBankRedirect, type BankRedirectArgs, SecureStorePendingSessionStore, useSpareLinkDeepLinks, } from './internal/index.js';
19
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAW,CAAC;AAExC,cAAc,mBAAU,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oCAAiC,CAAC;AAGrF,YAAY,EACV,yBAAyB,EACzB,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,oBAAoB,GACrB,MAAM,wBAAe,CAAC;AAIvB,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,wCAAqC,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,kCAA+B,CAAC;AAGzF,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,EACjC,KAAK,KAAK,GACX,MAAM,4CAAyC,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,uCAAoC,CAAC;AAG5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,0CAAuC,CAAC;AAGjF,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,iBAAiB,GACvB,MAAM,sCAAmC,CAAC;AAE3C,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,aAAa,GACnB,MAAM,kDAA+C,CAAC;AAEvD,OAAO,EACL,cAAc,EACd,eAAe,EACf,2BAA2B,EAC3B,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,+BAA4B,CAAC;AAGpC,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,yBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAAwB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAmC,CAAC;AACxE,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,2BAA2B,EAChC,YAAY,EACZ,KAAK,iBAAiB,EACtB,yBAAyB,EACzB,KAAK,8BAA8B,GACpC,MAAM,uBAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAY,CAAC;AAGtE,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,qBAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAW,CAAC;AAExC,cAAc,mBAAU,CAAC;AAIzB,OAAO,EACL,KAAK,mBAAmB,EACxB,0BAA0B,EAC1B,iBAAiB,EACjB,6BAA6B,EAC7B,oCAAoC,EACpC,+BAA+B,EAC/B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,wCAAqC,CAAC;AAO7C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sCAAmC,CAAC;AAG1F,YAAY,EAAE,mBAAmB,EAAE,MAAM,0CAAuC,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAe,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAsB,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAY,CAAC;AAGtE,OAAO,EACL,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,qBAAY,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Messages the hosted payment page sends to this SDK.
3
+ *
4
+ * The contract is one-way. The page never waits on a reply, so a message this
5
+ * version does not recognise is dropped rather than treated as a failure — the
6
+ * page continues, and a newer page stays usable by an older app.
7
+ *
8
+ * The page posts to `window.ReactNativeWebView.postMessage` as a JSON string,
9
+ * which arrives here as `event.nativeEvent.data`.
10
+ */
11
+ export type HostedBridgeMessage = HostedReady | HostedOpenUrl | HostedCancel | HostedError;
12
+ /** The payable page is interactive. */
13
+ export interface HostedReady {
14
+ readonly type: 'ready';
15
+ }
16
+ /**
17
+ * A consent exists and the bank must now be opened outside the WebView.
18
+ *
19
+ * Banks commonly refuse to serve their authorization pages inside an embedded
20
+ * browser, and the address bar is what lets a payer tell a real bank page from
21
+ * a convincing copy.
22
+ */
23
+ export interface HostedOpenUrl {
24
+ readonly type: 'openUrl';
25
+ readonly url: string;
26
+ }
27
+ /** The payer cancelled, and the request is already rejected server-side. */
28
+ export interface HostedCancel {
29
+ readonly type: 'cancel';
30
+ }
31
+ /** The flow cannot continue. [code] is the key the page itself renders. */
32
+ export interface HostedError {
33
+ readonly type: 'error';
34
+ readonly code: string;
35
+ }
36
+ /**
37
+ * Parses a message posted by the hosted page.
38
+ *
39
+ * Returns null for anything unrecognised. The message crosses a boundary the
40
+ * SDK does not control, so nothing here trusts its shape — the WebView message
41
+ * channel is shared with every script on the page.
42
+ */
43
+ export declare function parseHostedBridgeMessage(raw: unknown): HostedBridgeMessage | null;
44
+ //# sourceMappingURL=bridge-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge-message.d.ts","sourceRoot":"","sources":["../../../../../src/internal/hosted/bridge-message.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,CAAC;AAE3F,uCAAuC;AACvC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAED,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAyBjF"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Origin channel this SDK identifies as to the hosted page.
3
+ *
4
+ * The same value must be recorded on the payment request by the merchant's
5
+ * backend, because the bank redirect that completes a payment carries no query
6
+ * string of ours and the return path is decided from the stored row.
7
+ */
8
+ export declare const HOSTED_ORIGIN_CHANNEL = "sdk_react_native";
9
+ /**
10
+ * Builds the hosted payment page URL for a payment request reference.
11
+ *
12
+ * The reference is the only credential the page needs; everything else is
13
+ * resolved server-side from the row it names.
14
+ */
15
+ export declare function buildHostedPaymentUrl(args: {
16
+ baseUrl: string;
17
+ reference: string;
18
+ }): string;
19
+ /**
20
+ * Whether [url] belongs to the hosted origin derived from [baseUrl].
21
+ *
22
+ * The WebView loads only the hosted origin. Bank authentication deliberately
23
+ * happens outside it, so anything else navigating in-frame is refused rather
24
+ * than followed.
25
+ */
26
+ export declare function isHostedOriginUrl(args: {
27
+ baseUrl: string;
28
+ url: string;
29
+ }): boolean;
30
+ //# sourceMappingURL=hosted-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-url.d.ts","sourceRoot":"","sources":["../../../../../src/internal/hosted/hosted-url.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAI1F;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAEjF"}
@@ -1,4 +1,3 @@
1
- export { collectTelemetry } from './telemetry-collector.js';
2
1
  export { launchBankRedirect, type BankRedirectArgs } from './bank-redirect.js';
3
2
  export { SecureStorePendingSessionStore } from './secure-store-pending-session-store.js';
4
3
  export { useSpareLinkDeepLinks } from './deep-link-listener.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAiB,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAsC,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAiB,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAsC,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAsB,CAAC"}
@@ -1,3 +1,23 @@
1
- /** Redacts sensitive query params before logging bank-return URIs. */
1
+ /**
2
+ * Redacts the query of a bank-return URI before it is logged.
3
+ *
4
+ * Every value goes except the few that describe the outcome rather than identify
5
+ * anyone — see {@link KEPT_KEYS}. Redaction is a denylist by default rather than
6
+ * an allowlist of names to remove: an earlier version named the two keys to
7
+ * redact, so anything else the return ever carried was logged in full, and one of
8
+ * the names it knew (`exchange_code`) is not even in the contract any more.
9
+ *
10
+ * What is worth keeping in a log is the shape of the URI — its scheme, its path,
11
+ * which parameters were present — plus enough to explain the outcome.
12
+ *
13
+ * It also cannot use the global `URL`. React Native's is a stub whose
14
+ * `searchParams` returns a fresh empty instance, so `has()` was always false and
15
+ * this function returned the URI untouched on a device while redacting correctly
16
+ * under Jest, which runs on Node.
17
+ *
18
+ * The query is split here rather than read through `parseQueryParams`, because
19
+ * that decodes values and keeps only the first of a repeated key — fine for
20
+ * reading an outcome, wrong for reproducing a URI whose shape is the point.
21
+ */
2
22
  export declare function redactPaymentReturnUri(uri: string): string;
3
23
  //# sourceMappingURL=redact-uri.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redact-uri.d.ts","sourceRoot":"","sources":["../../../../src/internal/redact-uri.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc1D"}
1
+ {"version":3,"file":"redact-uri.d.ts","sourceRoot":"","sources":["../../../../src/internal/redact-uri.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAmBH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgC1D"}
@@ -1,6 +1,7 @@
1
1
  /**
2
- * Production `PendingSessionStore` backed by expo-secure-store. Persists a
3
- * single in-flight payment session so the SDK can recover after cold start.
2
+ * Production `PendingSessionStore` backed by expo-secure-store. Persists the
3
+ * reference of a single in-flight payment so a cold start knows which payment
4
+ * was under way.
4
5
  */
5
6
  import type { PendingSessionRecord } from '../core/models/index.js';
6
7
  import type { PendingSessionStore } from '../core/services/pending-session-store.js';
@@ -1 +1 @@
1
- {"version":3,"file":"secure-store-pending-session-store.d.ts","sourceRoot":"","sources":["../../../../src/internal/secure-store-pending-session-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAAwC,CAAC;AAclF,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAcD,qBAAa,8BAA+B,YAAW,mBAAmB;IACxE,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAoC;IAEtD;;;;OAIG;gBACS,YAAY,GAAE,MAAM,OAAO,CAAC,iBAAiB,CAAiB;IAI1E,OAAO,KAAK,MAAM,GAGjB;IAED,kEAAkE;IAClE,OAAO,CAAC,YAAY;IAQpB,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB3C,IAAI,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA6BlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAavB"}
1
+ {"version":3,"file":"secure-store-pending-session-store.d.ts","sourceRoot":"","sources":["../../../../src/internal/secure-store-pending-session-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAAwC,CAAC;AAwBlF,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAcD,qBAAa,8BAA+B,YAAW,mBAAmB;IACxE,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAoC;IAEtD;;;;OAIG;gBACS,YAAY,GAAE,MAAM,OAAO,CAAC,iBAAiB,CAAiB;IAI1E,OAAO,KAAK,MAAM,GAGjB;IAED,kEAAkE;IAClE,OAAO,CAAC,YAAY;IAQpB,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,IAAI,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAYlD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CASvB"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Minimal URL parsing that does not go through the global `URL`.
3
+ *
4
+ * React Native ships a stub: every component accessor — `protocol`, `hostname`,
5
+ * `port`, `origin`, `search`, `pathname` — throws "not implemented", and
6
+ * `searchParams` returns a fresh empty instance that never reads the URL it was
7
+ * constructed from (`react-native/Libraries/Blob/URL.js`, installed globally by
8
+ * `setUpXHR.js`). Code written against the standard therefore behaves correctly
9
+ * under Jest, which runs on Node's real `URL`, and silently reads nothing on a
10
+ * device.
11
+ *
12
+ * The SDK parses what it needs itself rather than asking the host app to install
13
+ * a polyfill whose presence it cannot verify — an origin check that quietly
14
+ * stops comparing hosts is worse than one that was never written.
15
+ */
16
+ /** The parts of a URL this SDK compares origins on. */
17
+ export interface UrlParts {
18
+ /** Lower-cased, without the trailing colon. */
19
+ scheme: string;
20
+ /** Lower-cased host, without userinfo. IPv6 hosts keep their brackets. */
21
+ host: string;
22
+ /** The explicit port, or the scheme's default where it has one. */
23
+ port: number | undefined;
24
+ }
25
+ /**
26
+ * Splits [url] into the parts an origin comparison needs, or null if it has no
27
+ * authority to compare.
28
+ */
29
+ export declare function parseUrlParts(url: string): UrlParts | null;
30
+ /**
31
+ * Whether two URLs share a scheme, host and port.
32
+ *
33
+ * Both must carry an authority, so a relative path never matches an absolute
34
+ * URL: `/link/payment/x` names no origin and must not be read as naming this one.
35
+ */
36
+ export declare function isSameOrigin(a: string, b: string): boolean;
37
+ /**
38
+ * Reads the query string of [url] into a plain object.
39
+ *
40
+ * The first occurrence of a repeated key wins, matching `URLSearchParams.get`.
41
+ * A value the SDK cannot decode is kept in its raw form rather than dropping the
42
+ * parameter: callers compare against known literals, and a mangled value should
43
+ * fail that comparison rather than read as absent.
44
+ */
45
+ export declare function parseQueryParams(url: string): Record<string, string>;
46
+ //# sourceMappingURL=url-parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-parts.d.ts","sourceRoot":"","sources":["../../../../src/internal/url-parts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAOD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CA0B1D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAK1D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBpE"}
@@ -1,11 +1,9 @@
1
- export { type PaymentEnvironment, type SpareApiTenant, type SpareLinkConfig, type SpareLinkResumeConfig, defaultBaseUrlFor, tenantCountryCode, resolvedBaseUrl, resolvedResumeBaseUrl, assertValidConfig, } from './spare-link-config.js';
2
- export { type SpareLinkEvent, type SpareLinkEventType, type SpareLinkInitialized, type SpareLinkSessionLoaded, type SpareLinkConsentStarted, type SpareLinkRedirectToBank, type SpareLinkBankCallbackReceived, type SpareLinkSucceeded, type SpareLinkFailed, type SpareLinkCancelled, type SpareLinkAbandoned, SPARE_LINK_EVENT_TYPES, isSpareLinkEvent, SpareLinkEvents, } from './spare-link-event.js';
1
+ export { type PaymentEnvironment, type SpareApiTenant, type SpareLinkConfig, defaultBaseUrlFor, tenantCountryCode, resolvedBaseUrl, assertValidConfig, } from './spare-link-config.js';
2
+ export { type SpareLinkEvent, type SpareLinkEventType, type SpareLinkInitialized, type SpareLinkPageReady, type SpareLinkRedirectToBank, type SpareLinkBankCallbackReceived, type SpareLinkSucceeded, type SpareLinkFailed, type SpareLinkCancelled, type SpareLinkAbandoned, SPARE_LINK_EVENT_TYPES, isSpareLinkEvent, SpareLinkEvents, } from './spare-link-event.js';
3
3
  export { type PaymentStatus, type PaymentResult, type PaymentSuccess, type PaymentCancelled, type PaymentFailed, type PaymentAbandoned, paymentSuccess, paymentCancelled, paymentFailed, paymentAbandoned, } from './payment-result.js';
4
- export type { SpareLinkCallbacks, SpareLinkSuccessCallback, SpareLinkExitCallback, SpareLinkEventCallback, } from './spare-link-callbacks.js';
5
- export type { RecoveryResult, NoRecoveryReason, NoRecoveryNeeded, SessionRecovered, RecoveryAwaitingUser, } from './recovery-result.js';
6
- export { isSessionRecovered, isNoRecoveryNeeded, isRecoveryAwaitingUser, } from './recovery-result.js';
4
+ export type { RecoveryResult, NoRecoveryReason, NoRecoveryNeeded, SessionRecovered, } from './recovery-result.js';
5
+ export { isSessionRecovered, isNoRecoveryNeeded } from './recovery-result.js';
7
6
  export { SpareLinkSession } from './spare-link-session.js';
8
7
  export { SpareLink, type SpareLinkOptions } 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
8
  export { configureSpareLinkLogging, createLogger, type SpareLinkLogLevel, type SpareLinkLogRecord, type SpareLinkLogSink, type SpareLinkLogger, } from '../internal/logger.js';
11
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,wBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAChB,MAAM,uBAAoB,CAAC;AAE5B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAkB,CAAC;AAE1B,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,2BAAwB,CAAC;AAEhC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,sBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAmB,CAAC;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAAuB,CAAC;AAEzE,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,oCAAoC,EACpC,iCAAiC,GAClC,MAAM,gBAAa,CAAC;AAErB,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,uBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/public/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,MAAM,wBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,GAChB,MAAM,uBAAoB,CAAC;AAE5B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,MAAM,qBAAkB,CAAC;AAE1B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAmB,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAAuB,CAAC;AAEzE,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,uBAAoB,CAAC"}
@@ -1,26 +1,59 @@
1
1
  /**
2
2
  * Terminal outcome of a payment flow — narrow on the `status` field.
3
+ *
4
+ * Every result here is read off a deep link, which is interceptable by design
5
+ * and names no bank identifiers. It reports what happened rather than attesting
6
+ * to it: confirm with your backend via `GET /payment-requests/{reference}`
7
+ * before acting on one.
3
8
  */
4
9
  export type PaymentStatus = 'success' | 'cancelled' | 'failed' | 'abandoned';
5
10
  interface PaymentResultBase {
6
11
  status: PaymentStatus;
7
- /** The `link_token` JWS that identifies this payment flow. Mirrors Flutter's `linkToken`. */
8
- linkToken: string;
9
- bankId?: string;
10
- linkSessionId?: string;
12
+ /** The payment request this flow was paying, and what your backend reads the
13
+ * authoritative result by. */
14
+ reference: string;
15
+ /** The merchant's own reference for the attempt, when the return named one. */
16
+ merchantRef?: string;
17
+ /**
18
+ * Spare's identifier for the payment, present on a reported success.
19
+ *
20
+ * Distinct from `reference`, which names the request. This is what an order
21
+ * records.
22
+ */
23
+ paymentId?: string;
24
+ /**
25
+ * Spare's identifier for a mandate, present when the flow created one.
26
+ *
27
+ * A return names a payment or a mandate, never both. Read whichever is set
28
+ * rather than assuming which the flow produced.
29
+ */
30
+ mandateId?: string;
31
+ /**
32
+ * The return's signature: an ES256 JWS whose payload is the return URL, every
33
+ * parameter included.
34
+ *
35
+ * The only part of the return that cannot be forged. Verify it against Spare's
36
+ * public key on your backend before acting on the outcome — the SDK holds no
37
+ * keys and passes it through unchecked.
38
+ */
39
+ signature?: string;
40
+ /**
41
+ * The machine-readable reason a payment did not complete, e.g. `user_cancelled`.
42
+ *
43
+ * Alongside `errorCode`, which is often generic where this is not.
44
+ */
45
+ errorReason?: string;
11
46
  message?: string;
12
47
  errorCode?: string;
13
48
  resolvedAtMs?: number;
14
49
  }
15
- /** Payment completed at the bank. `exchangeCode` may be null when recovered
16
- * via status polling (the bank delivered the code straight to the merchant
17
- * backend, bypassing the SDK). */
50
+ /**
51
+ * The return reported a completed payment.
52
+ *
53
+ * Treat this as a prompt to confirm with your backend, not as settlement.
54
+ */
18
55
  export interface PaymentSuccess extends PaymentResultBase {
19
56
  status: 'success';
20
- exchangeCode?: string;
21
- merchantRef?: string;
22
- /** API payment type string (e.g. `FixedPeriodicSchedule`), when available. Mirrors Flutter's `paymentType`. */
23
- paymentType?: string;
24
57
  }
25
58
  export interface PaymentCancelled extends PaymentResultBase {
26
59
  status: 'cancelled';
@@ -30,7 +63,12 @@ export interface PaymentFailed extends PaymentResultBase {
30
63
  status: 'failed';
31
64
  errorCode: string;
32
65
  }
33
- /** Flow abandoned mid-flight (app killed, host removed the SDK navigator). */
66
+ /**
67
+ * The payer left before the flow resolved either way.
68
+ *
69
+ * A payment already at the bank may still complete after this, so it is not a
70
+ * failure — only your backend knows how it ended.
71
+ */
34
72
  export interface PaymentAbandoned extends PaymentResultBase {
35
73
  status: 'abandoned';
36
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"payment-result.d.ts","sourceRoot":"","sources":["../../../../src/public/payment-result.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE7E,UAAU,iBAAiB;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,6FAA6F;IAC7F,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;kCAEkC;AAClC,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+GAA+G;IAC/G,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8EAA8E;AAC9E,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAIjG,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,cAAc,CAEnF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAEzF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,aAAa,CAEhF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAEzF"}
1
+ {"version":3,"file":"payment-result.d.ts","sourceRoot":"","sources":["../../../../src/public/payment-result.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE7E,UAAU,iBAAiB;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB;mCAC+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAIjG,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,cAAc,CAEnF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAEzF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,aAAa,CAEhF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,gBAAgB,CAEzF"}
@@ -1,36 +1,27 @@
1
1
  import type { PaymentResult } from './payment-result.js';
2
2
  /**
3
3
  * Why {@link SpareLink.resumeIfNeeded} did not recover a terminal session.
4
- * Mirrors Flutter's `NoRecoveryReason`.
5
- */
6
- export type NoRecoveryReason = 'noPendingSession' | 'flowAlreadyActive' | 'persistenceUnavailable';
7
- /**
8
- * Outcome of {@link SpareLink.resumeIfNeeded}.
9
4
  *
10
- * Discriminated union aligned with Flutter's sealed `RecoveryResult`.
5
+ * `outcomeUnknown` is the one that carries weight: a payment was pending and no
6
+ * return arrived, so **it may have completed**. The SDK holds no credentials and
7
+ * has nothing to ask with — the reference is handed back for your backend to
8
+ * resolve.
11
9
  */
12
- export type RecoveryResult = NoRecoveryNeeded | SessionRecovered | RecoveryAwaitingUser;
13
- /** No pending session was recovered. */
10
+ export type NoRecoveryReason = 'noPendingSession' | 'flowAlreadyActive' | 'persistenceUnavailable' | 'outcomeUnknown';
11
+ /** Outcome of {@link SpareLink.resumeIfNeeded}. */
12
+ export type RecoveryResult = NoRecoveryNeeded | SessionRecovered;
13
+ /** No pending payment was resolved to a terminal outcome. */
14
14
  export interface NoRecoveryNeeded {
15
15
  readonly kind: 'none';
16
16
  readonly reason: NoRecoveryReason;
17
+ /** The pending payment's reference, when `reason` is `outcomeUnknown`. */
18
+ readonly reference?: string;
17
19
  }
18
- /** A pending session was recovered to a terminal {@link PaymentResult}. */
20
+ /** A pending payment was resolved to a terminal {@link PaymentResult}. */
19
21
  export interface SessionRecovered {
20
22
  readonly kind: 'recovered';
21
23
  readonly result: PaymentResult;
22
24
  }
23
- /**
24
- * A pending session is non-terminal and the SDK opened its recovery UI —
25
- * the integrator should treat this as in-progress, not "nothing happened".
26
- * The terminal outcome arrives later via `SpareLink.events` /
27
- * `spareLink.emitTerminal`, not as a second `resumeIfNeeded` resolution.
28
- */
29
- export interface RecoveryAwaitingUser {
30
- readonly kind: 'awaitingUser';
31
- readonly linkToken: string;
32
- }
33
25
  export declare function isSessionRecovered(r: RecoveryResult): r is SessionRecovered;
34
26
  export declare function isNoRecoveryNeeded(r: RecoveryResult): r is NoRecoveryNeeded;
35
- export declare function isRecoveryAwaitingUser(r: RecoveryResult): r is RecoveryAwaitingUser;
36
27
  //# sourceMappingURL=recovery-result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recovery-result.d.ts","sourceRoot":"","sources":["../../../../src/public/recovery-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAkB,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,wBAAwB,CAAC;AAEnG;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AAExF,wCAAwC;AACxC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,IAAI,gBAAgB,CAE3E;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,IAAI,gBAAgB,CAE3E;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,IAAI,oBAAoB,CAEnF"}
1
+ {"version":3,"file":"recovery-result.d.ts","sourceRoot":"","sources":["../../../../src/public/recovery-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAkB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,mBAAmB,GACnB,wBAAwB,GACxB,gBAAgB,CAAC;AAErB,mDAAmD;AACnD,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEjE,6DAA6D;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,IAAI,gBAAgB,CAE3E;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,IAAI,gBAAgB,CAE3E"}
@@ -1,49 +1,31 @@
1
1
  /**
2
- * Deployment environment for the Spare Link API.
3
- *
4
- * Each value maps to a default base URL
5
- * the SDK will hit unless `baseUrl` is overridden in {@link SpareLinkConfig}.
2
+ * Deployment environment for the Spare Link API, which is also where the hosted
3
+ * payment page is served from.
6
4
  */
7
- export type PaymentEnvironment = 'sandbox' | 'production';
5
+ export type PaymentEnvironment = 'local' | 'dev' | 'sandbox' | 'production';
8
6
  export declare function defaultBaseUrlFor(env: PaymentEnvironment): string;
9
7
  /** Spare API tenant — one country per tenant. */
10
8
  export type SpareApiTenant = 'ksa' | 'uae' | 'bah';
11
9
  export declare function tenantCountryCode(t: SpareApiTenant): string;
12
- /** Configuration to start a Spare Link payment flow. */
10
+ /** Configuration for a Spare Link instance. */
13
11
  export interface SpareLinkConfig {
14
- /** One-time link token minted by the merchant backend via POST /link/token/payment. */
15
- linkToken: string;
16
- /** Target environment (sandbox vs production). */
12
+ /** Target environment. Selects the host the hosted page is loaded from. */
17
13
  environment: PaymentEnvironment;
18
- /** Tenant (country). */
19
- tenant: SpareApiTenant;
20
14
  /**
21
- * Override the base URL. Set only for local dev (e.g. `http://localhost:4000`)
22
- * — production should rely on the environment-derived default.
15
+ * Tenant (country). The hosted flow currently serves UAE only; the value is
16
+ * kept for that selection and for the tenants that follow.
23
17
  */
18
+ tenant: SpareApiTenant;
19
+ /** Override the host. Set for a physical device pointed at a local API. */
24
20
  baseUrl?: string;
25
- /**
26
- * Inject a custom fetch implementation for advanced cases (cert pinning,
27
- * request logging). Defaults to `globalThis.fetch`.
28
- */
29
- fetch?: typeof fetch;
30
- /** Per-request timeout in milliseconds. Defaults to 15000. */
31
- requestTimeoutMs?: number;
32
21
  }
33
22
  /** Resolved base URL: explicit `baseUrl` if provided, else the environment default. */
34
23
  export declare function resolvedBaseUrl(config: SpareLinkConfig): string;
35
24
  /**
36
- * Recovery config — like {@link SpareLinkConfig} but without `linkToken`
37
- * (read from the persisted record).
25
+ * Throws if a config cannot be honoured.
26
+ *
27
+ * Called from {@link SpareLink}'s constructor, so a bad value fails where it was
28
+ * written rather than reaching the webview as a URL nobody meant.
38
29
  */
39
- export interface SpareLinkResumeConfig {
40
- environment: PaymentEnvironment;
41
- tenant: SpareApiTenant;
42
- baseUrl?: string;
43
- fetch?: typeof fetch;
44
- requestTimeoutMs?: number;
45
- }
46
- export declare function resolvedResumeBaseUrl(config: SpareLinkResumeConfig): string;
47
- /** Throws if a SpareLinkConfig is structurally invalid. */
48
30
  export declare function assertValidConfig(config: SpareLinkConfig): void;
49
31
  //# sourceMappingURL=spare-link-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spare-link-config.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,CAAC;AAO1D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAEjE;AAED,iDAAiD;AACjD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAQnD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAE3D;AAED,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,SAAS,EAAE,MAAM,CAAC;IAElB,kDAAkD;IAClD,WAAW,EAAE,kBAAkB,CAAC;IAEhC,wBAAwB;IACxB,MAAM,EAAE,cAAc,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAErB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAE/D;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,kBAAkB,CAAC;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAE3E;AAED,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAO/D"}
1
+ {"version":3,"file":"spare-link-config.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link-config.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC;AA+B5E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAEjE;AAED,iDAAiD;AACjD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAQnD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAE3D;AAED,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,WAAW,EAAE,kBAAkB,CAAC;IAEhC;;;OAGG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAE/D;AAWD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAU/D"}