@adonis-agora/payments 0.2.0 → 0.4.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 (346) hide show
  1. package/CHANGELOG.md +2375 -0
  2. package/dist/assets/spa/assets/index-B7rU8eIL.css +2 -0
  3. package/dist/assets/spa/assets/index-BcM2VH5k.js +10 -0
  4. package/dist/assets/spa/assets/index-BcM2VH5k.js.map +1 -0
  5. package/dist/assets/spa/index.html +20 -0
  6. package/dist/commands/main.d.ts +4 -3
  7. package/dist/commands/main.d.ts.map +1 -1
  8. package/dist/commands/main.js +9 -2
  9. package/dist/commands/main.js.map +1 -1
  10. package/dist/commands/make_billable.d.ts.map +1 -1
  11. package/dist/commands/make_billable.js +1 -1
  12. package/dist/commands/make_billable.js.map +1 -1
  13. package/dist/commands/make_webhook_handler.d.ts.map +1 -1
  14. package/dist/commands/make_webhook_handler.js +1 -1
  15. package/dist/commands/make_webhook_handler.js.map +1 -1
  16. package/dist/commands/payments_health.d.ts +31 -0
  17. package/dist/commands/payments_health.d.ts.map +1 -0
  18. package/dist/commands/payments_health.js +113 -0
  19. package/dist/commands/payments_health.js.map +1 -0
  20. package/dist/commands/payments_sync.d.ts +18 -4
  21. package/dist/commands/payments_sync.d.ts.map +1 -1
  22. package/dist/commands/payments_sync.js +136 -40
  23. package/dist/commands/payments_sync.js.map +1 -1
  24. package/dist/commands/payments_webhook.d.ts.map +1 -1
  25. package/dist/commands/payments_webhook.js.map +1 -1
  26. package/dist/configure.d.ts +12 -5
  27. package/dist/configure.d.ts.map +1 -1
  28. package/dist/configure.js +18 -5
  29. package/dist/configure.js.map +1 -1
  30. package/dist/providers/dashboard_provider.d.ts +97 -0
  31. package/dist/providers/dashboard_provider.d.ts.map +1 -0
  32. package/dist/providers/dashboard_provider.js +430 -0
  33. package/dist/providers/dashboard_provider.js.map +1 -0
  34. package/dist/providers/payments_client_provider.d.ts +41 -0
  35. package/dist/providers/payments_client_provider.d.ts.map +1 -0
  36. package/dist/providers/payments_client_provider.js +95 -0
  37. package/dist/providers/payments_client_provider.js.map +1 -0
  38. package/dist/providers/payments_provider.d.ts +35 -0
  39. package/dist/providers/payments_provider.d.ts.map +1 -1
  40. package/dist/providers/payments_provider.js +250 -36
  41. package/dist/providers/payments_provider.js.map +1 -1
  42. package/dist/src/billing/billing_health.d.ts +85 -0
  43. package/dist/src/billing/billing_health.d.ts.map +1 -0
  44. package/dist/src/billing/billing_health.js +155 -0
  45. package/dist/src/billing/billing_health.js.map +1 -0
  46. package/dist/src/billing/billing_overview.d.ts +4 -3
  47. package/dist/src/billing/billing_overview.d.ts.map +1 -1
  48. package/dist/src/billing/billing_overview.js +14 -5
  49. package/dist/src/billing/billing_overview.js.map +1 -1
  50. package/dist/src/billing/billing_store.d.ts +634 -5
  51. package/dist/src/billing/billing_store.d.ts.map +1 -1
  52. package/dist/src/billing/billing_store.js +18 -1
  53. package/dist/src/billing/billing_store.js.map +1 -1
  54. package/dist/src/billing/index.d.ts +4 -3
  55. package/dist/src/billing/index.d.ts.map +1 -1
  56. package/dist/src/billing/index.js +2 -1
  57. package/dist/src/billing/index.js.map +1 -1
  58. package/dist/src/billing/list_query.d.ts +16 -0
  59. package/dist/src/billing/list_query.d.ts.map +1 -0
  60. package/dist/src/billing/list_query.js +28 -0
  61. package/dist/src/billing/list_query.js.map +1 -0
  62. package/dist/src/billing/lucid_billing_store.d.ts +122 -4
  63. package/dist/src/billing/lucid_billing_store.d.ts.map +1 -1
  64. package/dist/src/billing/lucid_billing_store.js +811 -13
  65. package/dist/src/billing/lucid_billing_store.js.map +1 -1
  66. package/dist/src/billing/mixins/index.d.ts +5 -2
  67. package/dist/src/billing/mixins/index.d.ts.map +1 -1
  68. package/dist/src/billing/mixins/index.js +5 -2
  69. package/dist/src/billing/mixins/index.js.map +1 -1
  70. package/dist/src/billing/mixins/with_audit_event.d.ts +48 -0
  71. package/dist/src/billing/mixins/with_audit_event.d.ts.map +1 -0
  72. package/dist/src/billing/mixins/with_audit_event.js +77 -0
  73. package/dist/src/billing/mixins/with_audit_event.js.map +1 -0
  74. package/dist/src/billing/mixins/with_billable.d.ts.map +1 -1
  75. package/dist/src/billing/mixins/with_customer.d.ts +39 -0
  76. package/dist/src/billing/mixins/with_customer.d.ts.map +1 -0
  77. package/dist/src/billing/mixins/with_customer.js +68 -0
  78. package/dist/src/billing/mixins/with_customer.js.map +1 -0
  79. package/dist/src/billing/mixins/with_dispute.d.ts +68 -0
  80. package/dist/src/billing/mixins/with_dispute.d.ts.map +1 -0
  81. package/dist/src/billing/mixins/with_dispute.js +83 -0
  82. package/dist/src/billing/mixins/with_dispute.js.map +1 -0
  83. package/dist/src/billing/mixins/with_payment.d.ts +42 -0
  84. package/dist/src/billing/mixins/with_payment.d.ts.map +1 -1
  85. package/dist/src/billing/mixins/with_payment.js +29 -3
  86. package/dist/src/billing/mixins/with_payment.js.map +1 -1
  87. package/dist/src/billing/mixins/with_subscription.d.ts +7 -0
  88. package/dist/src/billing/mixins/with_subscription.d.ts.map +1 -1
  89. package/dist/src/billing/mixins/with_subscription.js +15 -1
  90. package/dist/src/billing/mixins/with_subscription.js.map +1 -1
  91. package/dist/src/billing/mixins/with_usage_event.d.ts +7 -0
  92. package/dist/src/billing/mixins/with_usage_event.d.ts.map +1 -1
  93. package/dist/src/billing/mixins/with_usage_event.js +15 -1
  94. package/dist/src/billing/mixins/with_usage_event.js.map +1 -1
  95. package/dist/src/billing/mixins/with_webhook_event.d.ts +18 -0
  96. package/dist/src/billing/mixins/with_webhook_event.d.ts.map +1 -1
  97. package/dist/src/billing/mixins/with_webhook_event.js +18 -1
  98. package/dist/src/billing/mixins/with_webhook_event.js.map +1 -1
  99. package/dist/src/billing/resolve_dispatch.d.ts +22 -0
  100. package/dist/src/billing/resolve_dispatch.d.ts.map +1 -0
  101. package/dist/src/billing/resolve_dispatch.js +44 -0
  102. package/dist/src/billing/resolve_dispatch.js.map +1 -0
  103. package/dist/src/billing/resolve_store.d.ts +18 -0
  104. package/dist/src/billing/resolve_store.d.ts.map +1 -0
  105. package/dist/src/billing/resolve_store.js +35 -0
  106. package/dist/src/billing/resolve_store.js.map +1 -0
  107. package/dist/src/billing/schema.d.ts +108 -0
  108. package/dist/src/billing/schema.d.ts.map +1 -0
  109. package/dist/src/billing/schema.js +350 -0
  110. package/dist/src/billing/schema.js.map +1 -0
  111. package/dist/src/billing/webhook_dispatcher.d.ts +95 -16
  112. package/dist/src/billing/webhook_dispatcher.d.ts.map +1 -1
  113. package/dist/src/billing/webhook_dispatcher.js +186 -33
  114. package/dist/src/billing/webhook_dispatcher.js.map +1 -1
  115. package/dist/src/billing/webhook_events.d.ts +67 -1
  116. package/dist/src/billing/webhook_events.d.ts.map +1 -1
  117. package/dist/src/billing/webhook_events.js +15 -0
  118. package/dist/src/billing/webhook_events.js.map +1 -1
  119. package/dist/src/billing/webhook_processor.d.ts.map +1 -1
  120. package/dist/src/billing/webhook_processor.js +325 -5
  121. package/dist/src/billing/webhook_processor.js.map +1 -1
  122. package/dist/src/client/define_config.d.ts +150 -0
  123. package/dist/src/client/define_config.d.ts.map +1 -0
  124. package/dist/src/client/define_config.js +98 -0
  125. package/dist/src/client/define_config.js.map +1 -0
  126. package/dist/src/client/handlers.d.ts +71 -0
  127. package/dist/src/client/handlers.d.ts.map +1 -0
  128. package/dist/src/client/handlers.js +119 -0
  129. package/dist/src/client/handlers.js.map +1 -0
  130. package/dist/src/client/index.d.ts +15 -0
  131. package/dist/src/client/index.d.ts.map +1 -0
  132. package/dist/src/client/index.js +12 -0
  133. package/dist/src/client/index.js.map +1 -0
  134. package/dist/src/client/statuses.d.ts +38 -0
  135. package/dist/src/client/statuses.d.ts.map +1 -0
  136. package/dist/src/client/statuses.js +42 -0
  137. package/dist/src/client/statuses.js.map +1 -0
  138. package/dist/src/dashboard/actions.d.ts +143 -0
  139. package/dist/src/dashboard/actions.d.ts.map +1 -0
  140. package/dist/src/dashboard/actions.js +112 -0
  141. package/dist/src/dashboard/actions.js.map +1 -0
  142. package/dist/src/dashboard/auth.d.ts +136 -0
  143. package/dist/src/dashboard/auth.d.ts.map +1 -0
  144. package/dist/src/dashboard/auth.js +152 -0
  145. package/dist/src/dashboard/auth.js.map +1 -0
  146. package/dist/src/dashboard/define_config.d.ts +80 -0
  147. package/dist/src/dashboard/define_config.d.ts.map +1 -0
  148. package/dist/src/dashboard/define_config.js +83 -0
  149. package/dist/src/dashboard/define_config.js.map +1 -0
  150. package/dist/src/dashboard/handlers.d.ts +281 -0
  151. package/dist/src/dashboard/handlers.d.ts.map +1 -0
  152. package/dist/src/dashboard/handlers.js +960 -0
  153. package/dist/src/dashboard/handlers.js.map +1 -0
  154. package/dist/src/dashboard/index.d.ts +17 -0
  155. package/dist/src/dashboard/index.d.ts.map +1 -0
  156. package/dist/src/dashboard/index.js +13 -0
  157. package/dist/src/dashboard/index.js.map +1 -0
  158. package/dist/src/dashboard/login_page.d.ts +23 -0
  159. package/dist/src/dashboard/login_page.d.ts.map +1 -0
  160. package/dist/src/dashboard/login_page.js +170 -0
  161. package/dist/src/dashboard/login_page.js.map +1 -0
  162. package/dist/src/dashboard/period.d.ts +31 -0
  163. package/dist/src/dashboard/period.d.ts.map +1 -0
  164. package/dist/src/dashboard/period.js +44 -0
  165. package/dist/src/dashboard/period.js.map +1 -0
  166. package/dist/src/dashboard/session_cookie.d.ts +42 -0
  167. package/dist/src/dashboard/session_cookie.d.ts.map +1 -0
  168. package/dist/src/dashboard/session_cookie.js +97 -0
  169. package/dist/src/dashboard/session_cookie.js.map +1 -0
  170. package/dist/src/dashboard/spa.d.ts +24 -0
  171. package/dist/src/dashboard/spa.d.ts.map +1 -0
  172. package/dist/src/dashboard/spa.js +52 -0
  173. package/dist/src/dashboard/spa.js.map +1 -0
  174. package/dist/src/define_config.d.ts +245 -10
  175. package/dist/src/define_config.d.ts.map +1 -1
  176. package/dist/src/define_config.js +97 -1
  177. package/dist/src/define_config.js.map +1 -1
  178. package/dist/src/diagnostics.d.ts +287 -7
  179. package/dist/src/diagnostics.d.ts.map +1 -1
  180. package/dist/src/diagnostics.js +317 -1
  181. package/dist/src/diagnostics.js.map +1 -1
  182. package/dist/src/driver.d.ts +139 -5
  183. package/dist/src/driver.d.ts.map +1 -1
  184. package/dist/src/drivers/abacate.d.ts +13 -3
  185. package/dist/src/drivers/abacate.d.ts.map +1 -1
  186. package/dist/src/drivers/abacate.js +112 -19
  187. package/dist/src/drivers/abacate.js.map +1 -1
  188. package/dist/src/drivers/adyen.d.ts +164 -0
  189. package/dist/src/drivers/adyen.d.ts.map +1 -0
  190. package/dist/src/drivers/adyen.js +678 -0
  191. package/dist/src/drivers/adyen.js.map +1 -0
  192. package/dist/src/drivers/asaas.d.ts +53 -3
  193. package/dist/src/drivers/asaas.d.ts.map +1 -1
  194. package/dist/src/drivers/asaas.js +364 -29
  195. package/dist/src/drivers/asaas.js.map +1 -1
  196. package/dist/src/drivers/dodo.d.ts +135 -0
  197. package/dist/src/drivers/dodo.d.ts.map +1 -0
  198. package/dist/src/drivers/dodo.js +864 -0
  199. package/dist/src/drivers/dodo.js.map +1 -0
  200. package/dist/src/drivers/efi.d.ts +98 -0
  201. package/dist/src/drivers/efi.d.ts.map +1 -0
  202. package/dist/src/drivers/efi.js +628 -0
  203. package/dist/src/drivers/efi.js.map +1 -0
  204. package/dist/src/drivers/infinitepay.d.ts +156 -0
  205. package/dist/src/drivers/infinitepay.d.ts.map +1 -0
  206. package/dist/src/drivers/infinitepay.js +321 -0
  207. package/dist/src/drivers/infinitepay.js.map +1 -0
  208. package/dist/src/drivers/lemonsqueezy.d.ts +125 -0
  209. package/dist/src/drivers/lemonsqueezy.d.ts.map +1 -0
  210. package/dist/src/drivers/lemonsqueezy.js +632 -0
  211. package/dist/src/drivers/lemonsqueezy.js.map +1 -0
  212. package/dist/src/drivers/mercadopago.d.ts +97 -0
  213. package/dist/src/drivers/mercadopago.d.ts.map +1 -0
  214. package/dist/src/drivers/mercadopago.js +844 -0
  215. package/dist/src/drivers/mercadopago.js.map +1 -0
  216. package/dist/src/drivers/mollie.d.ts +125 -0
  217. package/dist/src/drivers/mollie.d.ts.map +1 -0
  218. package/dist/src/drivers/mollie.js +812 -0
  219. package/dist/src/drivers/mollie.js.map +1 -0
  220. package/dist/src/drivers/paddle.d.ts +148 -0
  221. package/dist/src/drivers/paddle.d.ts.map +1 -0
  222. package/dist/src/drivers/paddle.js +738 -0
  223. package/dist/src/drivers/paddle.js.map +1 -0
  224. package/dist/src/drivers/pagarme.d.ts +97 -0
  225. package/dist/src/drivers/pagarme.d.ts.map +1 -0
  226. package/dist/src/drivers/pagarme.js +829 -0
  227. package/dist/src/drivers/pagarme.js.map +1 -0
  228. package/dist/src/drivers/pagbank.d.ts +57 -0
  229. package/dist/src/drivers/pagbank.d.ts.map +1 -0
  230. package/dist/src/drivers/pagbank.js +499 -0
  231. package/dist/src/drivers/pagbank.js.map +1 -0
  232. package/dist/src/drivers/paypal.d.ts +120 -0
  233. package/dist/src/drivers/paypal.d.ts.map +1 -0
  234. package/dist/src/drivers/paypal.js +891 -0
  235. package/dist/src/drivers/paypal.js.map +1 -0
  236. package/dist/src/drivers/polar.d.ts +118 -0
  237. package/dist/src/drivers/polar.d.ts.map +1 -0
  238. package/dist/src/drivers/polar.js +604 -0
  239. package/dist/src/drivers/polar.js.map +1 -0
  240. package/dist/src/drivers/razorpay.d.ts +103 -0
  241. package/dist/src/drivers/razorpay.d.ts.map +1 -0
  242. package/dist/src/drivers/razorpay.js +867 -0
  243. package/dist/src/drivers/razorpay.js.map +1 -0
  244. package/dist/src/drivers/shared.d.ts +33 -0
  245. package/dist/src/drivers/shared.d.ts.map +1 -0
  246. package/dist/src/drivers/shared.js +37 -0
  247. package/dist/src/drivers/shared.js.map +1 -0
  248. package/dist/src/drivers/square.d.ts +133 -0
  249. package/dist/src/drivers/square.d.ts.map +1 -0
  250. package/dist/src/drivers/square.js +905 -0
  251. package/dist/src/drivers/square.js.map +1 -0
  252. package/dist/src/drivers/stripe.d.ts +41 -4
  253. package/dist/src/drivers/stripe.d.ts.map +1 -1
  254. package/dist/src/drivers/stripe.js +823 -26
  255. package/dist/src/drivers/stripe.js.map +1 -1
  256. package/dist/src/drivers/woovi.d.ts +11 -4
  257. package/dist/src/drivers/woovi.d.ts.map +1 -1
  258. package/dist/src/drivers/woovi.js +162 -29
  259. package/dist/src/drivers/woovi.js.map +1 -1
  260. package/dist/src/ensure_customer.d.ts +34 -1
  261. package/dist/src/ensure_customer.d.ts.map +1 -1
  262. package/dist/src/ensure_customer.js +29 -4
  263. package/dist/src/ensure_customer.js.map +1 -1
  264. package/dist/src/hooks/webhook_handlers.d.ts.map +1 -1
  265. package/dist/src/hooks/webhook_handlers.js.map +1 -1
  266. package/dist/src/http.d.ts +37 -3
  267. package/dist/src/http.d.ts.map +1 -1
  268. package/dist/src/http.js +69 -5
  269. package/dist/src/http.js.map +1 -1
  270. package/dist/src/index.d.ts +54 -26
  271. package/dist/src/index.d.ts.map +1 -1
  272. package/dist/src/index.js +29 -12
  273. package/dist/src/index.js.map +1 -1
  274. package/dist/src/invoice/drivers/asaas.d.ts.map +1 -1
  275. package/dist/src/invoice/drivers/asaas.js.map +1 -1
  276. package/dist/src/invoice/drivers/enotas.d.ts.map +1 -1
  277. package/dist/src/invoice/drivers/enotas.js.map +1 -1
  278. package/dist/src/invoice/drivers/focus.d.ts.map +1 -1
  279. package/dist/src/invoice/drivers/focus.js.map +1 -1
  280. package/dist/src/invoice/drivers/plugnotas.d.ts.map +1 -1
  281. package/dist/src/invoice/drivers/plugnotas.js.map +1 -1
  282. package/dist/src/invoice/drivers/tecnospeed.d.ts.map +1 -1
  283. package/dist/src/invoice/drivers/tecnospeed.js.map +1 -1
  284. package/dist/src/invoice/emit_invoice.d.ts.map +1 -1
  285. package/dist/src/invoice/emit_invoice.js +31 -11
  286. package/dist/src/invoice/emit_invoice.js.map +1 -1
  287. package/dist/src/invoice/invoice_manager.d.ts.map +1 -1
  288. package/dist/src/money.d.ts +23 -5
  289. package/dist/src/money.d.ts.map +1 -1
  290. package/dist/src/money.js +72 -7
  291. package/dist/src/money.js.map +1 -1
  292. package/dist/src/payments_manager.d.ts +8 -1
  293. package/dist/src/payments_manager.d.ts.map +1 -1
  294. package/dist/src/payments_manager.js +168 -6
  295. package/dist/src/payments_manager.js.map +1 -1
  296. package/dist/src/services/main.d.ts +38 -0
  297. package/dist/src/services/main.d.ts.map +1 -1
  298. package/dist/src/services/main.js +130 -0
  299. package/dist/src/services/main.js.map +1 -1
  300. package/dist/src/telescope/index.d.ts +2 -0
  301. package/dist/src/telescope/index.d.ts.map +1 -1
  302. package/dist/src/telescope/index.js +1 -0
  303. package/dist/src/telescope/index.js.map +1 -1
  304. package/dist/src/telescope/payments_watcher.d.ts +10 -4
  305. package/dist/src/telescope/payments_watcher.d.ts.map +1 -1
  306. package/dist/src/telescope/payments_watcher.js +66 -14
  307. package/dist/src/telescope/payments_watcher.js.map +1 -1
  308. package/dist/src/telescope/register.d.ts +62 -0
  309. package/dist/src/telescope/register.d.ts.map +1 -0
  310. package/dist/src/telescope/register.js +48 -0
  311. package/dist/src/telescope/register.js.map +1 -0
  312. package/dist/src/testing/fake_payments.d.ts +62 -0
  313. package/dist/src/testing/fake_payments.d.ts.map +1 -0
  314. package/dist/src/testing/fake_payments.js +82 -0
  315. package/dist/src/testing/fake_payments.js.map +1 -0
  316. package/dist/src/testing/fake_payments_driver.d.ts +1 -1
  317. package/dist/src/testing/fake_payments_driver.d.ts.map +1 -1
  318. package/dist/src/testing/fake_payments_driver.js.map +1 -1
  319. package/dist/src/testing/in_memory_billing_store.d.ts +151 -2
  320. package/dist/src/testing/in_memory_billing_store.d.ts.map +1 -1
  321. package/dist/src/testing/in_memory_billing_store.js +517 -4
  322. package/dist/src/testing/in_memory_billing_store.js.map +1 -1
  323. package/dist/src/testing/index.d.ts +3 -2
  324. package/dist/src/testing/index.d.ts.map +1 -1
  325. package/dist/src/testing/index.js +1 -0
  326. package/dist/src/testing/index.js.map +1 -1
  327. package/dist/src/testing/mutable_clock.d.ts.map +1 -1
  328. package/dist/src/types.d.ts +161 -5
  329. package/dist/src/types.d.ts.map +1 -1
  330. package/dist/src/types.js +30 -1
  331. package/dist/src/types.js.map +1 -1
  332. package/dist/src/webhook_handlers.d.ts +96 -2
  333. package/dist/src/webhook_handlers.d.ts.map +1 -1
  334. package/dist/src/webhook_handlers.js +91 -10
  335. package/dist/src/webhook_handlers.js.map +1 -1
  336. package/dist/src/webhook_security.d.ts +94 -3
  337. package/dist/src/webhook_security.d.ts.map +1 -1
  338. package/dist/src/webhook_security.js +173 -9
  339. package/dist/src/webhook_security.js.map +1 -1
  340. package/dist/stubs/config/payments.stub +13 -0
  341. package/dist/stubs/config/payments_client.stub +42 -0
  342. package/dist/stubs/config/payments_dashboard.stub +38 -0
  343. package/dist/stubs/database/migrations/create_billing_tables.stub +35 -77
  344. package/dist/stubs/main.js.map +1 -1
  345. package/dist/stubs/make/webhook_handler/main.stub +29 -11
  346. package/package.json +67 -32
