@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.
Files changed (561) hide show
  1. package/README.md +119 -63
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  225. package/lib/typescript/module/version.d.ts.map +1 -1
  226. package/package.json +24 -22
  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 +1 -1
  257. package/CHANGELOG.md +0 -25
  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
@@ -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';
6
7
  import type { PendingSessionStore } from '../core/services/pending-session-store';
@@ -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,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,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,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,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';
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';
1
+ export { type PaymentEnvironment, type SpareApiTenant, type SpareLinkConfig, defaultBaseUrlFor, tenantCountryCode, resolvedBaseUrl, assertValidConfig, } from './spare-link-config';
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';
3
3
  export { type PaymentStatus, type PaymentResult, type PaymentSuccess, type PaymentCancelled, type PaymentFailed, type PaymentAbandoned, paymentSuccess, paymentCancelled, paymentFailed, paymentAbandoned, } from './payment-result';
4
- export type { SpareLinkCallbacks, SpareLinkSuccessCallback, SpareLinkExitCallback, SpareLinkEventCallback, } from './spare-link-callbacks';
5
- export type { RecoveryResult, NoRecoveryReason, NoRecoveryNeeded, SessionRecovered, RecoveryAwaitingUser, } from './recovery-result';
6
- export { isSessionRecovered, isNoRecoveryNeeded, isRecoveryAwaitingUser, } from './recovery-result';
4
+ export type { RecoveryResult, NoRecoveryReason, NoRecoveryNeeded, SessionRecovered, } from './recovery-result';
5
+ export { isSessionRecovered, isNoRecoveryNeeded } from './recovery-result';
7
6
  export { SpareLinkSession } from './spare-link-session';
8
7
  export { SpareLink, type SpareLinkOptions } from './spare-link-instance';
9
- export { kMaxRecoveryAttempts, DEFAULT_REQUEST_TIMEOUT_MS, DEFAULT_AWAITING_CALLBACK_TIMEOUT_MS, DEFAULT_AWAITING_CALLBACK_POLL_MS, } from './constants';
10
8
  export { configureSpareLinkLogging, createLogger, type SpareLinkLogLevel, type SpareLinkLogRecord, type SpareLinkLogSink, type SpareLinkLogger, } from '../internal/logger';
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,qBAAqB,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,oBAAoB,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,kBAAkB,CAAC;AAE1B,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,oCAAoC,EACpC,iCAAiC,GAClC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,oBAAoB,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,qBAAqB,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,oBAAoB,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,kBAAkB,CAAC;AAE1B,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EACL,yBAAyB,EACzB,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,oBAAoB,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';
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,kBAAkB,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,kBAAkB,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"}
@@ -2,55 +2,54 @@ import type { PaymentResult } from './payment-result';
2
2
  /**
3
3
  * Lifecycle events emitted on {@link SpareLink.events}.
4
4
  *
5
- * This is a discriminated union (TypeScript's equivalent to Dart sealed classes).
6
- * Use a switch on the `type` field for exhaustive handling:
5
+ * Analytics only — never required to drive the flow. This is a discriminated
6
+ * union (TypeScript's equivalent to Dart sealed classes); switch on `type` for
7
+ * exhaustive handling:
7
8
  *
8
9
  * ```ts
9
10
  * spareLink.events.subscribe((event) => {
10
11
  * switch (event.type) {
11
12
  * case 'initialized':
12
- * console.log('Started flow for', event.linkToken);
13
+ * console.log('Started flow for', event.reference);
13
14
  * break;
14
- * case 'sessionLoaded':
15
- * console.log('Session loaded', event.linkSessionId);
15
+ * case 'pageReady':
16
+ * console.log('Payer can act on the page');
16
17
  * break;
17
18
  * case 'succeeded':
18
- * console.log('Payment succeeded', event.result.exchangeCode);
19
+ * console.log('Reported success for', event.result.reference);
19
20
  * break;
20
21
  * // ...
21
22
  * }
22
23
  * });
23
24
  * ```
24
25
  */