@@ -1,5 +1,5 @@
1
1
  import type { AbacateDriverConfig } from '../define_config.js';
2
- import type { ChargeInput, CheckoutInput, CreateCustomerInput, CreateSubscriptionInput, PaymentsDriver, UpdateCustomerInput, UpdateSubscriptionInput } from '../driver.js';
2
+ import type { ChargeInput, CheckoutInput, CreateCustomerInput, CreateSubscriptionInput, PaymentsDriver, UpdateCustomerInput, UpdateSubscriptionInput, WebhookVerificationState } from '../driver.js';
3
3
  import type { EmitInvoiceContext } from '../invoice/emit_invoice.js';
4
4
  import type { CheckoutSession, Customer, Invoice, Money, Payment, Refund, Subscription, WebhookEvent } from '../types.js';
5
5
  /**
@@ -10,9 +10,10 @@ import type { CheckoutSession, Customer, Invoice, Money, Payment, Refund, Subscr
10
10
  export declare class AbacateDriver implements PaymentsDriver {
11
11
  #private;
12
12
  readonly provider = "abacate";
13
- readonly supportedMethods: readonly ["pix", "boleto", "undefined"];
13
+ readonly supportedMethods: readonly ['pix', 'boleto', 'undefined'];
14
14
  readonly capabilities: {
15
15
  refunds: boolean;
16
+ invoices: boolean;
16
17
  subscriptions: boolean;
17
18
  };
18
19
  constructor(ctx: EmitInvoiceContext, config?: AbacateDriverConfig);
@@ -21,7 +22,9 @@ export declare class AbacateDriver implements PaymentsDriver {
21
22
  updateCustomer(customerId: string, input: UpdateCustomerInput): Promise<Customer>;
22
23
  charge(input: ChargeInput): Promise<Payment>;
23
24
  findPayment(gatewayId: string): Promise<Payment | null>;
24
- refund(paymentGatewayId: string, _amount?: Money): Promise<Refund>;
25
+ refund(paymentGatewayId: string, _amount?: Money, options?: {
26
+ idempotencyKey?: string;
27
+ }): Promise<Refund>;
25
28
  createCheckout(input: CheckoutInput): Promise<CheckoutSession>;
26
29
  createSubscription(input: CreateSubscriptionInput): Promise<Subscription>;
27
30
  cancelSubscription(subscriptionGatewayId: string, _options?: {
@@ -30,6 +33,13 @@ export declare class AbacateDriver implements PaymentsDriver {
30
33
  findSubscription(gatewayId: string): Promise<Subscription | null>;
31
34
  updateSubscription(subscriptionGatewayId: string, input: UpdateSubscriptionInput): Promise<Subscription>;
32
35
  listInvoices(customerId: string): Promise<Invoice[]>;
36
+ /**
37
+ * Whether a delivery to `POST /payments/webhook/:provider` can be authenticated.
38
+ *
39
+ * AbacatePay signs the body with the dashboard public key. Without it `parseWebhook` skips
40
+ * the HMAC check entirely and every POST to the route is accepted.
41
+ */
42
+ get webhookVerification(): WebhookVerificationState;
33
43
  parseWebhook(rawBody: string, headers: Record<string, string | string[] | undefined>): WebhookEvent;