25
- export type SpareLinkEvent = SpareLinkInitialized | SpareLinkSessionLoaded | SpareLinkConsentStarted | SpareLinkRedirectToBank | SpareLinkBankCallbackReceived | SpareLinkSucceeded | SpareLinkFailed | SpareLinkCancelled | SpareLinkAbandoned;
26
+ export type SpareLinkEvent = SpareLinkInitialized | SpareLinkPageReady | SpareLinkRedirectToBank | SpareLinkBankCallbackReceived | SpareLinkSucceeded | SpareLinkFailed | SpareLinkCancelled | SpareLinkAbandoned;
26
27
  /** The SDK has started a payment flow. */
27
28
  export interface SpareLinkInitialized {
28
29
  readonly type: 'initialized';
29
- readonly linkToken: string;
30
+ readonly reference: string;
30
31
  }
31
- /** The payment session was loaded from the server. */
32
- export interface SpareLinkSessionLoaded {
33
- readonly type: 'sessionLoaded';
34
- readonly linkToken: string;
35
- /** Server-assigned link session ID when available from the API. */
36
- readonly linkSessionId?: string;
37
- }
38
- /** The user confirmed consent and a consent request was submitted. */
39
- export interface SpareLinkConsentStarted {
40
- readonly type: 'consentStarted';
41
- readonly linkToken: string;
32
+ /**
33
+ * The hosted page is interactive and the payer has something to act on.
34
+ *
35
+ * The steps after this — choosing a bank, the payee check, reading the consent —
36
+ * happen inside the page, which does not report them.
37
+ */
38
+ export interface SpareLinkPageReady {
39
+ readonly type: 'pageReady';
40
+ readonly reference: string;
42
41
  }
43
- /** The user is being redirected to their bank's authorization page. */
42
+ /** The payer is being handed to their bank, outside the WebView. */
44
43
  export interface SpareLinkRedirectToBank {
45
44
  readonly type: 'redirectToBank';
46
- readonly linkToken: string;
45
+ readonly reference: string;
47
46
  }
48
47
  /** The bank has redirected back with a callback URI. */
49
48
  export interface SpareLinkBankCallbackReceived {
50
49
  readonly type: 'bankCallbackReceived';
51
- readonly linkToken: string;
50
+ readonly reference: string;
52
51
  }
53
- /** The payment completed successfully and the flow is about to resolve. */
52
+ /** The return reported a completed payment and the flow is about to resolve. */
54
53
  export interface SpareLinkSucceeded {
55
54
  readonly type: 'succeeded';
56
55
  readonly result: PaymentResult;
@@ -60,28 +59,27 @@ export interface SpareLinkFailed {
60
59
  readonly type: 'failed';
61
60
  readonly result: PaymentResult;
62
61
  }
63
- /** The user cancelled the payment and the flow is about to resolve. */
62
+ /** The payer cancelled the payment and the flow is about to resolve. */
64
63
  export interface SpareLinkCancelled {
65
64
  readonly type: 'cancelled';
66
65
  readonly result: PaymentResult;
67
66
  }
68
- /** The flow was abandoned without an explicit user action. */
67
+ /** The payer left before the flow resolved either way. */
69
68
  export interface SpareLinkAbandoned {
70
69
  readonly type: 'abandoned';
71
70
  readonly result: PaymentResult;
72
71
  }
73
72
  /** All possible event type strings for type narrowing. */
74
- export declare const SPARE_LINK_EVENT_TYPES: readonly ["initialized", "sessionLoaded", "consentStarted", "redirectToBank", "bankCallbackReceived", "succeeded", "failed", "cancelled", "abandoned"];
73
+ export declare const SPARE_LINK_EVENT_TYPES: readonly ["initialized", "pageReady", "redirectToBank", "bankCallbackReceived", "succeeded", "failed", "cancelled", "abandoned"];
75
74
  export type SpareLinkEventType = (typeof SPARE_LINK_EVENT_TYPES)[number];
76
75
  /** Type guard for SpareLinkEvent. */
77
76
  export declare function isSpareLinkEvent(value: unknown): value is SpareLinkEvent;
78
77
  /** Factory functions for creating events (internal use). */
79
78
  export declare const SpareLinkEvents: {
80
- readonly initialized: (linkToken: string) => SpareLinkInitialized;
81
- readonly sessionLoaded: (linkToken: string, linkSessionId?: string) => SpareLinkSessionLoaded;
82
- readonly consentStarted: (linkToken: string) => SpareLinkConsentStarted;
83
- readonly redirectToBank: (linkToken: string) => SpareLinkRedirectToBank;
84
- readonly bankCallbackReceived: (linkToken: string) => SpareLinkBankCallbackReceived;
79
+ readonly initialized: (reference: string) => SpareLinkInitialized;
80
+ readonly pageReady: (reference: string) => SpareLinkPageReady;
81
+ readonly redirectToBank: (reference: string) => SpareLinkRedirectToBank;
82
+ readonly bankCallbackReceived: (reference: string) => SpareLinkBankCallbackReceived;
85
83
  readonly succeeded: (result: PaymentResult) => SpareLinkSucceeded;
86
84
  readonly failed: (result: PaymentResult) => SpareLinkFailed;
87
85
  readonly cancelled: (result: PaymentResult) => SpareLinkCancelled;
@@ -1 +1 @@
1
- {"version":3,"file":"spare-link-event.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,cAAc,GACtB,oBAAoB,GACpB,sBAAsB,GACtB,uBAAuB,GACvB,uBAAuB,GACvB,6BAA6B,GAC7B,kBAAkB,GAClB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,sDAAsD;AACtD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,uEAAuE;AACvE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wDAAwD;AACxD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,wJAUzB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,qCAAqC;AACrC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAIxE;AAED,4DAA4D;AAC5D,eAAO,MAAM,eAAe;sCACH,MAAM,KAAG,oBAAoB;wCAG3B,MAAM,kBAAkB,MAAM,KAAG,sBAAsB;yCAKtD,MAAM,KAAG,uBAAuB;yCAGhC,MAAM,KAAG,uBAAuB;+CAG1B,MAAM,KAAG,6BAA6B;iCAGpD,aAAa,KAAG,kBAAkB;8BAGrC,aAAa,KAAG,eAAe;iCAG5B,aAAa,KAAG,kBAAkB;iCAGlC,aAAa,KAAG,kBAAkB;CAG5C,CAAC"}
1
+ {"version":3,"file":"spare-link-event.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link-event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,cAAc,GACtB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,GACvB,6BAA6B,GAC7B,kBAAkB,GAClB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,oEAAoE;AACpE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wDAAwD;AACxD,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,kIASzB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,qCAAqC;AACrC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAIxE;AAED,4DAA4D;AAC5D,eAAO,MAAM,eAAe;sCACH,MAAM,KAAG,oBAAoB;oCAG/B,MAAM,KAAG,kBAAkB;yCAGtB,MAAM,KAAG,uBAAuB;+CAG1B,MAAM,KAAG,6BAA6B;iCAGpD,aAAa,KAAG,kBAAkB;8BAGrC,aAAa,KAAG,eAAe;iCAG5B,aAAa,KAAG,kBAAkB;iCAGlC,aAAa,KAAG,kBAAkB;CAG5C,CAAC"}
@@ -1,26 +1,15 @@
1
1
  import type { PaymentResult } from './payment-result';
2
2
  import type { RecoveryResult } from './recovery-result';
3
- import type { SpareLinkSession } from './spare-link-session';
4
3
  /**
5
4
  * Imperative API the {@link SpareLinkHost} mounts and wires to a
6
5
  * {@link SpareLink} instance.
7
6
  *
8
7
  * @internal
9
8
  */
10
- export interface SpareLinkHostApi {
11
- start(args: {
12
- linkToken: string;
13
- }): Promise<SpareLinkSession>;
14
- handleRedirect(uri: URL | string): Promise<boolean>;
15
- resumeIfNeeded(): Promise<RecoveryResult>;
16
- isFlowActive(): boolean;
17
- }
18
- /** @internal */
19
9
  export interface SpareLinkHostDelegate {
20
10
  startFlow(args: {
21
- linkToken: string;
11
+ reference: string;
22
12
  resolve: (result: PaymentResult) => void;
23
- onSessionLoaded?: (linkSessionId: string) => void;
24
13
  }): void;
25
14
  handleRedirect(uri: URL | string): Promise<boolean>;
26
15
  resumeIfNeeded(): Promise<RecoveryResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"spare-link-host-api.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link-host-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9D,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1C,YAAY,IAAI,OAAO,CAAC;CACzB;AAED,gBAAgB;AAChB,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,IAAI,EAAE;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;QACzC,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;KACnD,GAAG,IAAI,CAAC;IACT,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1C,YAAY,IAAI,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"spare-link-host-api.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link-host-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACvF,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1C,YAAY,IAAI,OAAO,CAAC;CACzB"}
@@ -1,7 +1,7 @@
1
1
  import type { PendingSessionStore } from '../core/services/pending-session-store';
2
2
  import { type EventEmitter } from '../internal/event-emitter';
3
3
  import { type PaymentResult } from './payment-result';
4
- import { type NoRecoveryReason, type RecoveryResult, isSessionRecovered } from './recovery-result';
4
+ import type { NoRecoveryReason, RecoveryResult } from './recovery-result';
5
5
  import { type PaymentEnvironment, type SpareApiTenant } from './spare-link-config';
6
6
  import { type SpareLinkEvent } from './spare-link-event';
7
7
  import type { SpareLinkHostDelegate } from './spare-link-host-api';
@@ -10,14 +10,15 @@ export interface SpareLinkOptions {
10
10
  environment: PaymentEnvironment;
11
11
  tenant: SpareApiTenant;
12
12
  baseUrl?: string;
13
- fetch?: typeof fetch;
14
- requestTimeoutMs?: number;
15
13
  /** Store for crash-safe recovery. Defaults to none — wire e.g. `SecureStorePendingSessionStore`. */
16
14
  pendingSessionStore?: PendingSessionStore;
17
15
  }
18
16
  /**
19
- * Entry point for the Spare Link payment SDK — aligned with Flutter's
20
- * instance-based {@link SpareLink} API.
17
+ * Entry point for the Spare Link payment SDK.
18
+ *
19
+ * Your backend creates the payment request — with `channel: 'sdk_react_native'`
20
+ * and the return URLs your app is registered for — and gives the app the
21
+ * reference it returns. That reference is all this SDK needs.
21
22
  *
22
23
  * Mount {@link SpareLinkHost} once near your app root and pass this instance:
23
24
  *
@@ -31,13 +32,15 @@ export interface SpareLinkOptions {
31
32
  * <App />
32
33
  * </SpareLinkHost>
33
34
  * ```
35
+ *
36
+ * The SDK makes no API calls of its own and holds no credentials. Every result
37
+ * it reports comes from a deep link that is interceptable by design, so confirm
38
+ * with your backend via `GET /payment-requests/{reference}` before acting on one.
34
39
  */
35
40
  export declare class SpareLink {
36
41
  readonly environment: PaymentEnvironment;
37
42
  readonly tenant: SpareApiTenant;
38
43
  readonly baseUrl: string | undefined;
39
- readonly fetch: typeof fetch | undefined;
40
- readonly requestTimeoutMs: number | undefined;
41
44
  readonly pendingSessionStore: PendingSessionStore | undefined;
42
45
  private readonly _events;
43
46
  private _host;
@@ -52,17 +55,25 @@ export declare class SpareLink {
52
55
  /** Returns `true` while a payment flow started via {@link start} is in progress. */
53
56
  get isFlowActive(): boolean;
54
57
  /**
55
- * Starts a new payment flow.
58
+ * Opens the hosted payment page for `reference` and resolves when the flow ends.
56
59
  *
57
- * Returns a {@link SpareLinkSession} immediately; await `session.result`
58
- * for the terminal outcome.
60
+ * Returns a {@link SpareLinkSession} immediately; await `session.result` for the
61
+ * terminal outcome. There is no session to load first: the page resolves the
62
+ * request itself, so the payer sees it without waiting on a round trip.
59
63
  */
60
64
  start(args: {
61
- linkToken: string;
65
+ reference: string;
62
66
  }): Promise<SpareLinkSession>;
63
- /** Processes a deep-link URI received from the bank. */
67
+ /** Processes a deep-link URI the payer returned through. */
64
68
  handleRedirect(uri: URL | string): Promise<boolean>;
65
- /** Checks for a pending session saved during a previous flow and recovers it. */
69
+ /**
70
+ * Reports a payment that was left in progress by a previous app session.
71
+ *
72
+ * If the return deep link arrived before the app had a flow to give it to, the
73
+ * outcome is resolved from it. Otherwise the SDK cannot say how the payment
74
+ * ended — it holds no credentials, so it has nothing to ask with — and reports
75
+ * `outcomeUnknown` with the reference for your backend to resolve.
76
+ */
66
77
  resumeIfNeeded(): Promise<RecoveryResult>;
67
78
  dispose(): void;
68
79
  /**
@@ -75,15 +86,10 @@ export declare class SpareLink {
75
86
  emitEvent(event: SpareLinkEvent): void;
76
87
  /** @internal */
77
88
  emitTerminal(result: PaymentResult): void;
89
+ private _resolveImmediately;
78
90
  private _emitTerminal;
79
91
  private _hostStart;
80
92
  private _drainPending;
81
93
  }
82
- /** Map legacy recovery helper outcomes to Flutter-aligned {@link RecoveryResult}. */
83
- export declare function mapHostRecovery(recovery: RecoveryResult | {
84
- kind: 'inProgress';
85
- linkToken: string;
86
- }): RecoveryResult;
87
- export declare function noRecovery(reason: NoRecoveryReason): RecoveryResult;
88
- export { isSessionRecovered };
94
+ export declare function noRecovery(reason: NoRecoveryReason, reference?: string): RecoveryResult;
89
95
  //# sourceMappingURL=spare-link-instance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spare-link-instance.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link-instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EAEpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,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;IAC1B,oGAAoG;IACpG,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAgBD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAE9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;gBAE3C,OAAO,EAAE,gBAAgB;IASrC,+DAA+D;IAC/D,IAAI,MAAM,IAAI,YAAY,CAAC,cAAc,CAAC,CAEzC;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,oFAAoF;IACpF,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;OAKG;IACG,KAAK,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiCnE,wDAAwD;IAClD,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzD,iFAAiF;IAC3E,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;IAe/C,OAAO,IAAI,IAAI;IA2Bf;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,IAAI;IAQpD,gBAAgB;IAChB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAItC,gBAAgB;IAChB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAIzC,OAAO,CAAC,aAAa;YAiBP,UAAU;IA6BxB,OAAO,CAAC,aAAa;CAiBtB;AAED,qFAAqF;AACrF,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACnE,cAAc,CAKhB;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,CAEnE;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"spare-link-instance.d.ts","sourceRoot":"","sources":["../../../../src/public/spare-link-instance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EAGpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,kBAAkB,CAAC;IAChC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oGAAoG;IACpG,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAgBD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAE9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;gBAE3C,OAAO,EAAE,gBAAgB;IAerC,+DAA+D;IAC/D,IAAI,MAAM,IAAI,YAAY,CAAC,cAAc,CAAC,CAEzC;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,oFAAoF;IACpF,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;;OAMG;IACG,KAAK,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqBnE,4DAA4D;IACtD,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUzD;;;;;;;OAOG;IACG,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;IAY/C,OAAO,IAAI,IAAI;IA2Bf;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,IAAI;IAQpD,gBAAgB;IAChB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAItC,gBAAgB;IAChB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAIzC,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,aAAa;YAiBP,UAAU;IAwBxB,OAAO,CAAC,aAAa;CAiBtB;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAEvF"}
@@ -2,19 +2,14 @@ import type { PaymentResult } from './payment-result';
2
2
  /**
3
3
  * Handle for an in-flight or completed payment started via {@link SpareLink.start}.
4
4
  *
5
- * Mirrors Flutter's `SpareLinkSession` — `linkToken` is available immediately;
6
- * await `result` for the terminal outcome.
5
+ * `reference` is available immediately; await `result` for the terminal outcome.
7
6
  */
8
7
  export declare class SpareLinkSession {
9
- readonly linkToken: string;
10
- linkSessionId: string | undefined;
8
+ readonly reference: string;
11
9
  readonly result: Promise<PaymentResult>;
12
10
  constructor(args: {
13
- linkToken: string;
11
+ reference: string;
14
12
  result: Promise<PaymentResult>;
15
- linkSessionId?: string;
16
13
  });
17
- /** Called internally when the server provides {@link linkSessionId}. */
18
- updateLinkSessionId(value: string): void;
19
14
  }
20
15
  //# sourceMappingURL=spare-link-session.d.ts.map