34
44
  }
35
45
  //# sourceMappingURL=abacate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abacate.d.ts","sourceRoot":"","sources":["../../../src/drivers/abacate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM/D,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,YAAY,EACZ,YAAY,EACb,MAAM,aAAa,CAAC;AA+CrB;;;;GAIG;AACH,qBAAa,aAAc,YAAW,cAAc;;IAClD,QAAQ,CAAC,QAAQ,aAAa;IAE9B,QAAQ,CAAC,gBAAgB,0CAA2C;IACpE,QAAQ,CAAC,YAAY;;;MAA0C;gBAOnD,GAAG,EAAE,kBAAkB,EAAE,MAAM,GAAE,mBAAwB;IAiB/D,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAY7D,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAU1D,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAcjF,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAyE5C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAUvD,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBlE,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IA6B9D,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC;IAgBzE,kBAAkB,CACtB,qBAAqB,EAAE,MAAM,EAC7B,QAAQ,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC,YAAY,CAAC;IAUlB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAYjE,kBAAkB,CACtB,qBAAqB,EAAE,MAAM,EAC7B,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,YAAY,CAAC;IAgBlB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAsB1D,YAAY,CACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,YAAY;CAuIhB"}
1
+ {"version":3,"file":"abacate.d.ts","sourceRoot":"","sources":["../../../src/drivers/abacate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAM/D,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,OAAO,EACP,KAAK,EACL,OAAO,EACP,MAAM,EACN,YAAY,EACZ,YAAY,EACb,MAAM,aAAa,CAAC;AA+CrB;;;;GAIG;AACH,qBAAa,aAAc,YAAW,cAAc;;IAClD,QAAQ,CAAC,QAAQ,aAAa;IAE9B,QAAQ,CAAC,gBAAgB,YAAI,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAW;IACpE,QAAQ,CAAC,YAAY;QAAK,OAAO;QAAQ,QAAQ;QAAQ,aAAa;MAAS;IAO/E,YAAY,GAAG,EAAE,kBAAkB,EAAE,MAAM,GAAE,mBAAwB,EAapE;IAIK,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAWlE;IAEK,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQ/D;IAEK,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAUtF;IAIK,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CA4BjD;IAmDK,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAQ5D;IAEK,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,KAAK,EACf,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,MAAM,CAAC,CAsBjB;IAIK,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAmCnE;IAIK,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,CAgB9E;IAEK,kBAAkB,CACtB,qBAAqB,EAAE,MAAM,EAC7B,QAAQ,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO,CAAC,YAAY,CAAC,CAQvB;IAEK,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAUtE;IAEK,kBAAkB,CACtB,qBAAqB,EAAE,MAAM,EAC7B,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,YAAY,CAAC,CAcvB;IAIK,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAkBzD;IAID;;;;;OAKG;IACH,IAAI,mBAAmB,IAAI,wBAAwB,CAElD;IAED,YAAY,CACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,YAAY,CA4Bd;CA+KF"}
@@ -1,7 +1,7 @@
1
+ import { createHash } from 'node:crypto';
1
2
  import { publishPaymentDiagnostics, publishRefundDiagnostics, publishSubscriptionDiagnostics, } from '../diagnostics.js';
2
3
  import { headerValue, httpRequest, isNotFound } from '../http.js';
3
4
  import { emitInvoiceIfRequested } from '../invoice/emit_invoice.js';
4
- import { fromDecimal, toDecimal } from '../money.js';
5
5
  import { verifyHmacSignature } from '../webhook_security.js';
6
6
  /**
7
7
  * AbacatePay driver — Brazilian gateway for Pix and card payments with a developer-first
@@ -12,7 +12,7 @@ export class AbacateDriver {
12
12
  provider = 'abacate';
13
13
  // AbacatePay is Pix-first — no credit card.
14
14
  supportedMethods = ['pix', 'boleto', 'undefined'];
15
- capabilities = { refunds: true, subscriptions: true };
15
+ capabilities = { refunds: true, invoices: true, subscriptions: true };
16
16
  #baseUrl;
17
17
  #publicKey;
18
18
  #invoiceCtx;
@@ -31,6 +31,7 @@ export class AbacateDriver {
31
31
  }
32
32
  // ── Customers ────────────────────────────────────────────────────────────────────────
33
33
  async createCustomer(input) {
34
+ this.#refuseIdempotencyKey(input.idempotencyKey, 'createCustomer');
34
35
  const data = await this.#request('/customer/create', {
35
36
  method: 'POST',
36
37
  body: {
@@ -125,10 +126,14 @@ export class AbacateDriver {
125
126
  createdAt: new Date().toISOString(),
126
127
  payload: data,
127
128
  };
128
- if (data.brCodeBase64)
129
+ if (data.brCodeBase64) {
130
+ result.pixQrCodeImage = data.brCodeBase64;
129
131
  result.pixQrCode = data.brCodeBase64;
130
- if (data.brCode)
132
+ }
133
+ if (data.brCode) {
134
+ result.pixCode = data.brCode;
131
135
  result.pixCopiaECola = data.brCode;
136
+ }
132
137
  if (data.url)
133
138
  result.hostedUrl = data.url;
134
139
  return result;
@@ -144,7 +149,8 @@ export class AbacateDriver {
144
149
  throw error;
145
150
  }
146
151
  }
147
- async refund(paymentGatewayId, _amount) {
152
+ async refund(paymentGatewayId, _amount, options) {
153
+ this.#refuseIdempotencyKey(options?.idempotencyKey, 'refund');
148
154
  const data = await this.#request(`/billing/refund/${paymentGatewayId}`, {
149
155
  method: 'POST',
150
156
  body: {},
@@ -154,7 +160,7 @@ export class AbacateDriver {
154
160
  gatewayId: data.id,
155
161
  provider: this.provider,
156
162
  amount: {
157
- amount: data.amount !== undefined ? fromDecimal(data.amount) : 0,
163
+ amount: data.amount !== undefined ? Math.round(data.amount) : 0,
158
164
  currency: data.currency ?? 'brl',
159
165
  },
160
166
  status: 'succeeded',
@@ -172,7 +178,15 @@ export class AbacateDriver {
172
178
  method: 'POST',
173
179
  body: {
174
180
  customerId: input.customerId,
175
- amount: toDecimal(input.amount),
181
+ // Centavos, straight through. AbacatePay documents it outright — "valores
182
+ // monetários são sempre em centavos (ex.: 10000 = R$ 100,00)" — which is the same
183
+ // integer minor unit this package uses, so there is nothing to convert.
184
+ //
185
+ // This ran `toDecimal` and created a checkout for **1/100 of the amount**: R$19,90
186
+ // went out as `19.9` and AbacatePay read 19 centavos. `charge()` on the neighbouring
187
+ // v2 endpoint always passed the integer through, so the driver disagreed with itself
188
+ // and the two paths were never compared.
189
+ amount: input.amount,
176
190
  ...(input.description !== undefined ? { description: input.description } : {}),
177
191
  },
178
192
  });
@@ -183,20 +197,24 @@ export class AbacateDriver {
183
197
  url: data.url ?? '',
184
198
  status: 'open',
185
199
  amount: {
186
- amount: data.amount !== undefined ? fromDecimal(data.amount) : input.amount,
200
+ amount: data.amount !== undefined ? Math.round(data.amount) : input.amount,
187
201
  currency: data.currency ?? 'brl',
188
202
  },
189
203
  customerId: input.customerId,
190
- ...(data.pix?.copiaECola !== undefined ? { pixCopiaECola: data.pix.copiaECola } : {}),
204
+ ...(data.pix?.copiaECola !== undefined
205
+ ? { pixCode: data.pix.copiaECola, pixCopiaECola: data.pix.copiaECola }
206
+ : {}),
191
207
  };
192
208
  }
193
209
  // ── Subscriptions ────────────────────────────────────────────────────────────────────
194
210
  async createSubscription(input) {
211
+ this.#refuseIdempotencyKey(input.idempotencyKey, 'createSubscription');
195
212
  const data = await this.#request('/subscription/create', {
196
213
  method: 'POST',
197
214
  body: {
198
215
  customerId: input.customerId,
199
- ...(input.amount !== undefined ? { amount: toDecimal(input.amount) } : {}),
216
+ // Centavos — see the note in `createCheckout`.
217
+ ...(input.amount !== undefined ? { amount: input.amount } : {}),
200
218
  frequency: input.cycle ?? 'MONTHLY',
201
219
  ...(input.startDate !== undefined ? { nextBillingAt: input.startDate } : {}),
202
220
  ...(input.description !== undefined ? { description: input.description } : {}),
@@ -224,10 +242,12 @@ export class AbacateDriver {
224
242
  }
225
243
  }
226
244
  async updateSubscription(subscriptionGatewayId, input) {
245
+ this.#refuseIdempotencyKey(input.idempotencyKey, 'updateSubscription');
227
246
  const data = await this.#request(`/subscription/update/${subscriptionGatewayId}`, {
228
247
  method: 'PATCH',
229
248
  body: {
230
- ...(input.amount !== undefined ? { amount: toDecimal(input.amount) } : {}),
249
+ // Centavos — see the note in `createCheckout`.
250
+ ...(input.amount !== undefined ? { amount: input.amount } : {}),
231
251
  ...(input.description !== undefined ? { description: input.description } : {}),
232
252
  },
233
253
  });
@@ -243,7 +263,7 @@ export class AbacateDriver {
243
263
  customerId,
244
264
  status: billing.status === 'PAID' ? 'paid' : billing.status === 'CANCELED' ? 'void' : 'open',
245
265
  amount: {
246
- amount: billing.amount !== undefined ? fromDecimal(billing.amount) : 0,
266
+ amount: billing.amount !== undefined ? Math.round(billing.amount) : 0,
247
267
  currency: billing.currency ?? 'brl',
248
268
  },
249
269
  createdAt: billing.createdAt ?? new Date().toISOString(),
@@ -252,6 +272,15 @@ export class AbacateDriver {
252
272
  }));
253
273
  }
254
274
  // ── Webhooks ─────────────────────────────────────────────────────────────────────────
275
+ /**
276
+ * Whether a delivery to `POST /payments/webhook/:provider` can be authenticated.
277
+ *
278
+ * AbacatePay signs the body with the dashboard public key. Without it `parseWebhook` skips
279
+ * the HMAC check entirely and every POST to the route is accepted.
280
+ */
281
+ get webhookVerification() {
282
+ return this.#publicKey !== undefined ? 'configured' : 'unconfigured';
283
+ }
255
284
  parseWebhook(rawBody, headers) {
256
285
  // AbacatePay signs the raw body with HMAC-SHA256 (base64) in `x-webhook-signature`,
257
286
  // keyed by the public key from the dashboard. Strict when a key is configured.
@@ -264,14 +293,43 @@ export class AbacateDriver {
264
293
  const payload = JSON.parse(rawBody);
265
294
  const event = payload.event ?? 'unknown';
266
295
  return {
267
- id: payload.id ?? `${event}-${Math.random()}`,
296
+ // A CONTENT hash, never a random id. A payload with no id used to get a fresh
297
+ // `Math.random()` on every delivery, so the ledger saw each redelivery as a new
298
+ // event and processed it again — the exact double-grant the ledger exists to stop.
299
+ id: payload.id ??
300
+ `${event}-${createHash('sha256').update(rawBody, 'utf8').digest('hex').slice(0, 32)}`,
268
301
  provider: this.provider,
269
302
  type: this.#mapWebhookType(event),
270
303
  createdAt: new Date().toISOString(),
271
- data: payload.data ?? {},
304
+ data: this.#mapWebhookData(payload.data),
272
305
  raw: payload,
273
306
  };
274
307
  }
308
+ /**
309
+ * The normalized shape the built-in sync needs (`gatewayId`, `amount`, `currency`).
310
+ *
311
+ * This used to hand the processor AbacatePay's raw `data`, which its shape guard
312
+ * rejected — so every AbacatePay webhook was ledgered, threw `Malformed`, and was retried
313
+ * forever while the billing tables never learned the payment was paid. `raw` still
314
+ * carries the original.
315
+ */
316
+ #mapWebhookData(data) {
317
+ if (data === undefined)
318
+ return {};
319
+ const billing = (data.billing ?? data);
320
+ if (billing?.id === undefined)
321
+ return data;
322
+ const payment = this.#mapPayment(billing);
323
+ return {
324
+ gatewayId: payment.gatewayId,
325
+ amount: payment.amount.amount,
326
+ currency: payment.amount.currency,
327
+ ...(payment.customerId !== undefined ? { customerId: payment.customerId } : {}),
328
+ ...(typeof billing.externalId === 'string'
329
+ ? { externalReference: billing.externalId }
330
+ : {}),
331
+ };
332
+ }
275
333
  // ── Mappers ──────────────────────────────────────────────────────────────────────────
276
334
  #mapCustomer(data) {
277
335
  return {
@@ -288,7 +346,7 @@ export class AbacateDriver {
288
346
  gatewayId: data.id,
289
347
  provider: this.provider,
290
348
  amount: {
291
- amount: data.amount !== undefined ? fromDecimal(data.amount) : 0,
349
+ amount: data.amount !== undefined ? Math.round(data.amount) : 0,
292
350
  currency: data.currency ?? 'brl',
293
351
  },
294
352
  status: data.status === 'PAID' || data.status === 'COMPLETED'
@@ -303,10 +361,14 @@ export class AbacateDriver {
303
361
  };
304
362
  if (customerId !== undefined)
305
363
  result.customerId = customerId;
306
- if (data.pix?.qrCode !== undefined)
364
+ if (data.pix?.qrCode !== undefined) {
365
+ result.pixQrCodeImage = data.pix.qrCode;
307
366
  result.pixQrCode = data.pix.qrCode;
308
- if (data.pix?.copiaECola !== undefined)
367
+ }
368
+ if (data.pix?.copiaECola !== undefined) {
369
+ result.pixCode = data.pix.copiaECola;
309
370
  result.pixCopiaECola = data.pix.copiaECola;
371
+ }
310
372
  if (data.url !== undefined)
311
373
  result.hostedUrl = data.url;
312
374
  if (data.paidAt !== undefined)
@@ -328,7 +390,7 @@ export class AbacateDriver {
328
390
  status: statusMap[data.status] ?? 'active',
329
391
  planId: data.frequency ?? '',
330
392
  amount: {
331
- amount: data.amount !== undefined ? fromDecimal(data.amount) : 0,
393
+ amount: data.amount !== undefined ? Math.round(data.amount) : 0,
332
394
  currency: 'brl',
333
395
  },
334
396
  ...(data.nextBillingAt !== undefined ? { endsAt: data.nextBillingAt } : {}),
@@ -344,9 +406,24 @@ export class AbacateDriver {
344
406
  case 'checkout.refunded':
345
407
  case 'transparent.refunded':
346
408
  return 'payment.refunded';
409
+ // "Disputa/chargeback aberta em um checkout" / "…em um pagamento transparente" — the
410
+ // dispute is OPENED here. It used to arrive as `payment.failed`, which files a
411
+ // chargeback as a payment that never went through: the row stopped saying `paid`, but
412
+ // it said the wrong thing, and the customer whose access has to be reconsidered was
413
+ // never flagged.
414
+ //
415
+ // These two are AbacatePay's ENTIRE dispute vocabulary. Its published webhook event
416
+ // list has no fraud alert, no retrieval request, no "chargeback incoming" — so there
417
+ // is no `payment.dispute_warning` to map — and no won/lost/reversed event either, so
418
+ // no `payment.dispute_closed`: the outcome never reaches you as a webhook at all.
419
+ //
420
+ // AbacatePay also does not say whether the funds are withdrawn when this fires, and
421
+ // publishes no payload example for it and no response deadline anywhere. The mapping
422
+ // therefore stays where it is rather than being demoted to a warning on a guess: a
423
+ // filed dispute is what `payment.disputed` names. See the provider docs page.
347
424
  case 'checkout.disputed':
348
425
  case 'transparent.disputed':
349
- return 'payment.failed';
426
+ return 'payment.disputed';
350
427
  case 'subscription.completed':
351
428
  return 'subscription.created';
352
429
  case 'subscription.renewed':
@@ -357,6 +434,22 @@ export class AbacateDriver {
357
434
  return event;
358
435
  }
359
436
  }
437
+ /**
438
+ * AbacatePay documents no idempotency mechanism — the only request header on any
439
+ * endpoint is `Authorization`, and its own guidance mentions idempotency solely for
440
+ * consuming webhooks (dedupe on the event `id`). Accepting the key and dropping it
441
+ * would turn a caller's retry guarantee into a second refund or a second subscription,
442
+ * so the driver refuses it instead.
443
+ *
444
+ * `charge()` is not an exception to this: there `idempotencyKey` has never meant
445
+ * deduplication, it is a legacy fallback for `externalReference` (sent as the
446
+ * transparent checkout's `externalId`) and is documented as such.
447
+ */
448
+ #refuseIdempotencyKey(key, operation) {
449
+ if (key === undefined)
450
+ return;
451
+ throw new Error(`[payments] AbacatePay has no idempotency mechanism, so \`${operation}\` cannot honour an idempotencyKey — no AbacatePay endpoint documents an idempotency header or field. Deduplicate before you call.`);
452
+ }
360
453
  #mapMethod(method) {
361
454
  switch (method) {
362
455
  case 'pix':
@@ -1 +1 @@
1
- {"version":3,"file":"abacate.js","sourceRoot":"","sources":["../../../src/drivers/abacate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abacate.js","sourceRoot":"","sources":["../../../src/drivers/abacate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,164 @@
1
+ import type { ChargeInput, CheckoutInput, CreateCustomerInput, CreateSubscriptionInput, PaymentsDriver, UpdateCustomerInput, UpdateSubscriptionInput, WebhookVerificationState } from '../driver.js';
2
+ import type { EmitInvoiceContext } from '../invoice/emit_invoice.js';
3
+ import type { CheckoutSession, Customer, Dispute, DisputeEvidence, Invoice, Money, Payment, Refund, Subscription, WebhookEvent } from '../types.js';
4
+ /** Config for `payments.adyen()`. Multi-currency and merchant-scoped, so both are required. */
5
+ export interface AdyenDriverConfig {
6
+ /** Adyen API key, sent as `X-API-Key`. Defaults to `env.get('ADYEN_API_KEY')`. */
7
+ apiKey?: string;
8
+ /**
9
+ * The merchant account every Checkout call is scoped to (Customer Area → the account
10
+ * code, not the company account). Defaults to `env.get('ADYEN_MERCHANT_ACCOUNT')`.
11
+ */
12
+ merchantAccount?: string;
13
+ /**
14
+ * Currency for calls that don't name one (lowercase ISO 4217). **Required** — Adyen
15
+ * charges whatever currency you send it, so a default would be a guess at the country
16
+ * the app bills in, and the wrong guess still takes money.
17
+ */
18
+ currency: string;
19
+ /**
20
+ * The webhook HMAC key generated in the Customer Area — a **hex** string. Defaults to
21
+ * `env.get('ADYEN_HMAC_KEY')`. When set, a webhook without a valid
22
+ * `additionalData.hmacSignature` is rejected.
23
+ */
24
+ hmacKey?: string;
25
+ /**
26
+ * Live only: your account's URL prefix (Customer Area → Developers → API URLs), the
27
+ * `{prefix}` in `https://{prefix}-checkout-live.adyenpayments.com`. Defaults to
28
+ * `env.get('ADYEN_LIVE_URL_PREFIX')`.
29
+ */
30
+ liveUrlPrefix?: string;
31
+ /** Which Adyen environment to talk to. Defaults to test unless `NODE_ENV=production`. */
32
+ environment?: 'test' | 'live';
33
+ /**
34
+ * Whether the merchant account captures automatically (Adyen's default) or waits for a
35
+ * capture request. Defaults to `'automatic'`, which is what a fresh Adyen account does.
36
+ *
37
+ * This has to be configuration because the Checkout API will not tell you: `captureDelay`
38
+ * lives on the **Management** API (`GET /merchants/{merchantId}`), which this driver does
39
+ * not talk to, and the `/payments` response is identical in both modes. It changes what
40
+ * `Authorised` means — settled money, or a hold that expires — so the driver asks rather
41
+ * than guessing, and the wrong guess is the expensive kind: a hold read as revenue.
42
+ */
43
+ captureMode?: 'automatic' | 'manual';
44
+ }
45
+ /**
46
+ * Adyen driver — Checkout API v71, `X-API-Key` auth, merchant-account scoped.
47
+ *
48
+ * Adyen is a processor, not a billing system, and this driver refuses rather than
49
+ * pretends where the two disagree: there is no customer resource (a `shopperReference` is
50
+ * a string you invent), no endpoint that reads a payment back by its `pspReference`, and
51
+ * no subscription object at all — recurring billing at Adyen is you charging a stored
52
+ * token on your own schedule. Money is already an integer in minor units
53
+ * (`{ "value": 1990, "currency": "EUR" }`), so nothing here converts it.
54
+ */
55
+ export declare class AdyenDriver implements PaymentsDriver {
56
+ #private;
57
+ readonly provider = "adyen";
58
+ /**
59
+ * `charge()` sends a stored card token (`paymentMethod.type: 'scheme'`), and
60
+ * `createCheckout()` opens a Pay by Link page where the shopper picks. Adyen's other
61
+ * ~100 local methods only reach a shopper through Drop-in/Components, which this driver
62
+ * does not front, and the `PaymentMethodName` union has no name for them anyway.
63
+ */
64
+ readonly supportedMethods: readonly ['credit_card', 'undefined'];
65
+ /**
66
+ * No invoice resource in the Checkout API, and no subscription resource anywhere.
67
+ *
68
+ * `disputes: false` is deliberate and is NOT "Adyen has no dispute API" — it has one,
69
+ * Defend Disputes v30, and this driver cannot honestly drive it through the shared
70
+ * contract: v30 has no endpoint that reads a dispute back, and a defense is a
71
+ * scheme-specific `defenseReasonCode` plus base64 documents, none of which
72
+ * `DisputeEvidence` can carry. `findDispute` and `submitDisputeEvidence` below say so
73
+ * in full rather than leaving a caller with a missing method.
74
+ */
75
+ readonly capabilities: {
76
+ disputes: boolean;
77
+ refunds: boolean;
78
+ invoices: boolean;
79
+ subscriptions: boolean;
80
+ };
81
+ constructor(ctx: EmitInvoiceContext, config: AdyenDriverConfig);
82
+ createCustomer(_input: CreateCustomerInput): Promise<Customer>;
83
+ findCustomer(_customerId: string): Promise<Customer | null>;
84
+ updateCustomer(_customerId: string, _input: UpdateCustomerInput): Promise<Customer>;
85
+ charge(input: ChargeInput): Promise<Payment>;
86
+ findPayment(_gatewayId: string): Promise<Payment | null>;
87
+ refund(paymentGatewayId: string, amount?: Money, options?: {
88
+ idempotencyKey?: string;
89
+ }): Promise<Refund>;
90
+ createCheckout(input: CheckoutInput): Promise<CheckoutSession>;
91
+ createSubscription(_input: CreateSubscriptionInput): Promise<Subscription>;
92
+ cancelSubscription(_subscriptionGatewayId: string, _options?: {
93
+ atPeriodEnd?: boolean;
94
+ }): Promise<Subscription>;
95
+ updateSubscription(_subscriptionGatewayId: string, _input: UpdateSubscriptionInput): Promise<Subscription>;
96
+ findSubscription(_gatewayId: string): Promise<Subscription | null>;
97
+ listInvoices(_customerId: string): Promise<Invoice[]>;
98
+ /**
99
+ * Adyen has no endpoint that reads a dispute back, so this refuses instead of inventing
100
+ * one.
101
+ *
102
+ * Defend Disputes v30 is five POSTs — `retrieveApplicableDefenseReasons`,
103
+ * `supplyDefenseDocument`, `defendDispute`, `acceptDispute`,
104
+ * `deleteDisputeDefenseDocument` — and every one of them is an action. None returns the
105
+ * dispute's status, amount, reason or deadline, which means a `Dispute` built here would
106
+ * have those fields invented.
107
+ */
108
+ findDispute(_disputeGatewayId: string): Promise<Dispute | null>;
109
+ /**
110
+ * A defense at Adyen cannot be expressed as a {@link DisputeEvidence}, so this refuses
111
+ * and says what to call instead.
112
+ *
113
+ * Adyen's flow is `retrieveApplicableDefenseReasons` → `supplyDefenseDocument` (once per
114
+ * document) → `defendDispute`, and it turns on a **`defenseReasonCode`** the scheme
115
+ * defines per reason code — there is no free-text evidence object anywhere in it. The
116
+ * shared shape has no field for that code, no way to carry a document's bytes
117
+ * (`documentIds` are ids Adyen never issues; v30 takes base64 `content` plus
118
+ * `contentType` and `defenseDocumentTypeCode` inline), and no home at all for
119
+ * `explanation`, `receiptUrl` or the customer fields. Mapping it anyway would drop the
120
+ * defense reason, which is the entire defense.
121
+ *
122
+ * Two more things a mapping would have to paper over, both real: the API lives on a
123
+ * different host from Checkout v71 (`ca-{test,live}.adyen.com/ca/services/DisputeService
124
+ * /v30`, which this driver's `#request` does not reach), and it needs an API credential
125
+ * with the "API dispute management" role, which the Checkout key usually is not.
126
+ */
127
+ submitDisputeEvidence(_disputeGatewayId: string, _evidence: DisputeEvidence): Promise<Dispute>;
128
+ /**
129
+ * Verify Adyen's HMAC and normalize the delivery into one event per notification item.
130
+ *
131
+ * The signature covers eight fields of the notification item, colon-joined in a fixed
132
+ * order with empty strings for the absent ones, HMAC-SHA256 under the **hex-decoded**
133
+ * Customer Area key, base64-encoded, and delivered inside the item's `additionalData`.
134
+ * Adyen's own Node, PHP, Java and Python libraries all join those fields *without*
135
+ * escaping — the `\` → `\\`, `:` → `\:` rule belongs to the classic HPP/dictionary
136
+ * signature, not to this one — so this does the same, and a merchant reference
137
+ * containing a colon signs identically here and at Adyen.
138
+ *
139
+ * **The signature is PER ITEM, not per request.** Adyen's reference is explicit that for
140
+ * standard webhooks the signature is provided inside each notification's `additionalData`
141
+ * (only some other webhook families sign the request as a whole, in a header), and its own
142
+ * PHP sample loops the array calling `isValidNotificationHMAC` on every item. Nothing
143
+ * signs the envelope, so an attacker holding one genuine item can append any items they
144
+ * like beside it — verifying the first and trusting the rest would accept every one of
145
+ * them. Every item is verified, before any of them is mapped, and one bad signature
146
+ * rejects the whole delivery: mapping is pointless work once the body is known to be
147
+ * partly forged, and a 400 is the honest answer to a request that was tampered with.
148
+ *
149
+ * **Batches.** Adyen documents that JSON and HTTP POST webhooks carry a single
150
+ * notification item, and that only the legacy SOAP transport may batch (up to six items
151
+ * when events land in rapid succession). This driver speaks JSON, so the array is one item
152
+ * in practice — but it is an array in the schema, so the driver reads all of it and
153
+ * returns one {@link WebhookEvent} per item. A single item still returns a single event,
154
+ * not an array of one.
155
+ */
156
+ /**
157
+ * Whether a delivery to `POST /payments/webhook/:provider` can be authenticated.
158
+ *
159
+ * Without the HMAC key every `notificationItem` is taken on trust.
160
+ */
161
+ get webhookVerification(): WebhookVerificationState;
162
+ parseWebhook(rawBody: string, _headers: Record<string, string | string[] | undefined>): WebhookEvent | WebhookEvent[];
163
+ }
164
+ //# sourceMappingURL=adyen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adyen.d.ts","sourceRoot":"","sources":["../../../src/drivers/adyen.ts"],"names":[],"mappings":"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"}